geometry-tower-defense/docs/TODO.md

83 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GeometryTD 可执行 Todo List
> 来源:`docs/GameDesign.md`
> 目标:先做出可完整游玩的 MVP再逐步补齐深度与打磨。
## 执行规则
1. 按里程碑顺序执行,不跨阶段提前开发。
2. 每项任务必须同时满足“交付物路径”和“验收标准”才可打勾。
3. 数据驱动优先:数值、掉落、商店、事件都优先落到 `DataTables`
## 里程碑 M1P0- 最小可玩闭环
| 状态 | 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/` | 进入/退出节点时状态可持续传递 |
| [ ] | P0-05 | 实现 10 节点地图生成(最后节点固定 Boss | `Assets/GameMain/Scripts/Scene/` | 每局都生成 10 节点且第 10 节点为 Boss |
| [x] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | `Assets/GameMain/Scripts/Procedure/` | 节点完成后可返回地图并进入下个节点 |
| [ ] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 |
| [ ] | P0-08 | 胜利波次与结算规则100/80/50/<50 | `Assets/GameMain/Scripts/Procedure/` | 结算奖励与惩罚严格匹配设计文档 |
| [ ] | 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/` | 计算结果可复现并与规则一致 |
| [ ] | P0-12 | 组件/配件耐久生效与 0 耐久销毁 | `Assets/GameMain/Scripts/Entity/` | 耐久影响属性,归零后物品移除 |
## 里程碑 M2P1- 核心深度
| 状态 | 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 个主题间选择 |
## 里程碑 M3P2- 打磨与上线准备
| 状态 | 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` 测试 | 关键计算与流程回归可自动验证 |
| [ ] | P2-07 | 性能与稳定性检查(长局、内存、异常日志) | `docs/PerformanceReport.md` | 连续游玩 30 分钟无阻断性问题 |
## 本周建议开工顺序
1. `P0-01` ~ `P0-04`(先把范围与数据基础打稳)
2. `P0-05` ~ `P0-09`(打通节点到战斗再到结算)
3. `P0-10` ~ `P0-12`(完成组装与耐久闭环)
## 设计优化 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仓库的逻辑补全
- 组装防御塔逻辑的落实