P0-01:冻结 MVP 范围

docs/MVP-Scope.md
This commit is contained in:
SepComet 2026-02-26 13:56:30 +08:00
parent 4daefa17d5
commit bb0a4edfb7
4 changed files with 249 additions and 47 deletions

View File

@ -1,7 +1,7 @@
{ {
"dependencies": { "dependencies": {
"com.unity.collab-proxy": "2.11.2", "com.unity.collab-proxy": "2.11.2",
"com.unity.ide.rider": "3.0.38", "com.unity.ide.rider": "3.0.39",
"com.unity.ide.visualstudio": "2.0.22", "com.unity.ide.visualstudio": "2.0.22",
"com.unity.ide.vscode": "1.2.5", "com.unity.ide.vscode": "1.2.5",
"com.unity.inputsystem": "1.14.2", "com.unity.inputsystem": "1.14.2",

View File

@ -25,7 +25,7 @@
"url": "https://packages.unity.cn" "url": "https://packages.unity.cn"
}, },
"com.unity.ide.rider": { "com.unity.ide.rider": {
"version": "3.0.38", "version": "3.0.39",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {

200
docs/MVP-Scope.md.md Normal file
View File

@ -0,0 +1,200 @@
# 《几何塔防》MVP 范围说明(流程验证版)
---
## 一、MVP目标
本阶段目标:
> 验证游戏完整流程是否可运行,包括
> 战斗节点 → 事件节点 → 商店节点 → 节点后组装 → 下一节点
> 直至完成一大关。
本阶段不关注:
* 数值平衡
* 构筑深度
* 美术质量
* 商业化系统
* 长期留存
---
## 二、本阶段包含内容
---
### 1⃣ 基础游戏结构
* 单一主题地图(无环境机制)
* 1个大关固定10节点
* 最后节点为Boss战
* 固定节点顺序(例如:战斗 → 事件 → 战斗 → 商店 → 战斗 → Boss
不做节点地图选择 UI。
---
### 2⃣ 战斗节点(核心可运行)
包含:
* 基地生命系统
* 固定路径(单路径)
* 敌人按最短路径移动
* 5~8波敌人
* 1种普通敌人 + 1种精英敌人 + 1种Boss
* 胜利条件:达到波次
* 失败条件基地血量为0
战斗奖励:
* 战斗结束提供 3选1 组件奖励
* 固定金币奖励
不做:
* 随机掉落
* 多路径
* 地图机制
* 精细敌人AI
---
### 3⃣ 事件节点(流程占位)
实现:
* 3个固定事件模板
* 简单二选一结构
* 直接修改金币或组件数量
例如:
* 获得100金币
* 损失1个随机组件换取高品质组件
不做:
* 复杂概率算法
* 连锁事件
* 条件触发事件
---
### 4⃣ 商店节点
实现:
* 显示3个随机组件
* 可刷新一次
* 可购买
* 可出售组件
不做:
* 动态定价
* 经济平衡
* 道具系统
* 广告
* 内购
---
### 5⃣ 节点后组装系统
实现:
* 组件栏
* 塔槽位
* 拖拽组装
* 组件替换
* 实时属性预览
组件结构(精简):
* 枪口
* 轴承
* 底座
* 基础Tag系统只保留 6~8 个)
不做:
* 耐久系统
* 稀有品质红色
* 高级Tag联动
* 复杂触发矩阵
---
## 三、明确本阶段不做内容
以下内容全部排除在本阶段之外:
* ❌ 多主题地图
* ❌ 地图机制(火山/山地)
* ❌ 局外成长系统
* ❌ 广告系统
* ❌ 内购系统
* ❌ 成就系统
* ❌ 排行榜
* ❌ 多流派深度平衡
* ❌ 大规模敌人种类
* ❌ 复杂Boss阶段机制
* ❌ 数值精细调优
* ❌ 高级特效优化
---
## 四、组件规模限制
为避免膨胀,本阶段限制:
* 总组件数量 ≤ 20
* Tag数量 ≤ 8
* 品质等级:白 / 绿 / 蓝 / 紫(不做红)
* 每塔最大槽位2
---
## 五、UI范围
包含:
* 主界面(开始游戏)
* 节点流程界面
* 战斗界面
* 商店界面
* 组装界面
* 结算界面
允许:
* 使用临时UI
* 使用占位图
* 不做动画优化
---
## 六、完成标准(验收条件)
本阶段完成定义为:
1. 可从开始游戏一路完成一个大关
2. 节点之间流程无阻塞
3. 组件可组装并生效
4. 战斗可胜可负
5. 商店可购买/出售
6. 不出现流程死锁
7. 无严重崩溃或逻辑错误
只要流程跑通,即视为完成。
---
## 七、本阶段不评估指标
* 不评估留存
* 不评估爽感强度
* 不评估平衡性
* 不评估变现能力

View File

@ -4,68 +4,70 @@
> 目标:先做出可完整游玩的 MVP再逐步补齐深度与打磨。 > 目标:先做出可完整游玩的 MVP再逐步补齐深度与打磨。
## 执行规则 ## 执行规则
1. 按里程碑顺序执行,不跨阶段提前开发。 1. 按里程碑顺序执行,不跨阶段提前开发。
2. 每项任务必须同时满足“交付物路径”和“验收标准”才可打勾。 2. 每项任务必须同时满足“交付物路径”和“验收标准”才可打勾。
3. 数据驱动优先:数值、掉落、商店、事件都优先落到 `DataTables` 3. 数据驱动优先:数值、掉落、商店、事件都优先落到 `DataTables`
## 里程碑 M1P0- 最小可玩闭环 ## 里程碑 M1P0- 最小可玩闭环
| 状态 | ID | 任务 | 交付物路径 | 验收标准 | | 状态 | ID | 任务 | 交付物路径 | 验收标准 |
| --- | --- | --- | --- | --- | |-----|-------|-------------------------------------|----------------------------------------------------------------------------------------|---------------------------|
| [ ] | P0-01 | 冻结 MVP 范围(只保留:战斗节点/事件节点/商店节点/节点后组装) | `docs/MVP-Scope.md` | 明确“做/不做”清单,团队评审通过 | | [x] | P0-01 | 冻结 MVP 范围(只保留:战斗节点/事件节点/商店节点/节点后组装) | `docs/MVP-Scope.md` | 明确“做/不做”清单,团队评审通过 |
| [ ] | P0-02 | 补齐数据表:组件、配件、敌人、波次、节点、事件、商店商品 | `Assets/GameMain/DataTables/*.txt` | 游戏启动可无报错加载全部新增表 | | [ ] | P0-02 | 补齐数据表:组件、配件、敌人、波次、节点、事件、商店商品 | `Assets/GameMain/DataTables/*.txt` | 游戏启动可无报错加载全部新增表 |
| [ ] | P0-03 | 新增/完善 DataRow 解析类 | `Assets/GameMain/Scripts/DataTable/*.cs` | 每个新增表都有对应 DR 类并成功解析 | | [ ] | P0-03 | 新增/完善 DataRow 解析类 | `Assets/GameMain/Scripts/DataTable/*.cs` | 每个新增表都有对应 DR 类并成功解析 |
| [ ] | P0-04 | 建立单局 Run 状态模型(金币、生命、库存、当前节点) | `Assets/GameMain/Scripts/Procedure/` | 进入/退出节点时状态可持续传递 | | [ ] | P0-04 | 建立单局 Run 状态模型(金币、生命、库存、当前节点) | `Assets/GameMain/Scripts/Procedure/` | 进入/退出节点时状态可持续传递 |
| [ ] | P0-05 | 实现 10 节点地图生成(最后节点固定 Boss | `Assets/GameMain/Scripts/Scene/` | 每局都生成 10 节点且第 10 节点为 Boss | | [ ] | P0-05 | 实现 10 节点地图生成(最后节点固定 Boss | `Assets/GameMain/Scripts/Scene/` | 每局都生成 10 节点且第 10 节点为 Boss |
| [ ] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | `Assets/GameMain/Scripts/Procedure/` | 节点完成后可返回地图并进入下个节点 | | [ ] | P0-06 | 实现节点选择与跳转流程(战斗/事件/商店) | `Assets/GameMain/Scripts/Procedure/` | 节点完成后可返回地图并进入下个节点 |
| [ ] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/` `Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 | | [ ] | P0-07 | 战斗节点基础玩法:放置塔、出怪、基地扣血、胜负判定 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Scene/` | 可完整打一场并得到胜利/失败结果 |
| [ ] | P0-08 | 胜利波次与结算规则100/80/50/<50 | `Assets/GameMain/Scripts/Procedure/` | 结算奖励与惩罚严格匹配设计文档 | | [ ] | P0-08 | 胜利波次与结算规则100/80/50/<50 | `Assets/GameMain/Scripts/Procedure/` | 结算奖励与惩罚严格匹配设计文档 |
| [ ] | P0-09 | 敌人掉落与关卡奖励(组件/配件/金币) | `Assets/GameMain/Scripts/Entity/` | 战斗结束能发放掉落并写入库存 | | [ ] | P0-09 | 敌人掉落与关卡奖励(组件/配件/金币) | `Assets/GameMain/Scripts/Entity/` | 战斗结束能发放掉落并写入库存 |
| [ ] | P0-10 | 节点后组装:枪口/轴承/底座三组件约束 | `Assets/GameMain/Scripts/Entity/` `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 未满足三组件时禁止出战 | | [ ] | P0-10 | 节点后组装:枪口/轴承/底座三组件约束 | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 未满足三组件时禁止出战 |
| [ ] | P0-11 | 品质/槽位/Tag 计算落地(白绿蓝紫红) | `Assets/GameMain/Scripts/Definition/` `Assets/GameMain/Scripts/Entity/` | 计算结果可复现并与规则一致 | | [ ] | P0-11 | 品质/槽位/Tag 计算落地(白绿蓝紫红) | `Assets/GameMain/Scripts/Definition/`<br>`Assets/GameMain/Scripts/Entity/` | 计算结果可复现并与规则一致 |
| [ ] | P0-12 | 组件/配件耐久生效与 0 耐久销毁 | `Assets/GameMain/Scripts/Entity/` | 耐久影响属性,归零后物品移除 | | [ ] | P0-12 | 组件/配件耐久生效与 0 耐久销毁 | `Assets/GameMain/Scripts/Entity/` | 耐久影响属性,归零后物品移除 |
## 里程碑 M2P1- 核心深度 ## 里程碑 M2P1- 核心深度
| 状态 | ID | 任务 | 交付物路径 | 验收标准 | | 状态 | ID | 任务 | 交付物路径 | 验收标准 |
| --- | --- | --- | --- | --- | |-----|-------|-------------------------------|-------------------------------------------------------------------------------------------|--------------------|
| [ ] | P1-01 | 事件节点系统(选项、概率、奖励/惩罚执行器) | `Assets/GameMain/Scripts/Procedure/` `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 可配置并执行至少 10 个事件 | | [ ] | P1-01 | 事件节点系统(选项、概率、奖励/惩罚执行器) | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 可配置并执行至少 10 个事件 |
| [ ] | P1-02 | 落地设计中的 3 个示例事件(赌马/组件交换/耐久换金币) | `Assets/GameMain/DataTables/*.txt` | 三个事件可在局内完整触发与结算 | | [ ] | P1-02 | 落地设计中的 3 个示例事件(赌马/组件交换/耐久换金币) | `Assets/GameMain/DataTables/*.txt` | 三个事件可在局内完整触发与结算 |
| [ ] | P1-03 | 商店节点:购买/出售组件与配件 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 买卖后库存与金币实时正确更新 | | [ ] | P1-03 | 商店节点:购买/出售组件与配件 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 买卖后库存与金币实时正确更新 |
| [ ] | P1-04 | 商店定价规则:买价、半价回收、卖塔+10%、耐久折价 | `Assets/GameMain/Scripts/Utility/` `Assets/GameMain/Scripts/Entity/` | 各种交易结果符合公式 | | [ ] | P1-04 | 商店定价规则:买价、半价回收、卖塔+10%、耐久折价 | `Assets/GameMain/Scripts/Utility/`<br>`Assets/GameMain/Scripts/Entity/` | 各种交易结果符合公式 |
| [ ] | P1-05 | 道具系统(影响初始金币、掉金倍率等) | `Assets/GameMain/Scripts/Entity/` `Assets/GameMain/DataTables/*.txt` | 至少 5 个道具可叠加生效 | | [ ] | P1-05 | 道具系统(影响初始金币、掉金倍率等) | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/DataTables/*.txt` | 至少 5 个道具可叠加生效 |
| [ ] | P1-06 | 战斗后“继续挑战”机制(高强度高爆率) | `Assets/GameMain/Scripts/Procedure/` | 选择继续后敌人强度明显提升且爆率提升 | | [ ] | P1-06 | 战斗后“继续挑战”机制(高强度高爆率) | `Assets/GameMain/Scripts/Procedure/` | 选择继续后敌人强度明显提升且爆率提升 |
| [ ] | P1-07 | 火山主题规则(高温、岩浆格、抗火敌人) | `Assets/GameMain/Scripts/Scene/` `Assets/GameMain/Scripts/Entity/` | 岩浆效果可视且会改变战斗结果 | | [ ] | P1-07 | 火山主题规则(高温、岩浆格、抗火敌人) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 岩浆效果可视且会改变战斗结果 |
| [ ] | P1-08 | 山地主题规则(高度、悬崖、位移致死) | `Assets/GameMain/Scripts/Scene/` `Assets/GameMain/Scripts/Entity/` | 高低地形影响攻防与移速,悬崖击退生效 | | [ ] | P1-08 | 山地主题规则(高度、悬崖、位移致死) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 高低地形影响攻防与移速,悬崖击退生效 |
| [ ] | P1-09 | 主题地图掉落偏好(按主题偏置组件/配件) | `Assets/GameMain/DataTables/*.txt` `Assets/GameMain/Scripts/Entity/` | 不同主题统计掉落分布显著不同 | | [ ] | P1-09 | 主题地图掉落偏好(按主题偏置组件/配件) | `Assets/GameMain/DataTables/*.txt`<br>`Assets/GameMain/Scripts/Entity/` | 不同主题统计掉落分布显著不同 |
| [ ] | P1-10 | 大关完成后可选下一主题地图 | `Assets/GameMain/Scripts/Procedure/` `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 通关后至少可在 2 个主题间选择 | | [ ] | P1-10 | 大关完成后可选下一主题地图 | `Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/Scripts/UI/Templates/GameScene/` | 通关后至少可在 2 个主题间选择 |
## 里程碑 M3P2- 打磨与上线准备 ## 里程碑 M3P2- 打磨与上线准备
| 状态 | ID | 任务 | 交付物路径 | 验收标准 | | 状态 | ID | 任务 | 交付物路径 | 验收标准 |
| --- | --- | --- | --- | --- | |-----|-------|---------------------------|----------------------------------------------------------------------------|------------------|
| [ ] | P2-01 | HUD 完整信息(波次、基地血量、金币、节点进度) | `Assets/GameMain/Scripts/UI/Templates/GameScene/View/` | 关键信息在战斗中可实时观测 | | [ ] | P2-01 | HUD 完整信息(波次、基地血量、金币、节点进度) | `Assets/GameMain/Scripts/UI/Templates/GameScene/View/` | 关键信息在战斗中可实时观测 |
| [ ] | P2-02 | 3 选 1 奖励 UI 与结果回放 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 奖励选择流程无阻塞,结果可追溯 | | [ ] | P2-02 | 3 选 1 奖励 UI 与结果回放 | `Assets/GameMain/Scripts/UI/Templates/GameScene/` | 奖励选择流程无阻塞,结果可追溯 |
| [ ] | P2-03 | 组装/拆解交互优化(预览属性变化) | `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-04 | 存档与读档(局外货币、库存、解锁进度) | `Assets/GameMain/Scripts/Utility/`<br>`Assets/GameMain/Scripts/Procedure/` | 重启游戏后进度一致恢复 |
| [ ] | P2-05 | 平衡性首轮调参(敌人曲线、经济曲线、掉落曲线) | `Assets/GameMain/DataTables/*.txt` | 3 局平均时长与胜率落在预期区间 | | [ ] | P2-05 | 平衡性首轮调参(敌人曲线、经济曲线、掉落曲线) | `Assets/GameMain/DataTables/*.txt` | 3 局平均时长与胜率落在预期区间 |
| [ ] | P2-06 | 最低限度自动化测试(公式与关键流程) | `Assets/` 下新增 `Editor`/`Runtime` 测试 | 关键计算与流程回归可自动验证 | | [ ] | P2-06 | 最低限度自动化测试(公式与关键流程) | `Assets/` 下新增 `Editor`/`Runtime` 测试 | 关键计算与流程回归可自动验证 |
| [ ] | P2-07 | 性能与稳定性检查(长局、内存、异常日志) | `docs/PerformanceReport.md` | 连续游玩 30 分钟无阻断性问题 | | [ ] | P2-07 | 性能与稳定性检查(长局、内存、异常日志) | `docs/PerformanceReport.md` | 连续游玩 30 分钟无阻断性问题 |
## 本周建议开工顺序 ## 本周建议开工顺序
1. `P0-01` ~ `P0-04`(先把范围与数据基础打稳) 1. `P0-01` ~ `P0-04`(先把范围与数据基础打稳)
2. `P0-05` ~ `P0-09`(打通节点到战斗再到结算) 2. `P0-05` ~ `P0-09`(打通节点到战斗再到结算)
3. `P0-10` ~ `P0-12`(完成组装与耐久闭环) 3. `P0-10` ~ `P0-12`(完成组装与耐久闭环)
## 设计优化 Backlog新增 ## 设计优化 Backlog新增
| 状态 | ID | 优先级 | 任务 | 交付物路径 | 验收标准 | | 状态 | ID | 优先级 | 任务 | 交付物路径 | 验收标准 |
| --- | --- | --- | --- | --- | --- | |-----|------|-----|------------------------------|------------------------------------------------------------------------------------------------------------------|------------------------------|
| [ ] | D-01 | P0 | 新手前 15 分钟分阶段解锁复杂度(组装/节点/商店) | `docs/NewPlayerFlow.md` `Assets/GameMain/Scripts/Procedure/` `Assets/GameMain/Scripts/UI/` | 新玩家首局可在 15 分钟内完成完整流程且无关键机制卡死 | | [ ] | 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/` `Assets/GameMain/Scripts/Entity/` | 任意放置行为都不会导致敌人无路可走 | | [ ] | D-02 | P0 | 路径阻挡合法性校验(永远保留至少一条可行路径) | `Assets/GameMain/Scripts/Scene/`<br>`Assets/GameMain/Scripts/Entity/` | 任意放置行为都不会导致敌人无路可走 |
| [ ] | D-03 | P1 | “胜利后继续”风险收益曲线重做(危险快速上升+保底收益) | `Assets/GameMain/DataTables/*.txt` `Assets/GameMain/Scripts/Procedure/` | 连续继续挑战时,敌人强度阶梯上升且每波都有可感知保底收益 | | [ ] | D-03 | P1 | “胜利后继续”风险收益曲线重做(危险快速上升+保底收益) | `Assets/GameMain/DataTables/*.txt`<br>`Assets/GameMain/Scripts/Procedure/` | 连续继续挑战时,敌人强度阶梯上升且每波都有可感知保底收益 |
| [ ] | D-04 | P1 | 耐久惩罚去滚雪球(改为维修成本或临时失效) | `Assets/GameMain/Scripts/Entity/` `Assets/GameMain/Scripts/Procedure/` `Assets/GameMain/DataTables/*.txt` | 低血量通关后不会直接导致下一节点战力崩溃 | | [ ] | D-04 | P1 | 耐久惩罚去滚雪球(改为维修成本或临时失效) | `Assets/GameMain/Scripts/Entity/`<br>`Assets/GameMain/Scripts/Procedure/`<br>`Assets/GameMain/DataTables/*.txt` | 低血量通关后不会直接导致下一节点战力崩溃 |
| [ ] | D-05 | P1 | 品质槽位断层平滑(降低白/绿到蓝的跳变) | `Assets/GameMain/Scripts/Definition/` `Assets/GameMain/Scripts/Entity/` `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` `Assets/GameMain/DataTables/*.txt` | 三类事件都可稳定出现,且选择差异明显 | | [ ] | D-06 | P1 | 事件池按期望值分层(高风险/低风险/功能型) | `docs/EventDesign.md`<br>`Assets/GameMain/DataTables/*.txt` | 三类事件都可稳定出现,且选择差异明显 |
| [ ] | D-07 | P1 | 主题地图反制机制(每主题至少 2 个可用对策) | `Assets/GameMain/Scripts/Entity/` `Assets/GameMain/Scripts/Scene/` `Assets/GameMain/DataTables/*.txt` | 火山与山地都存在明确反制构筑UI 有可读提示 | | [ ] | 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` `Assets/GameMain/DataTables/*.txt` | 关键曲线有目标区间3 局测试结果可与目标对比复盘 | | [ ] | D-08 | P0 | 先定义数值预算(经济/敌强/掉落)再调参 | `docs/NumericBudget.md`<br>`Assets/GameMain/DataTables/*.txt` | 关键曲线有目标区间3 局测试结果可与目标对比复盘 |