This commit is contained in:
SepComet
2026-04-30 15:35:50 +08:00
parent 1422db3b19
commit eec09a0bb4
103 changed files with 0 additions and 24255 deletions
-255
View File
@@ -1,255 +0,0 @@
# CodeX M2 执行计划
> 依据:`docs/TODO.md` 当前口径,默认 `M1` 已完成并已收口。
> 目标:把 `M2(P1)- 核心深度` 拆成可直接开工的执行顺序、具体工作包与验收边界。
## 当前代码现状判断
- `EventNodeComponent`、`DREvent`、`EventForm` 已有最小骨架,`Event.txt` 已有 3 个样例事件,但 `EventFormUseCase.SelectOption()` 仍停留在 `TODO`,尚未真正执行条件校验、概率结算、消耗/奖励效果。
- `ShopNodeComponent` 与 `ShopFormUseCase` 已支持“生成 4 个商品并购买组件”的最小链路,但还没有出售、复杂定价、耐久折价、卖塔加成,也没有把商店能力沉到统一规则入口。
- `RunState` 已完成 A1 扩展,当前已承载 `runId / runSeed / current theme / theme stage / current theme pool / theme history / current node continue challenge layer / run items / node sequence / inventory snapshot`,并且事件、商店、战斗都已经改为通过统一节点完成快照回写这些状态。
- `LevelThemeType` 已有 `Volcano / Mountain`,战斗侧已有按主题取关卡、掉落按主题偏置的基础入口,因此主题玩法更适合在现有战斗调度器上继续补钩子,而不是重做主流程。
## 当前进度更新
- `A1` 已完成:`RunState` 长期状态字段、`RunNodeExecutionContext`、`RunNodeCompletionSnapshot`、`ProcedureMain` 统一推进写回链路都已落地。
- `A2` 已完成:已经补上三组最小 `EditMode` 测试入口,分别覆盖事件定义工厂、商店价格规则入口、当前可见的继续挑战倍率公式。
- 当前下一步应直接进入 `P1-01`,收口事件执行链路,不再继续停留在基础设施阶段。
## M2 总体推进顺序
1. 先收口事件系统 `P1-01 ~ P1-02`,因为代码骨架已经在,投入最小,能最快形成第二类节点的真实玩法。
2. 再收口商店系统 `P1-03 ~ P1-04`,把“买/卖/定价”统一到同一套库存与价格规则中。
3. 之后补运行中长期状态承载:道具系统 `P1-05` 与继续挑战 `P1-06`。
4. 再做主题玩法底座与两个主题规则 `P1-07 ~ P1-09`,避免火山、山地各自临时写一套。
5. 最后做大关后主题选择 `P1-10`,因为它依赖新的 run 分段结构与主题状态流转。
## 开工前置
### A1. 先补 M2 状态承载
- 当前状态:已完成。
- 目标:在不破坏 M1 固定 10 节点闭环的前提下,为 M2 新功能预留明确状态字段。
- 交付物:
- `Assets/GameMain/Scripts/Procedure/ProcedureMain/RunModel.cs`
- `Assets/GameMain/Scripts/Procedure/ProcedureMain/` 下相关推进服务
- 具体工作:
- 给 `RunState` 增加继续挑战层数、主题阶段索引、当前主题池、运行中道具列表或等价结构。
- 明确哪些状态属于 `RunState`,哪些属于 `PlayerInventory`,避免“金币在 run、道具在 inventory、主题选择在 UI 临时变量”这种分散写法。
- 为节点完成事件补足 M2 需要的快照字段,保证事件/商店/战斗都能通过统一推进入口回写状态。
- 验收补充:
- 不影响现有 M1 测试。
- 新字段默认值明确,未启用 M2 功能时不会改变 M1 行为。
### A2. 为 M2 先补最小测试底座
- 当前状态:已完成。
- 目标:先把容易回归的规则放进 `EditMode`,避免事件和定价后面越改越散。
- 交付物:
- `Assets/Tests/EditMode/`
- 具体工作:
- 先建三组测试入口:事件需求/效果执行、商店定价、继续挑战倍率。
- 对主题玩法先补纯规则测试,场景表现与路径交互后续再补 PlayMode。
- 验收补充:
- 至少保证新增核心公式与随机种子行为可回归。
## P1 详细计划
### P1-01 事件节点系统(选项、概率、奖励/惩罚执行器)
- 核心目标:把现有“能打开事件 UI”补完成“能稳定结算并推进节点”的正式系统。
- 交付物:
- `Assets/GameMain/Scripts/CustomComponent/EventNodeComponent.cs`
- `Assets/GameMain/Scripts/UI/Game/UseCase/EventFormUseCase.cs`
- `Assets/GameMain/Scripts/Definition/Event/`
- 必要时新增 `Assets/GameMain/Scripts/Procedure/` 下的事件结算服务
- 具体拆分:
- 增加统一事件执行入口:`检查 Requirements -> 执行 CostEffects -> 掷概率 -> 执行 RewardEffects -> 生成结算结果 -> EndEvent`。
- 概率结算改为基于 `runSeed + sequenceIndex + eventId + optionIndex` 的稳定随机,避免同局回放不一致。
- Requirements 不满足时,UI 侧需要明确禁止点击或提示原因,不能点了再静默失败。
- Effects 不要散落在 UI 控制器里,统一走一个事件执行服务或等价显式流程函数。
- 明确失败语义:要求不足属于“不可选”,概率失败属于“已执行但收益为空或惩罚生效”。
- 验收补充:
- 可稳定配置并执行至少 10 个事件。
- 事件结束后金币、库存、耐久等变化能正确写回节点完成快照。
- 同一种子重复运行时,事件随机结果一致。
### P1-02 落地 3 个示例事件(赌马 / 组件交换 / 耐久换金币)
- 核心目标:用 3 个真实事件验证 `P1-01` 的执行器不是一次性硬编码。
- 交付物:
- `Assets/GameMain/DataTables/Event.txt`
- 若现有效果不足,补 `Assets/GameMain/Scripts/Definition/Event/EventEffect/`
- 若现有条件不足,补 `Assets/GameMain/Scripts/Definition/Event/EventRequirement/`
- 具体拆分:
- 保留并收口“赌马”事件,验证 `GoldAtLeast + AddGold + Probability`。
- 把“组件交换”改成真正符合设计的链路:支付指定品质组件,返回不低于原品质的新组件;现有“换金币”样例不足以覆盖该目标。
- 新增“耐久换金币”事件,复用当前耐久体系,明确扣减对象、扣减数量、损坏后的处理与节点结束后的清理。
- 事件表扩充到 10 个可用事件时,先按低风险/中风险/功能型三类分层,避免全是纯金币事件。
- 验收补充:
- 三个示例事件在局内都能完整触发、结算、回写状态。
- 不会出现组件被扣掉但奖励未发、或耐久扣成负值这种半成功状态。
### P1-03 商店节点购买 + 背包出售组件 / 防御塔
- 核心目标:保留商店节点的购买职责,把出售入口迁到背包 `RepoForm`,形成完整交易闭环。
- 交付物:
- `Assets/GameMain/Scripts/UI/Shop/`
- `Assets/GameMain/Scripts/UI/Game/`
- `Assets/GameMain/Scripts/CustomComponent/ShopNodeComponent.cs`
- `Assets/GameMain/Scripts/CustomComponent/PlayerInventory/`
- 具体拆分:
- Shop UI 保持“4 个商品 + 购买 + 打开背包”主链,不再承担库存展示与出售交互。
- Repo UI 增加明确的出售模式入口;进入后可批量选择未组装组件与非参战防御塔,并显示当前选择总价值。
- 参战防御塔不能直接出售,必须先从参战区移出;出售整塔时,需要连同其绑定的 3 个组件一起从库存移除。
- 交易结算统一走库存域的显式买/卖命令,不要在 UI 层分别修改金币和库存。
- 商品购买后状态、库存变化、金币变化要同时刷新,不允许 UI 还显示可买但实际已买。
- 明确商店节点退出条件与节点完成时机,避免出现开店即完成或出售后不回流的问题。
- 验收补充:
- 商店购买、背包出售后库存与金币实时正确更新。
- 从商店里打开背包出售后,返回商店时金币显示与商品状态正确刷新。
- 关闭商店后重新打开同一节点时,商品状态与本节点交易结果一致。
### P1-04 商店定价规则:买价、半价回收、卖塔 +10%、耐久折价
- 核心目标:把价格从“按品质随机区间”升级为可解释、可测试的公式。
- 交付物:
- `Assets/GameMain/Scripts/Utility/`
- `Assets/GameMain/Scripts/Entity/` 或库存相关域对象
- 视需要调整 `Assets/GameMain/DataTables/ShopPrice.txt`
- 具体拆分:
- 抽出统一价格解析入口:商店买价、背包组件出售价、背包防御塔出售价、塔出售加成、耐久折价都走同一公式服务。
- 明确“组件价格”和“整塔价格”关系,不能在 UI 里临时把三组件价格相加后再乘一个魔法数。
- 明确耐久折价规则:按当前耐久比例折价,还是按损坏阈值分段折价;先写死规则文档,再落代码。
- 如果 `ShopPrice.txt` 只够表达品质区间,新增字段或新表承载倍率,不要继续在代码里硬编码。
- 验收补充:
- 买价、回收半价、卖塔 +10%、耐久折价都可通过测试直接验证。
- 同类物品在同一规则下价格可解释,不出现随机漂移。
### P1-05 道具系统(影响初始金币、掉金倍率等)
- 核心目标:引入 run 内长期生效的被动效果,支撑中期构筑深度。
- 交付物:
- `Assets/GameMain/Scripts/Entity/`
- `Assets/GameMain/DataTables/*.txt`
- `Assets/GameMain/Scripts/Procedure/ProcedureMain/`
- 具体拆分:
- 先定义“道具”最小模型:唯一 Id、名称、描述、叠加规则、效果列表。
- 道具效果统一挂在 run 状态,不要把“初始金币加成”写进开局逻辑、“掉金倍率”写进敌人掉落逻辑、“商店折扣”又写进商店 UI。
- 第一批只做能复用现有链路的效果:初始金币、掉金倍率、商店折扣、额外奖励候选、事件收益倍率。
- 明确获取来源:先只接战斗奖励或事件奖励,暂不同时开启商店售卖与局外解锁。
- 验收补充:
- 至少 5 个道具可叠加生效。
- 多个道具同时存在时,叠加顺序和公式固定且可测试。
### P1-06 战斗后“继续挑战”机制(高强度高爆率)
- 核心目标:把当前战斗结算从单向结束改成“收手 / 继续”的风险收益选择。
- 交付物:
- `Assets/GameMain/Scripts/Procedure/`
- `Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatScheduler/`
- 需要时补 `Assets/GameMain/Scripts/UI/Combat/` 或现有结算 UI
- 具体拆分:
- 战斗胜利后新增继续挑战分支,不改变失败结算语义。
- 给 run 增加当前节点继续挑战层数,并把它传入敌人强度和掉落倍率计算。
- 强度提升与爆率提升必须都走显式公式,且支持按层数递增。
- 继续挑战退出时,节点奖励如何结算、是否覆盖原奖励、是否保底,需要在实现前先写清楚。
- 验收补充:
- 选择继续后敌人强度明显提升且爆率提升。
- 连续多次继续时,奖励和风险曲线都可感知,不出现“白打”。
### P1-07 火山主题规则(高温、岩浆格、抗火敌人)
- 核心目标:做出第一个真实改变战斗结果的主题规则,而不是只换关卡皮肤。
- 交付物:
- `Assets/GameMain/Scripts/Scene/`
- `Assets/GameMain/Scripts/Entity/`
- 必要时新增主题规则配置表
- 具体拆分:
- 先抽主题战斗规则入口,统一在战斗调度或关卡运行时挂载主题效果。
- 高温规则先定义为全局环境修正;岩浆格是地图局部修正;敌人抗火是单位侧修正,三者不要混成一个大脚本。
- 岩浆格必须有清晰表现和可命中逻辑,不能只有视觉特效。
- 与现有 Tag / 属性体系冲突处优先显式列出,不在第一版做复杂联动。
- 验收补充:
- 岩浆效果可视,且确实会改变塔或敌人的战斗结果。
### P1-08 山地主题规则(高度、悬崖、位移致死)
- 核心目标:做出第二个与火山玩法差异明显的主题。
- 交付物:
- `Assets/GameMain/Scripts/Scene/`
- `Assets/GameMain/Scripts/Entity/`
- 必要时新增高度或地形标记配置
- 具体拆分:
- 为地图格子补高度/悬崖属性,而不是把高度写死在某一张图脚本里。
- 塔攻击高打低、低打高的距离或命中修正单独实现,避免和基础攻击范围直接耦死。
- 敌人上下坡移速修正与悬崖击退致死分开结算,便于后续加其他位移效果。
- 先支持对现有敌人和击退能力最小接入,不追求一次做完整地形系统。
- 验收补充:
- 高低地形会影响攻防与移速。
- 悬崖击退击杀能真实生效并参与结算。
### P1-09 主题地图掉落偏好(按主题偏置组件)
- 核心目标:让主题不只影响战斗规则,也影响构筑倾向。
- 交付物:
- `Assets/GameMain/DataTables/*.txt`
- `Assets/GameMain/Scripts/CustomComponent/InventoryGeneration/`
- 具体拆分:
- 在现有 `OutGameDropPool` 或新增偏置表中表达主题掉落权重,不要把火山/山地偏置硬编码在掉落代码里。
- 主题偏置只影响权重,不直接写死掉落结果,保留随机性。
- 明确偏置作用对象:组件槽位、品质、Tag、或其组合,第一版建议先偏置组件/Tag。
- 验收补充:
- 不同主题统计掉落分布显著不同。
- 偏置结果与 `P1-07 / P1-08` 的主题反制方向一致。
### P1-10 大关完成后可选下一主题地图
- 核心目标:把当前“固定单主题 10 节点 run”扩成“按大关推进并选择下个主题”。
- 交付物:
- `Assets/GameMain/Scripts/Procedure/`
- `Assets/GameMain/Scripts/UI/Templates/GameScene/` 或现有节点地图相关 UI
- 具体拆分:
- 先定义“大关”与“节点序列”的关系:是每个大关 10 节点,还是一个 run 内包含多个主题段。
- Run 流程需要新增“主题选择阶段”,不能继续只靠 `CurrentNodeIndex++` 线性推进。
- 主题选择 UI 至少展示 2 个候选主题、主题效果摘要、预期掉落倾向。
- 选择后要能重建后续节点池、关卡池和掉落偏置,而不是只改一个 `ThemeType` 字段。
- 验收补充:
- 通关后至少可在 2 个主题间选择。
- 主题选择会真实影响后续关卡、掉落和规则。
## 推荐分批提交
### 批次 1:事件系统收口
- `A1` 中与事件相关的状态补充
- `P1-01`
- `P1-02`
### 批次 2:商店系统收口
- `P1-03`
- `P1-04`
### 批次 3:run 深度状态
- `P1-05`
- `P1-06`
### 批次 4:主题玩法底座与内容
- 主题规则统一入口
- `P1-07`
- `P1-08`
- `P1-09`
### 批次 5:多主题推进
- `P1-10`
## 当前建议的第一开工项
1. 立刻收口 `P1-01`,把 `EventFormUseCase.SelectOption()` 从占位实现改成正式结算。
2. 基于 A2 里已经补好的事件定义测试入口,新增事件执行链路测试,覆盖 requirement、cost、probability、reward 和完成快照回写。
3. 用 `P1-02` 的三个示例事件验证执行器能力,再扩表到 10 个事件。
4. 之后再进入商店买卖与定价,不建议现在同时并行推进主题地图。
-86
View File
@@ -1,86 +0,0 @@
# GeometryTD 可执行 Todo List
> 来源:`docs/GameDesign.md`
> 目标:先做出可完整游玩的 MVP,再逐步补齐深度与打磨。
## 执行规则
1. 按里程碑顺序执行,不跨阶段提前开发。
2. 每项任务必须同时满足“交付物路径”和“验收标准”才可打勾。
3. 数据驱动优先:数值、掉落、商店、事件都优先落到 `DataTables`。
## M1 当前口径(2026-03-11)
- 当前仓库已经具备 `ProcedureMain + NodeMapForm + CombatNode + EventNode + ShopNode` 的主流程 Run 闭环,可以从主菜单进入游戏,完成固定 10 节点流程,并在 Boss 结算后进入正式结束态并回到主菜单。
- `NodeMapForm` 已满足 MVP 所需的节点流程界面;M1 主功能侧已完成收口,后续重点转入测试补强与旧文档清理。
- `P0-10` 的“三组件完整合法参战”主链已完成:当前参战分配、战斗入口最终校验、失败原因与拦截提示都已接入统一合法性判断入口,现阶段不再把它视为 M1 功能缺口。
- `P0-11` 已完成收口:当前品质计算、Tag 生成、塔级 Tag 汇总、首发 7 个 Tag 的战斗效果、以及 `Tag.txt + RarityTagBudget.txt + TagConfig.txt` 三表驱动链路都已落地,代码默认值、运行时消费链与文档口径现已统一。
- `P0-12` 的“最小耐久闭环”主链已落地:当前已实现战斗后按参战塔真实扣减耐久、`0` 耐久失效并拦截参战/战斗入口、仓库详情损坏提示,以及节点结束后自动将损坏塔移出参战区并弹窗说明。
## 里程碑 M1(P0)- 最小可玩闭环
| 状态 | ID | 任务 | 交付物路径 | 验收标准 |
|-----|-------|-------------------------------------|----------------------------------------------------------------------------------------|--------------------------------------------------------------------------|
| [x] | P0-01 | 冻结 MVP 范围(只保留:战斗节点/事件节点/商店节点/节点后组装) | `docs/MVP-Scope.md` | 明确“做/不做”清单,团队评审通过 |
| [x] | P0-02 | 补齐数据表:组件、敌人、波次、节点、事件、商店商品 | `Assets/GameMain/DataTables/*.txt` | 游戏启动可无报错加载全部新增表 |
| [x] | P0-03 | 新增/完善 DataRow 解析类 | `Assets/GameMain/Scripts/DataTable/*.cs` | 每个新增表都有对应 DR 类并成功解析 |
| [x] | P0-04 | 建立单局 Run 状态模型(金币、生命、库存、当前节点) | `Assets/GameMain/Scripts/Procedure/` | 已有 `RunState` / 推进模型 / 固定序列 / EditMode 测试,并已接入 `ProcedureMain` 主流程闭环 |
| [x] | P0-05 | 实现 10 节点地图生成(最后节点固定 Boss) | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/Game/` | 已有固定 10 节点序列、当前节点限制、Boss 终点链路与节点流程入口;MVP 不额外要求节点地图选择 UI 或表现层打磨 |
| [x] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | `Assets/GameMain/Scripts/Procedure/` | 战斗 / 事件 / 商店已统一接入节点进入、完成、异常回流;Boss 完成后会进入正式结束态并返回主菜单 |
| [x] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 |
| [x] | P0-08 | 胜利波次与结算规则(100/80/50/<50) | `Assets/GameMain/Scripts/Procedure/` | 结算奖励与惩罚严格匹配设计文档 |
| [x] | P0-09 | 敌人掉落与关卡奖励(组件/金币) | `Assets/GameMain/Scripts/Entity/` | 战斗结束能发放掉落并写入库存 |
| [x] | P0-10 | 节点后组装:枪口/轴承/底座三组件约束 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 已完成“三组件完整合法参战”的统一校验链、战斗入口最终拦截与失败原因反馈;不再作为当前 M1 功能缺口 |
| [x] | P0-11 | 品质 / Tag 规则统一入口(白绿蓝紫红) | `Assets/GameMain/Scripts/Definition/`<br>`Assets/GameMain/Scripts/Entity/` | 已完成品质统一、Tag 生成/汇总/展示、首发 7 个 Tag 的战斗生效,以及三表方案的正式收口与文档同步 |
| [x] | P0-12 | 组件耐久最小闭环 | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/CustomComponent/PlayerInventory/`<br>`Assets/GameMain/Scripts/UI/` | 已实现战斗后真实扣减、`0` 耐久失效拦截、仓库损坏提示与节点结束后的自动移出参战区;自动销毁/维修系统保留到后续阶段 |
## 里程碑 M2(P1)- 核心深度
| 状态 | ID | 任务 | 交付物路径 | 验收标准 |
|-----|-------|-------------------------------|-------------------------------------------------------------------------------------------|--------------------|
| [ ] | P1-01 | 事件节点系统(选项、概率、奖励/惩罚执行器) | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 可配置并执行至少 10 个事件 |
| [ ] | P1-02 | 落地设计中的 3 个示例事件(赌马/组件交换/耐久换金币) | `Assets/GameMain/DataTables/*.txt` | 三个事件可在局内完整触发与结算 |
| [ ] | P1-03 | 商店节点:购买/出售组件 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 买卖后库存与金币实时正确更新 |
| [ ] | P1-04 | 商店定价规则:买价、半价回收、卖塔+10%、耐久折价 | `Assets/GameMain/Scripts/Utility/`<br>`Assets/GameMain/Scripts/Entity/` | 各种交易结果符合公式 |
| [ ] | P1-05 | 道具系统(影响初始金币、掉金倍率等) | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/DataTables/*.txt` | 至少 5 个道具可叠加生效 |
| [ ] | P1-06 | 战斗后“继续挑战”机制(高强度高爆率) | `Assets/GameMain/Scripts/Procedure/` | 选择继续后敌人强度明显提升且爆率提升 |
| [ ] | P1-07 | 火山主题规则(高温、岩浆格、抗火敌人) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 岩浆效果可视且会改变战斗结果 |
| [ ] | P1-08 | 山地主题规则(高度、悬崖、位移致死) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 高低地形影响攻防与移速,悬崖击退生效 |
| [ ] | P1-09 | 主题地图掉落偏好(按主题偏置组件) | `Assets/GameMain/DataTables/*.txt`<br>`Assets/GameMain/Scripts/Entity/` | 不同主题统计掉落分布显著不同 |
| [ ] | P1-10 | 大关完成后可选下一主题地图 | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 通关后至少可在 2 个主题间选择 |
## 里程碑 M3(P2)- 打磨与上线准备
| 状态 | ID | 任务 | 交付物路径 | 验收标准 |
|-----|-------|---------------------------|----------------------------------------------------------------------------|------------------|
| [ ] | P2-01 | HUD 完整信息(波次、基地血量、金币、节点进度) | `Assets/GameMain/Scripts/UI/Templates/GameScene/View/` | 关键信息在战斗中可实时观测 |
| [ ] | P2-02 | 3 选 1 奖励 UI 与结果回放 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 奖励选择流程无阻塞,结果可追溯 |
| [ ] | P2-03 | 组装/拆解交互优化(预览属性变化) | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 改装前后差异可视化展示 |
| [ ] | P2-04 | 存档与读档(局外货币、库存、解锁进度) | `Assets/GameMain/Scripts/Utility/`<br>`Assets/GameMain/Scripts/Procedure/` | 重启游戏后进度一致恢复 |
| [ ] | P2-05 | 平衡性首轮调参(敌人曲线、经济曲线、掉落曲线) | `Assets/GameMain/DataTables/*.txt` | 3 局平均时长与胜率落在预期区间 |
| [~] | P2-06 | 最低限度自动化测试(公式与关键流程) | `Assets/Tests/` 下的 `EditMode`/`PlayMode` 测试 | 已有 `Assets/Tests/EditMode` 覆盖 `RunState`、`NodeCompleteEventArgs`、`ProcedureMain` 关键服务,以及 `CombatSettlement`、损坏塔清理、品质、Tag、耐久等关键规则;更广的流程编排回归与 PlayMode 覆盖仍待补齐 |
| [ ] | P2-07 | 性能与稳定性检查(长局、内存、异常日志) | `docs/PerformanceReport.md` | 连续游玩 30 分钟无阻断性问题 |
## 本周建议开工顺序
1. 先补 `S6` 侧的主链路 / 规则回归测试,把当前 M1 口径固化下来
2. 再继续同步 `MVP-Scope.md`、`GameDesign.md` 等仍保留旧范围描述的文档,避免后续继续按旧耐久 / Tag 口径推进
3. 最后再决定是否把更多 Tag 元数据配置化、维修系统等长期设计拆成新的增强阶段
## 设计优化 Backlog(新增)
| 状态 | ID | 优先级 | 任务 | 交付物路径 | 验收标准 |
|-----|------|-----|------------------------------|------------------------------------------------------------------------------------------------------------------|------------------------------|
| [ ] | D-01 | P0 | 新手前 15 分钟分阶段解锁复杂度(组装/节点/商店) | `docs/NewPlayerFlow.md`<br>`Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/` | 新玩家首局可在 15 分钟内完成完整流程且无关键机制卡死 |
| [ ] | D-02 | P0 | 路径阻挡合法性校验(永远保留至少一条可行路径) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 任意放置行为都不会导致敌人无路可走 |
| [ ] | D-03 | P1 | “胜利后继续”风险收益曲线重做(危险快速上升+保底收益) | `Assets/GameMain/DataTables/*.txt`<br>`Assets/GameMain/Scripts/Procedure/` | 连续继续挑战时,敌人强度阶梯上升且每波都有可感知保底收益 |
| [ ] | D-04 | P1 | 耐久惩罚去滚雪球(改为维修成本或临时失效) | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/DataTables/*.txt` | 低血量通关后不会直接导致下一节点战力崩溃 |
| [ ] | D-05 | P1 | 品质槽位断层平滑(降低白/绿到蓝的跳变) | `Assets/GameMain/Scripts/Definition/`<br>`Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/DataTables/*.txt` | 品质提升曲线更连续,玩家不会因单级品质差出现极端强度断层 |
| [ ] | D-06 | P1 | 事件池按期望值分层(高风险/低风险/功能型) | `docs/EventDesign.md`<br>`Assets/GameMain/DataTables/*.txt` | 三类事件都可稳定出现,且选择差异明显 |
| [ ] | D-07 | P1 | 主题地图反制机制(每主题至少 2 个可用对策) | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/DataTables/*.txt` | 火山与山地都存在明确反制构筑,UI 有可读提示 |
| [ ] | D-08 | P0 | 先定义数值预算(经济/敌强/掉落)再调参 | `docs/NumericBudget.md`<br>`Assets/GameMain/DataTables/*.txt` | 关键曲线有目标区间,3 局测试结果可与目标对比复盘 |
## 当前收尾重点
1. 继续补 `Assets/Tests/` 的主链路回归,优先覆盖跨节点流程编排与更完整的 PlayMode 场景验证
2. 继续同步 `docs/MVP-Scope.md`、`docs/GameDesign.md` 等旧设计文档,避免后续按过期口径推进
3. 将“维修系统”“商店出售与复杂定价”“更多 Tag / 主题地图机制”等长期设计拆回后续阶段,不再混入当前 M1 已收口范围