92 lines
14 KiB
Markdown
92 lines
14 KiB
Markdown
# 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 现在的真实缺口是合法出战 / 品质 / Tag / 耐久规则是否真正统一收口。
|
||
- `P0-10` 的“三组件完整合法参战”主链已落地:当前参战分配、战斗入口最终校验、失败原因与拦截提示都已接入统一合法性判断入口,但文档仍保留 `[~]`,直到与 `docs/CodeX-TODO.md` 的验收口径完全同步。
|
||
- `P0-11` 已不再只是“局部展示字段”:当前品质计算、Tag 生成、塔级 Tag 汇总、首发 7 个 Tag 的战斗效果、以及 `Tag.txt + RarityTagBudget.txt + TagConfig.txt` 三表驱动链路都已存在;剩余缺口主要是 `S4-07` 的最终文档口径与少量配置收口,而不是主功能缺失。
|
||
- `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/` | 战斗结束能发放掉落并写入库存 |
|
||
| [~] | P0-10 | 节点后组装:枪口/轴承/底座三组件约束 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 当前已形成“三组件完整合法参战”的统一校验链与战斗入口拦截;剩余工作主要是同步文档口径与收尾验收 |
|
||
| [~] | 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/` 下新增 `Editor`/`Runtime` 测试 | 已有 `Assets/Tests/EditMode` 覆盖 `RunState`、`NodeCompleteEventArgs`、`ProcedureMain` 关键服务;更广的公式与流程回归仍待补齐 |
|
||
| [ ] | P2-07 | 性能与稳定性检查(长局、内存、异常日志) | `docs/PerformanceReport.md` | 连续游玩 30 分钟无阻断性问题 |
|
||
|
||
## 本周建议开工顺序
|
||
|
||
1. 先完成 `P0-11` 的三表口径收口,把 `Tag.txt + RarityTagBudget.txt + TagConfig.txt` 的实际消费链与文档彻底对齐
|
||
2. 再补 `S6` 侧的主链路 / 规则回归测试,把当前 `S5` 代码口径固化下来
|
||
3. 最后同步其余执行文档与过期 TODO,避免后续继续按旧的耐久/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. CombatNodeComponent:战斗节点的逻辑补全
|
||
- 完整塔防流程:初始硬币,敌人掉落硬币数量、基地生命与失败设计
|
||
- 敌人随机掉落局外资源(金币、组件/配件)
|
||
- 无限波次下敌人血量、资源爆率的增加
|
||
- 基地血量满足一定条件的额外奖励
|
||
2. ShopNodeComponent:商店节点的逻辑补全
|
||
3. RepoForm:仓库的逻辑补全
|
||
- 组装防御塔逻辑的落实
|