14 KiB
14 KiB
GeometryTD 可执行 Todo List
来源:
docs/GameDesign.md
目标:先做出可完整游玩的 MVP,再逐步补齐深度与打磨。
执行规则
- 按里程碑顺序执行,不跨阶段提前开发。
- 每项任务必须同时满足“交付物路径”和“验收标准”才可打勾。
- 数据驱动优先:数值、掉落、商店、事件都优先落到
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仍是当前 M1 最明确的规则缺口:已有耐久字段、展示与部分扣减入口,但还没有形成“战斗后真实扣减 -> 归零失效 -> 参战拦截”的最小闭环。
里程碑 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/Assets/GameMain/Scripts/UI/Game/ |
已有固定 10 节点序列、当前节点限制、Boss 终点链路与节点流程入口;MVP 不额外要求节点地图选择 UI 或表现层打磨 |
| [x] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | Assets/GameMain/Scripts/Procedure/ |
战斗 / 事件 / 商店已统一接入节点进入、完成、异常回流;Boss 完成后会进入正式结束态并返回主菜单 |
| [x] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | Assets/GameMain/Scripts/Entity/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/Assets/GameMain/Scripts/UI/Templates/GameScene/ |
当前已形成“三组件完整合法参战”的统一校验链与战斗入口拦截;剩余工作主要是同步文档口径与收尾验收 |
| [~] | P0-11 | 品质 / Tag 规则统一入口(白绿蓝紫红) | Assets/GameMain/Scripts/Definition/Assets/GameMain/Scripts/Entity/ |
当前已完成品质统一、Tag 生成/汇总/展示与首发 7 个 Tag 的战斗生效;剩余工作主要是三表方案的最终收口与文档同步 |
| [~] | P0-12 | 组件/配件耐久生效与 0 耐久销毁 | Assets/GameMain/Scripts/Entity/ |
当前按“最小耐久闭环”推进:目标是形成战斗后真实扣减、0 耐久失效与参战拦截;维修系统、自动销毁等后续深度规则暂不作为本阶段阻塞项 |
里程碑 M2(P1)- 核心深度
| 状态 | ID | 任务 | 交付物路径 | 验收标准 |
|---|---|---|---|---|
| [ ] | P1-01 | 事件节点系统(选项、概率、奖励/惩罚执行器) | Assets/GameMain/Scripts/Procedure/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/Assets/GameMain/Scripts/Entity/ |
各种交易结果符合公式 |
| [ ] | P1-05 | 道具系统(影响初始金币、掉金倍率等) | Assets/GameMain/Scripts/Entity/Assets/GameMain/DataTables/*.txt |
至少 5 个道具可叠加生效 |
| [ ] | P1-06 | 战斗后“继续挑战”机制(高强度高爆率) | Assets/GameMain/Scripts/Procedure/ |
选择继续后敌人强度明显提升且爆率提升 |
| [ ] | P1-07 | 火山主题规则(高温、岩浆格、抗火敌人) | Assets/GameMain/Scripts/Scene/Assets/GameMain/Scripts/Entity/ |
岩浆效果可视且会改变战斗结果 |
| [ ] | P1-08 | 山地主题规则(高度、悬崖、位移致死) | Assets/GameMain/Scripts/Scene/Assets/GameMain/Scripts/Entity/ |
高低地形影响攻防与移速,悬崖击退生效 |
| [ ] | P1-09 | 主题地图掉落偏好(按主题偏置组件/配件) | Assets/GameMain/DataTables/*.txtAssets/GameMain/Scripts/Entity/ |
不同主题统计掉落分布显著不同 |
| [ ] | P1-10 | 大关完成后可选下一主题地图 | Assets/GameMain/Scripts/Procedure/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/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 分钟无阻断性问题 |
本周建议开工顺序
- 先完成
P0-11的三表口径收口,把Tag.txt + RarityTagBudget.txt + TagConfig.txt的实际消费链与文档彻底对齐 - 再推进
P0-12,按“最小耐久闭环”实现战斗后真实扣减、0耐久失效与参战拦截 - 最后补关键流程 / 规则回归测试,并同步
docs/TODO.md与docs/CodeX-TODO.md的真实状态
设计优化 Backlog(新增)
| 状态 | ID | 优先级 | 任务 | 交付物路径 | 验收标准 |
|---|---|---|---|---|---|
| [ ] | D-01 | P0 | 新手前 15 分钟分阶段解锁复杂度(组装/节点/商店) | docs/NewPlayerFlow.mdAssets/GameMain/Scripts/Procedure/Assets/GameMain/Scripts/UI/ |
新玩家首局可在 15 分钟内完成完整流程且无关键机制卡死 |
| [ ] | D-02 | P0 | 路径阻挡合法性校验(永远保留至少一条可行路径) | Assets/GameMain/Scripts/Scene/Assets/GameMain/Scripts/Entity/ |
任意放置行为都不会导致敌人无路可走 |
| [ ] | D-03 | P1 | “胜利后继续”风险收益曲线重做(危险快速上升+保底收益) | Assets/GameMain/DataTables/*.txtAssets/GameMain/Scripts/Procedure/ |
连续继续挑战时,敌人强度阶梯上升且每波都有可感知保底收益 |
| [ ] | D-04 | P1 | 耐久惩罚去滚雪球(改为维修成本或临时失效) | Assets/GameMain/Scripts/Entity/Assets/GameMain/Scripts/Procedure/Assets/GameMain/DataTables/*.txt |
低血量通关后不会直接导致下一节点战力崩溃 |
| [ ] | D-05 | P1 | 品质槽位断层平滑(降低白/绿到蓝的跳变) | Assets/GameMain/Scripts/Definition/Assets/GameMain/Scripts/Entity/Assets/GameMain/DataTables/*.txt |
品质提升曲线更连续,玩家不会因单级品质差出现极端强度断层 |
| [ ] | D-06 | P1 | 事件池按期望值分层(高风险/低风险/功能型) | docs/EventDesign.mdAssets/GameMain/DataTables/*.txt |
三类事件都可稳定出现,且选择差异明显 |
| [ ] | D-07 | P1 | 主题地图反制机制(每主题至少 2 个可用对策) | Assets/GameMain/Scripts/Entity/Assets/GameMain/Scripts/Scene/Assets/GameMain/DataTables/*.txt |
火山与山地都存在明确反制构筑,UI 有可读提示 |
| [ ] | D-08 | P0 | 先定义数值预算(经济/敌强/掉落)再调参 | docs/NumericBudget.mdAssets/GameMain/DataTables/*.txt |
关键曲线有目标区间,3 局测试结果可与目标对比复盘 |
小目标
- CombatNodeComponent:战斗节点的逻辑补全
- 完整塔防流程:初始硬币,敌人掉落硬币数量、基地生命与失败设计
- 敌人随机掉落局外资源(金币、组件/配件)
- 无限波次下敌人血量、资源爆率的增加
- 基地血量满足一定条件的额外奖励
- ShopNodeComponent:商店节点的逻辑补全
- RepoForm:仓库的逻辑补全
- 组装防御塔逻辑的落实