docs(gdd): 新骨架 00-05 顶层文档成文,清偿全仓旧 GDD 路径引用并停用 lint 钩子
This commit is contained in:
1 parent
03363a761b
commit
80cb13548d
27 files changed
+277
-71
No files matched your search
+1
-16
@@ -1,16 +1 @@
|
||||
{
|
||||
"hooks": {
|
||||
"PostToolUse": [
|
||||
{
|
||||
"matcher": "Write|Edit",
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "python tools/hook_gdd_lint.py",
|
||||
"timeout": 60
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
{}
|
||||
@@ -1,7 +1,7 @@
|
||||
# Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)
|
||||
|
||||
扫雷推理层 + 自动战斗结算的两段式回合 Roguelike。个人开发,MVP 优先管线。
|
||||
设计入口(独立版 GDD):`design/gdd/gdd.md` · 概念:`design/gdd/game-concept.md` · 支柱:`design/gdd/game-pillars.md` · 系统索引:`design/gdd/systems-index.md`
|
||||
设计入口:`design/gdd/02-系统清单.md`(循环式新骨架根索引)· 概念:`design/gdd/00-游戏概念.md` · 旧版 GDD 归档(只读参考):`design/archive/gdd-2026-09-14/`
|
||||
|
||||
## Technology Stack
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
- **文档形态纪律(2026-09-13 评审确立,勿违反)**:GDD 及一切设计文档遵循 lean 格式——模板 `.claude/docs/templates/game-design-document.md`,门禁 `tools/gdd_lint.py`(新文档与每次修订后必须 PASS)。六条硬规则:① 散文段 ≤240 字,全文表格占比 ≥60%;② 枚举、数值边界、边界情况、依赖一律表格;流程一律字符画(代码块)或出口分发表,禁止散文描述步骤;③ 体验锚点用关键词(支柱 | 关键词 | 机制承诺 表),禁长篇情绪描述;④ 公式**结论先行**——先一行加粗结论,再"推导"小标题放公式代码块、Variables 表与验算表,公式本体必须保留(推理证明不可省);⑤ 修订历史只写文末「版本历史」表——正文禁止 ~~删除线~~、"(作废)"、"(日期+评审/修订/拍板)"式注记;义务台账、拍板记录、registry 回执等审计元数据入 `design/registry` 或附录,不入正文。评审发现写 review log,正文只收干净的现行规则;⑥ **规则两段式:人话先行、举证在后(可读性承重条款)**:核心规则/玩法/系统按两段写——**人话阶段**:作用于哪个系统、在什么情况下、谁触发、触发后发生什么;效果与情况用枚举表列出;**举证阶段**:逐效果给出计算方法/公式(就地给出或指向公式节);纯流程规则明写"无计算"。读者测试:没读过本文档的人能否回答"管的是谁?什么时候?会发生什么?"——答不出就重写。规则名禁止纯名词短语(反例:"获取路由""编排被动性");编号引用(AC-x / F-x / EC-x / 义务×)不进人话,只进举证与依据。**(2026-09-14 用户拍板增补)**:R2 表格占比阈值已由 60% 放宽至 30%(防铺开职责由 R1/R9 承担)——既有 13 份 GDD 按旧口径继续成立,不回改。
|
||||
- **两件套纪律(2026-09-14 用户拍板,新系统 GDD 即日生效)**:新系统设计文档写一对——`design/gdd/[system].md` 只装**结论**(设计目的/系统范围[负责·不负责]/核心循环/领域章节×2–6/依赖与输出/P0 最小闭环/P1·P2 后置表/调参表/验收标准/版本历史),**设计推演**(候选取舍、机理、为什么)装 `design/gdd/analysis/[system].md`(每个问题四段:广度分析→深度分析→综合判断;不入 lint 门禁,钩子豁免)。判据:正文出现超过一行的"为什么"即违规——挪 analysis。优先级诚实条款:**后置 ≠ 删除**,复活后置行 = 修订 GDD,禁止静默加回。数值默认后置:正文定规则/域/单位,平衡值进数据表(provisional 必须标注)。既有 13 份 GDD 维持 lean v1 形态不回改;模板 v2 与 analysis 骨架见 `.claude/docs/templates/game-design-document.md`。
|
||||
⑦ **树形文档体系与一页纸节点(导航承重条款)**:全部设计文档构成一棵树——根索引 `systems-index` 承载整棵树的形状与每个节点的一句话概要,读者靠索引决定进入哪个节点,索引必须随文档增删同步维护。树内每个节点(GDD 内的每一节、每条规则、每张公式)内容控制在一页纸内(直接内容 ≤80 行,`tools/gdd_lint.py` R9 强制):装不下就拆成子节点,禁止铺开;节点内顺序 = 人话 → 表格枚举 → 字符流程图 → 举证公式。**session-state 条目纪律**:`production/session-state/active.md` 每条进度 ≤3 行(粗体键 + 短句),详情一律外链到对应 GDD/报告/日志,禁止把定稿摘要、义务清单、回写清单整段塞进条目。
|
||||
- **新骨架过渡口径(2026-09-14 用户拍板)**:`design/gdd/` 现行循环式新骨架**不适用**上方 lean 形态纪律(`gdd_lint` 门禁)、两件套纪律与"根索引 = systems-index"条款——那几条仅约束归档体系(`design/archive/gdd-2026-09-14/`,只读)的解读与引用。新骨架纪律三条:① **可读性优先**——人话先行、节点一页纸以内,不过 lint;② **文档增删必须同步根索引 `02-系统清单.md`**;③ 每个子系统一份文档,**不建 analysis 推演件**。`gdd_lint` 的 PostToolUse 钩子同批停用(工具本体留在 `tools/` 备查)。已锁数值事实源不变:`design/registry/entities.yaml` 与 `data/tables/`;registry 中 owner 指向旧 GDD 的条目改指归档路径,待对应新 systems 文档定稿后再逐条改指新文档。
|
||||
|
||||
## 代码规范(写代码前必读,2026-09-11 用户拍板成文)
|
||||
|
||||
|
||||
@@ -1,3 +1,63 @@
|
||||
# 游戏概念
|
||||
|
||||
## 一句话概念
|
||||
|
||||
**扫雷的推理 × 自动战斗的兑现——你在战斗前做的每一次排雷决策,决定战斗的胜负。**
|
||||
|
||||
30 秒版本:你是一名地牢探险者,逐层下探被怪物巢穴侵染的地牢。每一层就是一张雷图:挖开安全格给自己拿增益,控制巢穴削弱敌人,惊动巢穴则喂强敌人。行动点用尽,轮末自动结算——扫雷攒下的因,逐行兑现成战斗的果。清了图换新图继续,杀穿 Boss 下探更深;死了,整个冒险从头再来。结构上像《Peglin》的"小游戏 → 战斗结算"两段式回合循环,但把弹珠的运气换成了扫雷的推理。
|
||||
|
||||
## 目标受众
|
||||
|
||||
| 层 | 画像 |
|
||||
|---|---|
|
||||
| 核心受众 | 策略推理玩家 × Roguelike 构建玩家的交集——喜欢杀戮尖塔/小丑牌的构筑决策,也喜欢扫雷/数独的纯逻辑掌控感 |
|
||||
| 次级受众 | Peglin 玩家中觉得"弹珠太看脸"的群体;怀旧扫雷玩家中寻找进化的群体 |
|
||||
|
||||
平台与节奏:PC(Steam)先行,单机单人;回合逻辑玩法,对配置无要求。一场冒险约 20–40 分钟、单关约 5–10 分钟(旧版概念文档定稿口径),碎片时间可完成一场战斗。
|
||||
|
||||
不讨好谁:不做多人与在线要素;不伺候重叙事玩家——世界观只做碎片点缀,卖点在玩法不在文本;也不迎合追求即时操作快感的玩家,全部决策都在回合内慢慢想。
|
||||
|
||||
## 世界观命名
|
||||
|
||||
**产品名:Dungeon Sweeper。** 取 minesweeper → dungeon sweeper 的双关:玩家不只是"扫雷者",更是"清扫地牢的人"——逐层肃清巢穴侵染、夺回地牢的清巢者。"扫雷 × 自动战斗 闯关 Roguelike"保留为品类描述,用作各文档副标题。
|
||||
|
||||
**背景一句话**:玩家操纵一名地牢探险者,逐层下探一座被怪物巢穴侵染的古代地牢;每一层就是一张雷图——惩罚格密布的古老地砖阵,探险者凭数字提示感知惩罚格方位,控制巢穴、搜刮前人遗落物,才能安全下探更深的层。
|
||||
|
||||
**巢穴隐喻轴**(表现层/命名层定稿,不改变任何机制语义;左列为对内文档与协议称呼,保持不变):
|
||||
|
||||
| 机制元素(对内称呼) | 玩家可见叙事 |
|
||||
|---|---|
|
||||
| 扫雷图 | 被巢穴侵染的地牢厅室;清图 = 肃清本间厅室,下探更深 |
|
||||
| 雷 / 雷格 | **惩罚格**(对外属名),下辖类型;首发类型 = 怪物巢穴——惊动则怪物倾巢而出占得先机,巢已空、残址可通行 |
|
||||
| 旗 / 插旗 | **控制**(玩家可见动词,类型无关)——标中 = 巢穴废置、巢主失庇护(怪物被削弱);"封印/镇/反制"降级为类型风味词 |
|
||||
| 连锁展开 | **坍塌显形**——挖穿薄壳,整片松动地面塌陷露出 |
|
||||
| 标错 | **控制失败的失控反噬**——机制上的随机读作"失控",反噬流向不可控 |
|
||||
| 道具 / 奖励 | 前人探险者的遗落物(氛围背景句,登记不锁;宝箱呈现只绑定可使用道具类奖励) |
|
||||
|
||||
**存疑项**(未拍板,此处只登记不展开):惩罚格未来类型(陷阱/岩浆/冰冻等)只登记了名字,机制分化未定;标错反噬的具体机制落点(流向谁、一次还是每轮)未定,本文只承诺叙事壳;两类增伤分量的叙事称呼("地利/暴露")仍是候选措辞,未拍板。
|
||||
|
||||
## 术语层级
|
||||
|
||||
本项目用语分两层,纪律如下:
|
||||
|
||||
1. **玩家可见专属名词**——道具名、界面用语、敌种名、层名。允许起专名,以 `design/registry/entities.yaml` 登记为准。界面用语"惩罚格 / 控制 / 坍塌显形"同属本层,见上节。
|
||||
2. **文档内部机制概念**——一律直白描述,禁止造词(比喻性生造词、只有作者懂的缩略语均在禁列)。确需命名时,首次出现处附一句白话定义并登记 registry 术语条目。
|
||||
|
||||
当前已登记的玩家可见专名(名称值均为 provisional,出处为 registry 对应条目):
|
||||
|
||||
| 专名 | 是什么 | 出处条目 |
|
||||
|---|---|---|
|
||||
| 显影尘 | 信息类辅助道具 | a5_aux_items |
|
||||
| 工兵令 | 加行动点的辅助道具 | a5_aux_items |
|
||||
| 探宝罗盘 | 预读奖励身份的辅助道具 | a5_aux_items |
|
||||
| 探巢摆钟 | 探知巢穴位置的辅助道具 | a5_aux_items |
|
||||
| 地穴全图卷 | 全图级稀有辅助道具 | a5_aux_items |
|
||||
| 爆破工兵包 | 行动点 + 探巢的稀有辅助道具 | a5_aux_items |
|
||||
| 地精 / 熊地精 / 食人魔酋长 | 首发三敌种(末者为 Boss) | enemy |
|
||||
| 第一层 · 苔藓回廊 | 首关层名 | level_table |
|
||||
|
||||
注意:部分辅助道具的现行效果定义绑定已被移除的地形变异类型,其效果定位待后续内容批重定;名称暂按登记保留,重定时随批修订。
|
||||
|
||||
另:元进度资源定名**钥石**——每一层关底 Boss 看守他那块区域的钥石,击杀即取走,用于在存档内解锁永久提升(属性 / 怪物遭遇 / 道具池)。2026-09-14 用户拍板,registry 术语登记随元进度设计批补登。
|
||||
|
||||
> 旧版参考:../archive/gdd-2026-09-14/game-concept.md
|
||||
@@ -1,3 +1,41 @@
|
||||
# 核心循环
|
||||
|
||||
一句话:下洞 → 扫雷攒筹码 → 自动战斗兑现 → 变强再下洞;死了,从头再来。
|
||||
|
||||
## 一场战斗:扫雷的因,战斗的果
|
||||
|
||||
每场战斗都在一张雷图上打。战斗本身不用手操——你能做的全部决策,都在它的"准备期"里:
|
||||
|
||||
1. 开局一张新雷图,每轮发给你若干行动点。
|
||||
2. 用行动点做排雷决策:挖开安全格,拿增益和道具;控制(插旗)巢穴,削弱里面的怪物;点错惊动巢穴,怪物反而变强。
|
||||
3. 行动点用尽——或者你主动停手——这一轮结束,轮末自动结算:你这一轮扫雷攒下的因,逐行兑现成战斗的果。你拿的增益打了出去,你控制的巢穴变成怪物的虚弱,你惊动的巢穴变成怪物的先手。
|
||||
4. 敌人没死光、你还活着,就进下一轮,同一张图接着挖;图开完了,发清图奖励,换一张新图接着打。
|
||||
|
||||
所以自动战斗不是过场,是阅卷:每一行结算都能指回你刚才的哪一步棋。
|
||||
|
||||
## 一场冒险:关卡串起来的下探
|
||||
|
||||
战斗串成关卡,关卡串成冒险:
|
||||
|
||||
```
|
||||
开始冒险(一条命)
|
||||
→ 关卡:节点链逐节点推进(战斗 / 奖励 / 恢复 → 关底 Boss)
|
||||
→ Boss 倒下 → 关卡大奖励(血回满、上限提升)→ 下一关
|
||||
→ 打穿全部关卡 → 冒险完成
|
||||
→ 任意一场战斗倒下 → 冒险结束
|
||||
```
|
||||
|
||||
一条血走完整场冒险:战后剩多少血就带多少进下一场,恢复点回一部分,通关一关血回满还加上限。所以越往后,你越在意"这局已经走到第几层"。
|
||||
|
||||
## 死了之后:为什么想再开一局
|
||||
|
||||
两条理由拧在一起:
|
||||
|
||||
- **推理的确定性**。扫雷这一层不靠赌:棋盘生成保证可推理,输掉的每一步都能复盘出"我哪步算错了"。"下次我能算对"的掌控感,是重开的第一驱动力。
|
||||
- **每局都不同**。新一局 = 新种子、新雷图、新奖励落点。重开不是同一关的复读,而是带着"这局能走得更远"的期待重新开局。
|
||||
|
||||
还有一条埋在冒险之外:**存档在变厚**。每一层的关底 Boss 都看守着他那块区域的**钥石**——杀了它就取走一枚,攒进存档;就算你之后倒下,已取走的钥石也不会丢。冒险与冒险之间,你用钥石解锁永久提升——角色属性更强、怪物遭遇更丰富、道具池更厚。所以下一次冒险不只是换了个种子:你的存档比上一次更有料,能遇到的东西更多。第一局开局时存档是一块白板,只有最基本的内容;每多取一枚钥石,白板上的东西就多一些。
|
||||
|
||||
循环到此闭合:进入一局 → 在棋盘上推理 → 看推理兑现成胜负 → 带着变强(或更痛)的记忆和一个更厚的存档,想进下一个节点、下一张图、下一层、下一局。
|
||||
|
||||
> 旧版参考:../archive/gdd-2026-09-14/gdd.md
|
||||
@@ -1,3 +1,85 @@
|
||||
# 内容规模
|
||||
|
||||
一句话体量:**一关、三种敌人、两档棋盘、八种战斗道具、六种辅助道具、六种状态**——刚好撑起一次完整的"扫雷决策 → 战斗兑现"循环,除此之外一律不做。以下数字以 `data/tables/` 实际行数与 `design/registry/entities.yaml` 登记为准。
|
||||
|
||||
## 关卡
|
||||
|
||||
现有 **1 关**(level.tres 一行),节点链 7 节、5 场战斗:
|
||||
|
||||
| 关卡 | 层名 | 节点链 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 第一层 | 苔藓回廊 | 战(D0) → 战(D1) → 随机道具 → 战(D2) → 战(D3) → 恢复点 → Boss 战(D4) | 已落地 |
|
||||
| 第二层 | 未定 | 同一条链模板复用,只换数值 | 仅有 D0 锚行,D1–D4 行值待填 |
|
||||
|
||||
MVP 做到两关:第二层不新造结构,与第一层共用节点链模板,靠数值台阶区分。第二层的生效前提是把敌人表与棋盘表的 D1–D4 行值填齐;填齐之前冒险按一关运行——这是合法态,不是残缺。
|
||||
|
||||
## 敌人
|
||||
|
||||
**三种**,含一个 Boss(enemy.tres 六行 = 第一关五场遭遇 + 第二层锚行):
|
||||
|
||||
| 敌人 | 定位 | 行为环 |
|
||||
|---|---|---|
|
||||
| 地精 | 教学杂鱼,可成群(1–3 个) | 只会攻击 |
|
||||
| 熊地精 | 主力,可成群 | 攻击 → 蓄力 → 重击三拍循环 |
|
||||
| 食人魔酋长 | 第一关 Boss,单个 | 攻击 → 攻击 → 蓄力 → 重击四拍循环 |
|
||||
|
||||
每种敌人配一档护甲(无甲 / 甲A / 甲B),正好构成"无甲 → 甲A → 甲B"的教学梯度。MVP 不加新敌种,也不做同深度多敌种混搭。
|
||||
|
||||
## 棋盘
|
||||
|
||||
**两档规格**(board_gen.tres),密度全程一档:
|
||||
|
||||
| 档位 | 尺寸 | 雷密度 | 用于 |
|
||||
|---|---|---|---|
|
||||
| 小板 | 10×10 | 25% | 第一关前两战 |
|
||||
| 大板 | 12×12 | 25% | 第一关后三战(含 Boss) |
|
||||
|
||||
不做密度爬坡——Boss 战的台阶靠换大板制造,可推理率目标全程恒 0.88。地形变异暂无内容:雾格已从设计中移除,岩浆/冰冻等只登记了名字。
|
||||
|
||||
## 战斗道具
|
||||
|
||||
**八种**(reward.tres 八行),按交付方式分三类:
|
||||
|
||||
| 类别 | 道具 | 用法 |
|
||||
|---|---|---|
|
||||
| 格子开出、当场生效 | 增伤术、石肤术、爆裂粉尘、急救敷料 | 挖到就兑付,不进背包 |
|
||||
| 入背包、结算窗口选用 | 小刀、精工短刀、治疗包 | 每场战斗至多选用一件 |
|
||||
| 清图奖励 | 清障炸药 | 清完整张雷图当场兑付 |
|
||||
|
||||
MVP 就这么多:两个增益、两件小救急、两把刀、一个清图大奖。不做道具之间的组合协同。
|
||||
|
||||
## 扫雷辅助道具
|
||||
|
||||
registry 登记 **六种**(数据表未建,属待落地内容):显影尘、工兵令、探宝罗盘、探巢摆钟、地穴全图卷、爆破工兵包——四个常规单功能加两个稀有组合。MVP 不新增第七种。
|
||||
|
||||
待定一句:显影尘与地穴全图卷的现行效果定义绑定雾格,雾格移除后这两件的效果定位待重定;其余四件不依赖雾格,定义有效。
|
||||
|
||||
## 增益与状态
|
||||
|
||||
**六种**(status_effects.tres),全部一轮有效、可叠层、战斗结束清空:
|
||||
|
||||
| 状态 | 作用方 | 效果 |
|
||||
|---|---|---|
|
||||
| 增伤 | 主角 | 攻击 +50% |
|
||||
| 减伤 | 主角 | 承伤 −30% |
|
||||
| 失衡 | 主角 | 承伤 +25% |
|
||||
| 伏击 | 敌方 | 每次攻击附加固定伤害 |
|
||||
| 削弱 | 敌方 | 输出 −65%(标中巢穴的兑付) |
|
||||
| 暴走 | 敌方 | 输出 +25% |
|
||||
|
||||
MVP 不加新状态。
|
||||
|
||||
## 暂不做 / 后续再说
|
||||
|
||||
垂直切片阶段明确砍掉或推迟的内容,写在这里防止回潮:
|
||||
|
||||
- 更多关卡(N>2)与关内分支路线——第二层先按线性模板跑通
|
||||
- 精英节点与词缀系统——只预留了字段位,不定义语义
|
||||
- 地形变异内容——雾格已移除,其余变异只有名字
|
||||
- 道具/增益之间的组合协同(遗物式联动)
|
||||
- 战后自动回复——回复只有道具与恢复点两个来源
|
||||
- 元进度与跨局成长
|
||||
- 新敌种、新棋盘档位、更高密度、同深度多敌种混搭
|
||||
- 第七种辅助道具、第七种状态
|
||||
|
||||
> 旧版参考:../archive/gdd-2026-09-14/gdd.md
|
||||
@@ -1,3 +1,17 @@
|
||||
# 美术音频方向
|
||||
|
||||
**风格一句话:明快的地牢,轻快的扫荡,仔细的推理——轻快明亮的像素幻想冒险风,全年龄,非暗黑,角色 2~3 头身。**
|
||||
|
||||
三条关键词:
|
||||
|
||||
- **数字可读性第一**:一切视觉让位给雷图数字的辨识——氛围色与数字冲突时,改氛围色,不改数字。
|
||||
- **明亮为皮,对比为骨**:全局高亮度、暖倾向、无压抑,但格底色要收、要素,把对比预算留给数字。
|
||||
- **格子即地牢地砖**:未开是覆尘完整砖,已开是碎裂裸露,惩罚格是被惊动的怪物巢穴;新关卡环境优先换色板,不加新资产。
|
||||
|
||||
参考游戏三者相融(参考截图存于 `design/art/references/`):**Into the Breach** 取网格信息分层与"预告画在目标格上";**Moonlighter** 取明亮像素地牢的暖砖质感;**Peglin** 取明快全年龄的地牢色彩。
|
||||
|
||||
**音频方向未定稿**:MVP 阶段用占位音效即可,正式音乐与音效等核心循环验证后再定。
|
||||
|
||||
美术细则(色板、形状语言、图标契约、验收标准)见 `design/art/art-bible.md`。
|
||||
|
||||
> 旧版参考:../archive/gdd-2026-09-14/game-concept.md
|
||||
@@ -1,3 +1,28 @@
|
||||
# 不做清单
|
||||
|
||||
这页纸用来防范围蔓延:想到什么新点子,先来对一下这里。真想推翻某条,走对应系统的修订流程,不许静默加回来。
|
||||
|
||||
## 确定不做(与定位冲突,永久排除)
|
||||
|
||||
- **雾格 / 迷雾类战争迷雾机制**:曾在旧设计中承担地形变异,2026-09-14 已从设计中移除。它给推理信息源的代价大于收益,地形变异的未来只走非雾变异(岩浆/冰冻等,待定)。
|
||||
- **多人 / 在线要素**:游戏前提就是单机单人。合作、对战、排行榜这类在线功能会把开发成本翻倍,还不服务核心受众。
|
||||
- **重叙事**:不写前人日志、剧情演出这类长篇文本。世界观只做碎片点缀,卖点在玩法不在文本。
|
||||
- **即时操作玩法**:所有决策都在回合内慢慢想,不考反应、不考手速。任何"限时点击""走位闪避"都免谈。
|
||||
- **chord(经典扫雷的双击快开)**:本作每一格的兑现都要花行动点,chord 一键开一片会让行动点预算失去意义。
|
||||
- **抽象货币 / 中间资源折算**:扫雷收益全部直接兑成战斗效果,中间隔一层货币会稀释"排雷的因 = 战斗的果"这条因果可见的底线。
|
||||
- **旗做成背包道具或限量**:旗只是棋盘上的标记,想用多少用多少;它的稀缺性由行动点价目承载,不做第二重限制。
|
||||
- **未开格显示奖励身份**:推雷是本作的本征玩法,预读会拆掉推理。允许"恢复推理原料"类道具(显影/预读窄域),不允许替代推理。
|
||||
- **第二套随机惩罚**:所有风险都从雷和未知格派生,不再引入平行的随机惩罚源——惩罚多了,玩家就没法归因了。
|
||||
|
||||
## 现阶段不做(裁下来的,以后再说)
|
||||
|
||||
- **多波战斗**:Peglin 对比报告(2026-09-12)裁下的后置项。单场多波是战斗编排级的改动,波间状态保留规则也要重新定义,排 Alpha 期评估。
|
||||
- **遗物 / 构筑协同**:同批裁下。先做协同设计再谈加密度,没有协同的纯堆量只会稀释每件道具的存在感。
|
||||
- **战后回复**:同批裁下。要做得绑定敌方攻击力下调,单独加回复会直接破坏现有数值预期。
|
||||
- **元进度(钥石解锁 / 跨局成长)**:排 Alpha。先把单局循环做扎实,跨局成长是之后的事。
|
||||
- **路径分支地图**:已拍板后置,关卡内先用线性节点链。分支选择是 Roguelike 的加分项,但当前体量撑不起有意义的岔路。
|
||||
- **反雪球机制**:MVP 不做。等 Alpha 拿到真实测试数据,再决定要不要治滚雪球、怎么治。
|
||||
- **正式音频、教学引导、战斗动画演出、设置与本地化**:MVP 内的打磨项,一律排后。先验证核心循环,再谈好听好看。
|
||||
- **连刷 / 换图资金跨战斗携带**:现行规则是每场战斗清零,防滚雪球。是否解禁连刷策略,等实测数据说话。
|
||||
|
||||
> 旧版参考:../archive/gdd-2026-09-14/gdd.md
|
||||
@@ -6,7 +6,7 @@
|
||||
entities:
|
||||
- name: config_db
|
||||
type: service
|
||||
owner: design/gdd/d2-data-config.md
|
||||
owner: design/archive/gdd-2026-09-14/d2-data-config.md
|
||||
attributes:
|
||||
kind: autoload
|
||||
role: 数值表单点访问入口(类型化属性)
|
||||
@@ -16,7 +16,7 @@ entities:
|
||||
|
||||
- name: rng_service
|
||||
type: service
|
||||
owner: design/gdd/d2-data-config.md
|
||||
owner: design/archive/gdd-2026-09-14/d2-data-config.md
|
||||
attributes:
|
||||
kind: autoload
|
||||
streams: [board_gen, reward_roll, encounter]
|
||||
@@ -29,7 +29,7 @@ entities:
|
||||
|
||||
- name: stream_seed_derivation
|
||||
type: formula
|
||||
owner: design/gdd/d2-data-config.md
|
||||
owner: design/archive/gdd-2026-09-14/d2-data-config.md
|
||||
attributes:
|
||||
variables: [SALT_s, master_seed, scope]
|
||||
output_range: "[0, 2^63)"
|
||||
@@ -46,7 +46,7 @@ entities:
|
||||
|
||||
- name: difficulty_row_resolution
|
||||
type: formula
|
||||
owner: design/gdd/d2-data-config.md
|
||||
owner: design/archive/gdd-2026-09-14/d2-data-config.md
|
||||
attributes:
|
||||
rule: (level_index, node_depth) 双维 floor 解析 + base_ceil 命名(请求低于表首向上解析);无 default 行兜底、无外推;越域请求(level<1/depth<0)致命
|
||||
warning_dedup_key: (table_id, missing_type, L*, D*) 四元组;missing_type ∈ {level_floor, depth_floor, both, base_ceil}
|
||||
@@ -56,7 +56,7 @@ entities:
|
||||
|
||||
- name: schema_version
|
||||
type: constant
|
||||
owner: design/gdd/d2-data-config.md
|
||||
owner: design/archive/gdd-2026-09-14/d2-data-config.md
|
||||
attributes:
|
||||
value: 实现期定(MVP=1);全部占位 schema 均携带版本字段
|
||||
high_version_policy: 拒读(比较逻辑 owner=D3)
|
||||
@@ -64,7 +64,7 @@ entities:
|
||||
|
||||
- name: action_economy
|
||||
type: constant_set
|
||||
owner: design/gdd/a3-action-economy.md
|
||||
owner: design/archive/gdd-2026-09-14/a3-action-economy.md
|
||||
attributes:
|
||||
table: ActionEconomyTable(D2 承载,单行全局;A3 为回填 owner;2026-09-07 三次回填(RAP 结构修订)——四字段删除 + rap_refresh_cost 新增,见 A3 Schema 定稿节)
|
||||
ap_per_round: 8(原型 v2 定稿,12 点已否决;双重身份:节奏 knob 兼停手 RAP 转存规模)
|
||||
@@ -84,7 +84,7 @@ entities:
|
||||
|
||||
- name: variation_table
|
||||
type: schema_data
|
||||
owner: design/gdd/a4-terrain-variation.md
|
||||
owner: design/archive/gdd-2026-09-14/a4-terrain-variation.md
|
||||
attributes:
|
||||
table: VariationTable(D2 承载,键 = variant_id;A4 回填 owner,2026-09-08 定稿回填)
|
||||
fields: variant_id(String 主键唯一)/ display_name / unlock_level(int [1,999],knob)/ scope(enum region|global,global 预留 C3)/ info_mask(enum none|hide_numbers)/ cell_constraint(enum any|safe_nonzero)/ biome_tag(StringList,∅=通配,knob)/ counter_item_ids(StringList,A5 预留,非 knob——2026-09-08 re-review 修正 ✓ 误标)
|
||||
@@ -100,7 +100,7 @@ entities:
|
||||
|
||||
- name: variant_pool_gate
|
||||
type: formula
|
||||
owner: design/gdd/a4-terrain-variation.md
|
||||
owner: design/archive/gdd-2026-09-14/a4-terrain-variation.md
|
||||
attributes:
|
||||
variables: [unlock_level, level_index, biome_tag, board_biome]
|
||||
rule: pool = {v ∈ VariationTable | unlock_level ≤ level_index ∧ (biome_tag=∅ ∨ biome_tag ∩ board_biome ≠ ∅)};直接整数比较(无 D2 R1 floor);∅ = 通配语义
|
||||
@@ -111,7 +111,7 @@ entities:
|
||||
|
||||
- name: status_effect
|
||||
type: schema_data
|
||||
owner: design/gdd/b3-status-effect.md
|
||||
owner: design/archive/gdd-2026-09-14/b3-status-effect.md
|
||||
attributes:
|
||||
table: StatusEffectTable(D2 承载,键 = effect_id;B3 回填 owner,2026-09-08 定稿回填)
|
||||
fields:
|
||||
@@ -143,7 +143,7 @@ entities:
|
||||
|
||||
- name: board_gen_table
|
||||
type: schema_data
|
||||
owner: design/gdd/a1-board-generation.md
|
||||
owner: design/archive/gdd-2026-09-14/a1-board-generation.md
|
||||
attributes:
|
||||
table: BoardGenTable(D2 承载,键 (level_index, node_depth) + depth-0 锚行——首个进度键表;A1 回填 owner,2026-09-09 定稿回填;第三轴登记约定〔B7 修订〕——Boss 图 = 各 level Dmax 行、elite_/boss_ 字段命名空间预留、C1/C3 定稿强制重审 OQ6,改键退路 = D2 Rule 4 接口漂移通道)
|
||||
fields: board_width/board_height(int [8,64],knob)/ mine_density(float (0,0.5],knob——雷量参数形态=密度浮点,尺寸解耦;布雷数下限 round(d×(W×H−9)) ≥ 1,R3 修订)/ inferability_target(float **[0.85,1]**,knob——P1 门槛承重参数+绝对锚,B1 修订收窄)/ solver_rules(enum single|single_subset,**冻结 single_subset**——推理定义域非调参)/ min_safe_count(int [1,999],knob——A3 EC5 退化板对冲)/ max_gen_attempts(int [1,32],knob)/ fog_region_count(int [0,32],knob)/ fog_target_ratio(float [0,1),knob——**≤ min(8d, 0.25) 绝对上限,B1 修订**)/ board_biome(StringSet **非空**,域校验致命——A4⑮;词表 owner 未定稿前只校验非空)+ elite_/boss_ 前缀字段命名空间预留(非 knob,B7——语义归 C1/C3)
|
||||
@@ -160,7 +160,7 @@ entities:
|
||||
|
||||
- name: a2_event_surface
|
||||
type: schema_data
|
||||
owner: design/gdd/a2-minesweeper-rules.md
|
||||
owner: design/archive/gdd-2026-09-14/a2-minesweeper-rules.md
|
||||
attributes:
|
||||
kind: 三事件回边契约(发射面封闭——TD-SYSTEM-BOUNDARY 回边裁决的 A2 侧定稿;增删事件 = 接口漂移修订)
|
||||
cell_revealed: "{cell, kind ∈ {safe, mine}, digit【仅 kind=safe 携带、恒真透传含雾格——呈现隐藏归 D1,判定源 = variant_ids,A2×4③】, variant_ids, channel ∈ {initial, chain, dig}, reward_eligible【initial 恒 false / chain·dig ∧ safe 恒 true(含链开雾格)/ mine 恒 false】}"
|
||||
@@ -173,7 +173,7 @@ entities:
|
||||
|
||||
- name: a2_initial_expansion
|
||||
type: formula
|
||||
owner: design/gdd/a2-minesweeper-rules.md
|
||||
owner: design/archive/gdd-2026-09-14/a2-minesweeper-rules.md
|
||||
attributes:
|
||||
rule: O₀ = R₀ = 出生 3×3 ∪ 0 格 flood 闭包(与 A1 F1 求解器初始态同算子同值——运行期镜像,显式不含外扩 1 环);执行时点 = install_board 事务内一次(板级一次跨轮不重放)
|
||||
properties: 免费(零 try_spend)· 计入清图进度 · 无奖励(channel=initial、reward_eligible=false——game-concept 定稿;B1×3 强制项:不入奖励库)· 永不触雷(R₀ ∩ M = ∅ 为 A2 侧定理)触雾(A1 排除域 + install 不变式②)
|
||||
@@ -185,7 +185,7 @@ entities:
|
||||
|
||||
- name: terminology
|
||||
type: glossary
|
||||
owner: design/gdd/a2-minesweeper-rules.md(各词条以首次定义 GDD 为 owner)
|
||||
owner: design/archive/gdd-2026-09-14/a2-minesweeper-rules.md(各词条以首次定义 GDD 为 owner)
|
||||
attributes:
|
||||
purpose: CLAUDE.md 用语纪律(2026-09-09)的登记通道——项目内生术语的白话定义集中地,GDD 首次出现处须附同款定义
|
||||
terms:
|
||||
@@ -235,7 +235,7 @@ entities:
|
||||
|
||||
- name: enemy
|
||||
type: schema_data
|
||||
owner: design/gdd/b2-enemy-system.md
|
||||
owner: design/archive/gdd-2026-09-14/b2-enemy-system.md
|
||||
attributes:
|
||||
table: EnemyTable(D2 承载,键 (level_index, node_depth, enemy_id);B2 回填 owner,2026-09-09 定稿回填——进度键 floor(D2 R1)+ 实体键精确匹配)
|
||||
fields:
|
||||
@@ -260,7 +260,7 @@ entities:
|
||||
|
||||
- name: hero
|
||||
type: schema_data
|
||||
owner: design/gdd/b2-enemy-system.md
|
||||
owner: design/archive/gdd-2026-09-14/b2-enemy-system.md
|
||||
attributes:
|
||||
table: HeroTable(D2 新增 schema 行〔接口漂移回写,2026-09-09 B2〕,单行全局;B2 回填 owner)
|
||||
fields:
|
||||
@@ -272,7 +272,7 @@ entities:
|
||||
|
||||
- name: reward_table
|
||||
type: schema_data
|
||||
owner: design/gdd/b4-reward-item-economy.md
|
||||
owner: design/archive/gdd-2026-09-14/b4-reward-item-economy.md
|
||||
attributes:
|
||||
table: RewardTable(D2 承载,键 = reward_id;B4 回填 owner,2026-09-09 定稿回填、同日 full 评审增补 display_name——含 use_timing 字段〔game-concept"使用时机"预留的兑现,MVP 单值 pre_settlement 承重,扩枚举走修订〕)
|
||||
fields:
|
||||
@@ -299,7 +299,7 @@ entities:
|
||||
|
||||
- name: reward_config
|
||||
type: schema_data
|
||||
owner: design/gdd/b4-reward-item-economy.md
|
||||
owner: design/archive/gdd-2026-09-14/b4-reward-item-economy.md
|
||||
attributes:
|
||||
table: RewardConfigTable(D2 承载,**单行全局**——2026-09-09 B4 full 评审接口漂移新增:B4 三个标量 knob 的 Rule 1 单一事实源载体,R3 override key 空间随之存在)
|
||||
fields:
|
||||
@@ -314,7 +314,7 @@ entities:
|
||||
|
||||
- name: settlement_table
|
||||
type: schema_data
|
||||
owner: design/gdd/b1-settlement.md
|
||||
owner: design/archive/gdd-2026-09-14/b1-settlement.md
|
||||
attributes:
|
||||
table: SettlementTable(D2 承载,单行全局;B1 回填 owner,2026-09-10 定稿回填;Rule 4 豁免——单行全局常量/结构表,HeroTable/ActionEconomyTable 先例)
|
||||
fields:
|
||||
@@ -337,7 +337,7 @@ entities:
|
||||
|
||||
- name: clause3_supply
|
||||
type: formula
|
||||
owner: design/gdd/b2-enemy-system.md
|
||||
owner: design/archive/gdd-2026-09-14/b2-enemy-system.md
|
||||
attributes:
|
||||
rule: B2→B1 挖掘风险不等式(A3 F1 条款 3)供给口径——每结算敌方伏击暴露精确式 = k × L × m_amb(k = 本结算存活敌中攻击/重击拍单位数,确定性可算);每结算结构上界 = unit_count × min(AP 上界, cap) × m_amb(cap > AP 界时 cap 腿松弛——2026-09-09 B2 full 评审收紧);跨结算累计 = 轨迹量非表值
|
||||
boundary: **单结算自然边界(用户 2026-09-09 定稿)**——"不设(每战)上界:踩雷 debuff 只在一次结算中有效,之后没有 debuff"(dur=1 每结算清零无存量)
|
||||
@@ -349,7 +349,7 @@ entities:
|
||||
|
||||
- name: clause5_dominance
|
||||
type: formula
|
||||
owner: design/gdd/b1-settlement.md
|
||||
owner: design/archive/gdd-2026-09-14/b1-settlement.md
|
||||
attributes:
|
||||
rule: A3 F1 条款⑤清图 vs 弃图支配性闭合(B1 单一闭合 owner,B1 GDD F5;**2026-09-10 评审批模型修订:挖穿残余池计价**——E[踩雷] = |M|×n_s/(n_s+1) 均匀交错模型、Δr = ⌈(n_s+E[踩雷])÷AP_r⌉;旧模型按每格独立赌 P(雷) 漏计全池挖掘量、系统性偏乐观)——主判式 Δ_clear = [R_res + C_eff] − [X_res + Δr × s_ref] ≥ 0;E_dig = 默认根加权 7.2 HP(刀 40%/治疗 25%/defense_up 35%);C_eff = C ×(perfect ? P_perfect÷100 : 1)(×2 = 真实双份交付);s_ref = D_ref;**停手侧 RAP 机会收益按零计价(显式假设登记——零价假设下 verdict 已为负,为 RAP 计价只会更负)**;域守卫 n_s < 1 ⇒ 主判式不评估、信息端平凡腿接管
|
||||
first_pass: **条款⑤未闭合(2026-09-10 模型修订重推——旧"两态通过"读数作废)**:L1 −5.3 / L2 −10.1(完美双份 +2.7/−2.1);满配语境 unit_count=3 深度为负(−49.6/−97.5,与 clause3_supply 破线同向联动);实现率折减口径(E_dig×0.6)更差(−18.5/−39.5);保守地板需求 L1 ≥ 46.1 / L2 ≥ 91.8(vs C=8/完美 16——缺口 −38.1/−75.8)。**C3/B4 约束包**:① C 量级上调整向(护栏 B 口径联动复核)② 或裁"清图非严格支配"为设计态(与 A4 定价硬约束②同向;如裁设计态须同步声明 A3 条款⑤ P1 对冲弱化 + B4 预警⑤加权监控)——①②二选一归 C3 裁;③ 多敌放行判据 = 条款③⑤在全部登记行组合下同时成立。判据函数角色 = 调参约束生成器(AC-40 断言输出与约束包一致)
|
||||
@@ -377,7 +377,7 @@ entities:
|
||||
# 2026-09-08 A4 full 评审修订(owner=a4-terrain-variation.md,NEEDS REVISION 8 阻塞同日核销):
|
||||
# variation_table.load_bearing_rule 增结构推论(厚度≤2/f≤8d)· fog_ap_note 改写(全价→链不可达两态;
|
||||
# 条款 5"消解"→三腿入账两态验算)· variant_pool_gate 增 board_biome 域校验归属与 15 项验收门禁登记——
|
||||
# 详见 design/gdd/reviews/a4-terrain-variation-review-log.md 阻塞→修复对照表。
|
||||
# 详见 design/archive/gdd-2026-09-14/reviews/a4-terrain-variation-review-log.md 阻塞→修复对照表。
|
||||
# 2026-09-08 A4 re-review 修订(owner=a4-terrain-variation.md,NEEDS REVISION #2 6 阻塞同日核销):
|
||||
# variation_table 增 cross_field_validation(hide_numbers⇒safe_nonzero 致命)与 pricing_constraints(B4 三
|
||||
# 硬约束)· counter_item_ids 修正为非 knob · mvp_content 的 knob 活值标注 · referenced_by 补 B1/B4 ·
|
||||
@@ -397,7 +397,7 @@ entities:
|
||||
# 2026-09-09 A2 full 评审修订(owner=a2-minesweeper-rules.md,NEEDS REVISION 6 blocking 同日核销):
|
||||
# a2_event_surface.api_surface 增 ActionOutcome.sub_reason 封闭枚举(UX-1,批前免费窗口)· D1×1→D1×6;
|
||||
# a2_initial_expansion 增诊断类别封闭枚举 + 链不越旗红线(GD-1——连锁传播集 ∖ G,G=∅ 域与 A1 算子①同构不变);
|
||||
# 新增 terminology 术语条目(用语纪律登记通道)。详见 design/gdd/reviews/a2-minesweeper-rules-review-log.md。
|
||||
# 新增 terminology 术语条目(用语纪律登记通道)。详见 design/archive/gdd-2026-09-14/reviews/a2-minesweeper-rules-review-log.md。
|
||||
# 2026-09-09 B2 定稿回填(owner=b2-enemy-system.md):新增 enemy / hero / clause3_supply 三条目(EnemyTable 八字段 +
|
||||
# 双敌种行 + 每行集恰一敌种校验;HeroTable 单行全局两字段 + atk=0 机制开关〔该口径 2026-09-11 作废,见下〕;条款 3 单结算自然边界供给口径〔用户定稿〕)·
|
||||
# status_effect.single_enemy_assumption 回验改写(定多敌,side-wide 兼容 + target_ref 扩展位)·
|
||||
@@ -418,7 +418,7 @@ entities:
|
||||
# enemy.b1_obligations ① 增调用序成文(query_attack→apply_damage→advance)与敌单位专属口径 · d1_obligations
|
||||
# ① 增预告时序/强度档位、② 改全局恒定 · rowset_rule 增精英/Boss 编码位预登记(B2 OQ7)· clause3_supply
|
||||
# 结构上界改 min(AP, cap) 形(cap 腿松弛收紧)· direction_precheck 裕度 4.7×→2.3× 更正(最低档锚口径)·
|
||||
# account_input 增胜利路径声明注记。详见 design/gdd/reviews/b2-enemy-system-review-log.md。
|
||||
# account_input 增胜利路径声明注记。详见 design/archive/gdd-2026-09-14/reviews/b2-enemy-system-review-log.md。
|
||||
# 2026-09-09 B4 定稿回填(owner=b4-reward-item-economy.md):新增 reward_table 条目(schema 八字段 + 跨字段
|
||||
# 校验族 + 机制/API 面 + B1×6/D1×3 义务清单 + A4 三约束承接 + 高光节点条目化);接口漂移改写三处——
|
||||
# rng_service.scope_event_binding 的 reward_roll 语义(每次奖励结算 → 每次 board install 批)、
|
||||
@@ -428,7 +428,7 @@ entities:
|
||||
|
||||
- name: d1_presentation_surface
|
||||
type: convention
|
||||
owner: design/gdd/d1-hud-framework.md
|
||||
owner: design/archive/gdd-2026-09-14/d1-hud-framework.md
|
||||
attributes:
|
||||
kind: 呈现面契约(读图接口清单 + 订阅纪律 + 命令式刷新面 + 载荷 schema 索引——封装收口批〔session-state entry 39/40〕切片事实的 GDD 转正)
|
||||
read_map: A2 current_board()/reveal_record()/compute_move_path() · A3 getter-only phase/ap/rap/last_round_end · B1 presentation_snapshot()/is_battle_live()/stock_count()/query_reward_identity() + 步骤流信号 · B2 hero_unit()/all_enemies() · **B3/B4 零直读**(经 B1 呈现面与流水投影)· runner(节点链/当前节点/HP 携带)
|
||||
@@ -443,7 +443,7 @@ entities:
|
||||
|
||||
- name: a5_aux_items
|
||||
type: schema_data
|
||||
owner: design/gdd/a5-minesweeper-aux-items.md
|
||||
owner: design/archive/gdd-2026-09-14/a5-minesweeper-aux-items.md
|
||||
attributes:
|
||||
table: AuxItemTable(D2 承载【D2×① 修订批登记】,键 = item_id;A5 回填 owner,2026-09-14 定稿登记;定义表非进度成长表——Rule 4 豁免;生效前提 = B4×①…⑤/D2×①② 修订批兑现)
|
||||
fields:
|
||||
@@ -468,7 +468,7 @@ entities:
|
||||
|
||||
- name: difficulty_table
|
||||
type: table
|
||||
owner: design/gdd/c3-difficulty-curve.md
|
||||
owner: design/archive/gdd-2026-09-14/c3-difficulty-curve.md
|
||||
attributes:
|
||||
kind: 全局修饰结构位(MVP 空表——零行为)
|
||||
key: (level_index, node_depth)
|
||||
@@ -479,7 +479,7 @@ entities:
|
||||
|
||||
- name: difficulty_expectation_table
|
||||
type: formula_set
|
||||
owner: design/gdd/c3-difficulty-curve.md
|
||||
owner: design/archive/gdd-2026-09-14/c3-difficulty-curve.md
|
||||
attributes:
|
||||
kind: 调参目标带(F5)+ 承伤估算(F4)+ 供给平衡式(F6)——设计期工具式,运行时零新增公式(C3 定位声明)
|
||||
clear_rate_target: L1 基线 **30-50%**(2026-09-14 带锚定稿——旧 40-60% 由本条替代;现扫描 60% 越上界,加难杠杆批内执行 OQ7)/ L2 20-40% / L3+ 10-25%(中高天赋带见 GDD F5 表——区间位移机制承载:atk 翻倍 ≈ K 减半 → 绿档)
|
||||
@@ -490,7 +490,7 @@ entities:
|
||||
|
||||
- name: boss_dmax_convention
|
||||
type: convention
|
||||
owner: design/gdd/c3-difficulty-curve.md
|
||||
owner: design/archive/gdd-2026-09-14/c3-difficulty-curve.md
|
||||
attributes:
|
||||
rule: Boss = 各关最大深度 Dmax 行(A1 第三轴登记约定的 GDD 侧兑现)+ LevelTable 末节点必须 Boss(schema 校验)+ 专属行为环含 charge 拍
|
||||
boss_hp_anchor: F3 = Σ普通战斗hp期望 × r_boss ∈ [0.5, 1.1](现行带——旧带 [0.35,0.55] 与"切片 0.81 越上界"读数由本条替代,OQ2 采信用户"可上调"裁决后修订)· L1 v3 记录值 150/153.5 ≈ **0.98** 带内 ✓(期望口径含 unit_count 区间骰 Σ=153.5——2026-09-14 C3 修订批口径统一,旧固定口径 Σ=142 读数替代)· **加难走廊 [1.1, 1.35] 预登记**(Boss 180–207 候选,OQ7 扫描终裁)
|
||||
@@ -499,7 +499,7 @@ entities:
|
||||
|
||||
- name: level_table
|
||||
type: schema_data
|
||||
owner: design/gdd/c2-adventure-structure.md
|
||||
owner: design/archive/gdd-2026-09-14/c2-adventure-structure.md
|
||||
attributes:
|
||||
table: LevelTable(D2 承载,键 = level_index 行、行内 nodes 节点链数组——切片建表,C2 定稿转正为行集内容 owner)
|
||||
fields:
|
||||
@@ -514,7 +514,7 @@ entities:
|
||||
|
||||
- name: adventure_table
|
||||
type: schema_data
|
||||
owner: design/gdd/c2-adventure-structure.md
|
||||
owner: design/archive/gdd-2026-09-14/c2-adventure-structure.md
|
||||
attributes:
|
||||
table: AdventureTable(D2 承载,单行全局;C2 回填 owner;Rule 4 豁免——单行全局常量表,HeroTable/SettlementTable 先例;建表走 D2 接口漂移规则)
|
||||
fields:
|
||||
@@ -526,7 +526,7 @@ entities:
|
||||
|
||||
- name: hero_override_parameter_passing
|
||||
type: convention
|
||||
owner: design/gdd/b1-settlement.md
|
||||
owner: design/archive/gdd-2026-09-14/b1-settlement.md
|
||||
attributes:
|
||||
kind: 主角战斗入参覆盖值通道(begin_battle 显式参数传递——切片 E4 封装收口批实现,registry 登记缺口由 C2 定稿批补登)
|
||||
contract: begin_battle 增 hero_hp / hero_atk / hero_max_hp 显式入参 → B2.spawn 增 atk_override / max_hp_override 参数;-1 = 表值兜底(不覆盖);hero 表运行期不可变(D2 单一事实源机制化——表写通道全删)
|
||||
@@ -540,7 +540,7 @@ entities:
|
||||
# + 重复受理幂等语义 + B1×6/D1×3→D1×5 义务清单同步;锚参照迁移传播三处(本条 anchor_warning 迁移注记 /
|
||||
# clause3_supply.direction_precheck 迁移注记 / systems-index A3 OQ5 注记——attack_up 口径历史值与 defense_up
|
||||
# 数值巧合全等、迁移后预检未重跑事实同批登记);terminology 增 B4 六词条(刀/批尾/死行/档位序检查/预推进/烧刀烧包)。
|
||||
# 详见 design/gdd/reviews/b4-reward-item-economy-review-log.md。
|
||||
# 详见 design/archive/gdd-2026-09-14/reviews/b4-reward-item-economy-review-log.md。
|
||||
# 2026-09-10 B1 定稿回填(owner=b1-settlement.md):新增 settlement_table / clause5_dominance 两条件目
|
||||
# (SettlementTable 七字段 + 三行致命 manifest + 段序骨架/可回放/高光双落载体;条款⑤主判式 + 保守地板缺口 +
|
||||
# 两护栏 + 三腿入账)· 接口漂移回写四处——status_effect.mvp_content.weaken magnitude −25→−65(F0 裁决,
|
||||
@@ -554,7 +554,7 @@ entities:
|
||||
# D2 GDD 行按收编先例以本条为准)、source_label_map 键集补 enemy_action/flag_miss、mechanics 补行协议字段分层;
|
||||
# clause5_dominance——模型修订重登(挖穿残余池计价、条款⑤未闭合 + C3/B4 约束包 + 护栏 B 双读数 + RAP 零价假设);
|
||||
# clause3_supply——闭合回执双口径更正(锚行 ≈2.0×/2.6× / 期望 ≈1.2×/1.5×、破线约束两轴)。
|
||||
# 详见 design/gdd/reviews/b1-settlement-review-log.md。
|
||||
# 详见 design/archive/gdd-2026-09-14/reviews/b1-settlement-review-log.md。
|
||||
# 2026-09-13 D1 定稿回填(owner=d1-hud-framework.md):新增 d1_presentation_surface 条目(呈现面契约——
|
||||
# 读图接口清单/订阅纪律/命令式刷新面/载荷 schema 索引/生命周期可见性规则/命名统一/接口漂移登记 ×3);
|
||||
# terminology 增两词条(命令式回执驱动/程序化占位)+ referenced_by 增 D1。solo 模式出稿待人工复核。
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
### 1.4 命名 = 领域命名,禁止系统 ID 前缀
|
||||
文件名与类名禁止 `a1_`/`b1_`/`c1_` 等系统 ID 前缀(`a1_board_generator.gd` → `board_generator.gd`)。
|
||||
设计追溯不靠前缀:每个核心实现文件头注必须带一行
|
||||
`# 实现 GDD:design/gdd/<id>-<slug>.md(系统 ID Xn)`;系统 ID 只作为文档与 registry 的追溯锚。
|
||||
`# 实现 GDD:design/archive/gdd-2026-09-14/<id>-<slug>.md(系统 ID Xn)`(2026-09-14 起旧 GDD 体系封存于归档,头注指归档路径;对应新 systems 文档定稿后再改指 `design/gdd/systems/` 新文档);系统 ID 只作为文档与 registry 的追溯锚。
|
||||
豁免:D2 schema 类与 autoload(本就领域命名);文档/夹具登记名(如 b4_golden)属文档层。
|
||||
|
||||
> **反面案例(2026-09-11,用户:"是没有代码规范吗")**:ID 前缀是跟随 GDD 文档名的事实约定,
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# 会话状态:Dungeon Sweeper(扫雷 × 自动战斗,唯一状态源,每里程碑同步一次)
|
||||
|
||||
- **阶段**:Systems Design(`production/stage.txt` = Systems Design,2026-09-07 写入)
|
||||
- **系统索引**:`design/gdd/systems-index.md`(20 系统,含门禁修正 + 2026-09-07 增补记录)
|
||||
- **概念文档**:`design/gdd/game-concept.md`(含目标受众 + Visual Identity Anchor + 创意风险登记)
|
||||
- **游戏支柱**:`design/gdd/game-pillars.md`(4 条,GDD 评审尺度)
|
||||
- **系统索引**:`design/gdd/02-系统清单.md`(2026-09-14 循环式新骨架根索引;旧 `systems-index.md` 已封存于 `design/archive/gdd-2026-09-14/`,只读参考)
|
||||
- **概念文档**:`design/gdd/00-游戏概念.md`(新骨架顶层文档;旧版 game-concept/game-pillars 已随归档封存)
|
||||
- **原型**:概念原型 demo 已删除(2026-09-12,垂直切片承接);验证报告留档 `docs/prototype-report-minesweeper-battle-concept.md`(v3,verdict PROCEED)
|
||||
- **引擎**:Godot 4.7.2 + GDScript(2026-09-07 锁定;`.claude/docs/technical-preferences.md` + `docs/engine-reference/godot/`;**MEDIUM RISK**——2026-09-12 `/setup-engine refresh` 逐条核实 4.5–4.7 官方迁移指南,无破坏架构契约项,current-best-practices.md 已建)
|
||||
- **架构**:`docs/architecture/architecture.md` v1.0(2026-09-12 /create-architecture 产出,TD 自评 APPROVED WITH CONDITIONS;review-mode.txt = solo)
|
||||
@@ -126,3 +125,5 @@ D2 数据配置 → A3 行动经济 → A4 地形变异 → B3 增益状态 →
|
||||
45. **伤害量值区间批(2026-09-14,用户拍板②——验收口径改完美策略档 0 加成 ≤40%;两步全落地 + 无效性实测)**:第一步奖励侧五行 power 区间化(heal_minor[2,6]/knife_t1[5,11]/heal_pack[6,18]/knife_adv[10,22]/clear_blast[25,55]——身份批追加取号,E14 快照口径不变,B1/呈现零改动)+ 第二步敌方 atk 区间(六行 ±3,遭遇骰同流 spawn 期整战持久——每拍抖动否决〔数字可读性锚〕,B2 零随机保持,spawn +1 参数接口漂移登记);中点恒等现值 = A3 条款①锚不漂移;schema 双批校验(成对/中点锚/buff 禁止)+ smoke `_smoke_power_interval` 4 断言;冒烟 **154/154**。**实测(N=30)**:完美档 0 加成仍 **100%**(承伤 3.5→3.9——方差真实流动被 47/50 血缓冲全吞);基线档 17% 不变——**数值区间杠杆族对 ≤40% 线无效已坐实**(完美玩家结构性优势 = 零踩雷直伤 + weaken 顶格 + 快杀)。**待用户三选裁决(C3 OQ7 主项)**:①承伤硬地板(B1/B2)②weaken 饱和语义(B3/B1——拆全标旗基石)③极端宽度(建议否决——毁基线与可读性);区间机制保留(普通玩家方差体验有效)。registry reward_table/enemy 条目 + clause5 义务 + C3 行值总表/F5/OQ7 同批登记。
|
||||
|
||||
46. **GDD 体系重构(2026-09-14,用户拍板批)**:旧 GDD 体系整体封存为 `design/archive/gdd-2026-09-14/`(只读参考、不作事实引用,两个 legacy 子目录不保留);`design/gdd/` 原位重建循环式新骨架——6 份顶层文档 + `systems/` 四循环(排雷/战斗/冒险/表现与支撑)20 份子系统占位文档,根索引 = `02-系统清单.md`(文档增删必须同步)。雾格已从设计中移除,地形变异未来范围只覆盖非雾变异(待定)。
|
||||
|
||||
47. **新骨架 00–05 成文 + 全仓旧路径清偿(2026-09-14,用户逐份审阅批)**:00 游戏概念 / 01 核心循环 / 03 内容规模 / 04 美术音频方向 / 05 不做清单 成文(子 agent 起草、用户审阅定稿,02 索引已随骨架建立);元进度外层循环补入 01——元进度资源定名**钥石**(关底 Boss 看守的区域核心,击杀取走、局外解锁永久提升,用户拍板;registry 登记随元进度设计批补)。**旧路径清偿**:CLAUDE.md 头部导航与 Project Layout 改指新骨架 + 新增「新骨架过渡口径」条款(lean/lint/两件套纪律仅约束归档,新骨架纪律 = 可读性优先 + 索引同步 + 不建 analysis);registry owner ×33 与切片代码头注 ×17 改指归档路径;gdd_lint PostToolUse 钩子停用(工具留 `tools/` 备查)。**已知待办**:registry/数据表雾残留清理批(variation.tres fog 行 / board_gen L2 锚行雾参数 / 显影尘·地穴全图卷 fog_reveal / L2 层名"雾漫巢径");registry status_effect.mvp_content 缺暴走/失衡两行登记。
|
||||
@@ -3,7 +3,7 @@
|
||||
# Date: 2026-09-10
|
||||
# A3 行动经济:被动账本(AP 硬重置 / 统一价目 / 三路径结束仲裁 cleared > stopped > ap_exhausted /
|
||||
# RAP 池战斗域 / 双发射源之 stopped 直发)。相位域 = {Idle, Active, Waiting}。
|
||||
# 实现 GDD:design/gdd/a3-action-economy.md(系统 ID A3——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/a3-action-economy.md(系统 ID A3——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name ActionEconomy
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# Waiting 相位结算触发(不依赖事件到达序)。
|
||||
# 切片登记:① 事件总线载体 = 直连信号(实现期 ADR 项,provisional)② 多次刷新 EC15 简化为每 Waiting 至多
|
||||
# 一次(UI 禁二次发起;多刷契约义务不触)③ 效果行协议 = 授予段逐 grant 行 + 增益/减益段续存实例组合行。
|
||||
# 实现 GDD:design/gdd/b1-settlement.md(系统 ID B1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b1-settlement.md(系统 ID B1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name BattleOrchestrator
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# A1 棋盘产物数据契约(A2 消费;生成后不可变——A2 持快照即持活引用,生成器不再触碰)。
|
||||
# 实现 GDD:design/gdd/a1-board-generation.md(系统 ID A1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/a1-board-generation.md(系统 ID A1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name BoardData
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# A1 确定性棋盘生成器:五阶段管线(参数→布雷→变异→验证循环→产出)+ F1 可推理率度量
|
||||
# (single_subset 求解器)+ F3 雾预算 + F5 验收算子(达标即出/接受最优/接受最不坏)。
|
||||
# 切片裁剪登记:黄金向量回归套件与 F4 批量工具不做(C3 调参期工具域)。
|
||||
# 实现 GDD:design/gdd/a1-board-generation.md(系统 ID A1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/a1-board-generation.md(系统 ID A1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name BoardGenerator
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 ConfigDB autoload——数值表单点访问入口(Rule 2)+ 校验双通道(Rule 6)+ R1 行解析。
|
||||
# 实现 GDD:design/gdd/d2-data-config.md(系统 ID D2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/d2-data-config.md(系统 ID D2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 切片注:headless --script 模式下由冒烟脚本显式实例化(D2 AC 前言);玩法代码禁止绕过本单点自建 load()。
|
||||
extends Node
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# VERTICAL SLICE - NOT FOR PRODUCTION
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# 实现 GDD:design/gdd/b1-settlement.md(系统 ID B1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b1-settlement.md(系统 ID B1——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# B1 战斗段伤害公式族(零状态纯算术宿主——规范 1.2「工具性纯函数挂明确宿主类」;
|
||||
# 自 battle_orchestrator 拆出 2026-09-13,封装审查 O3)。池读取与表值读取仍归 B1,本类只做算术。
|
||||
class_name DamageMath
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Date: 2026-09-10
|
||||
# A2 排雷玩法规则引擎:零随机/零表读取/零 UI——输入 = A1 产物 + 意图序列,输出 = 三事件流。
|
||||
# 核心契约:install 四不变式 · 初始展开 = R₀ 恰等 · 连锁不越旗 · 批次语义序仲裁(cleared > stop > 其余)。
|
||||
# 实现 GDD:design/gdd/a2-minesweeper-rules.md(系统 ID A2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/a2-minesweeper-rules.md(系统 ID A2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name MinesweeperRules
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# 2026-09-14 伤害量值区间批(用户拍板②):区间行(power_min/max 可选配对)在身份预分配批内追加取号
|
||||
# (④ 步,既有取号序零扰动);快照 E14 口径不变——快照 power = roll 值,B1/呈现零改动;授予期零随机不变。
|
||||
# 切片登记:取号约定 = randi_range(0, W-1)(实现期 ADR 事实,切片内恒定)。
|
||||
# 实现 GDD:design/gdd/b4-reward-item-economy.md(系统 ID B4——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b4-reward-item-economy.md(系统 ID B4——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name RewardEconomy
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# 战斗内尚未获取首件 → 本板必注入(首件保证);已获取 j 件 → 概率 p0×decay^(j-1)(指数下降、永不绝育)。
|
||||
# 行值快照(p0/decay 构造期快照——抗热重载,B2 同款);零自有随机数(判定取号经 B4 传入的 reward_roll
|
||||
# 封闭流实例——Rule 5);"获取"以实际发放入库为准(预分配未挖到不计数——授予侧经 B4.grant 挂钩上报)。
|
||||
# 实现 GDD:design/gdd/b4-reward-item-economy.md(系统 ID B4——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b4-reward-item-economy.md(系统 ID B4——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name RewardSupplyController
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 RngService autoload——封闭命名流单点(Rule 5)。玩法代码禁止 randomize()/自建 RandomNumberGenerator。
|
||||
# 实现 GDD:design/gdd/d2-data-config.md(系统 ID D2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/d2-data-config.md(系统 ID D2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# R2 派生公式(黄金向量已预验证):derive = (SALT XOR wrap64(master + scope×GOLDEN)) AND 0x7FFF…
|
||||
# 取号语义:全新实例首个 open_stream = scope 0(B4 预推进术语的登记口径)。
|
||||
extends Node
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# B3 统一状态容器:三向效果同构实例 · 单一时限量纲 remaining_settlements(先兑付后衰减)·
|
||||
# 按行叠层(stack 授予不触碰 R)· 授予时数值快照抗热重载 · 零随机零信号。
|
||||
# 注:MVP 单敌假设经 B2 回验不成立(定多敌)——enemy 侧 side-wide 语义按 registry 改写执行。
|
||||
# 实现 GDD:design/gdd/b3-status-effect.md(系统 ID B3——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b3-status-effect.md(系统 ID B3——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name StatusContainer
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# 行值快照抗热重载 · side-wide 伏击池读值由调用方注入(B2 无池写面)· 编排被动零事件。
|
||||
# 切片登记接口漂移:heal() 为切片新增(B1 治疗 clamp 需要写入口;B2 API 封闭枚举原本无治疗面——
|
||||
# 正式侧应走 B2 GDD 修订,切片以头注登记)。
|
||||
# 实现 GDD:design/gdd/b2-enemy-system.md(系统 ID B2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
# 实现 GDD:design/archive/gdd-2026-09-14/b2-enemy-system.md(系统 ID B2——registry 追溯锚,命名规范见 CLAUDE.md)
|
||||
class_name UnitContainer
|
||||
extends RefCounted
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 ActionEconomyTable schema(A3 回填值,单行全局;Rule 4 豁免)。
|
||||
# 数值域与跨字段校验依据 design/gdd/a3-action-economy.md "ActionEconomyTable Schema 定稿"。
|
||||
# 数值域与跨字段校验依据 design/archive/gdd-2026-09-14/a3-action-economy.md "ActionEconomyTable Schema 定稿"。
|
||||
class_name ActionEconomyTable
|
||||
extends Resource
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 BoardGenTable schema(A1 回填值;键 (level_index, node_depth)——首个进度键表)。
|
||||
# 依据 design/gdd/a1-board-generation.md "BoardGenTable Schema 定稿" + F2/F2b/F2c 谓词。
|
||||
# 依据 design/archive/gdd-2026-09-14/a1-board-generation.md "BoardGenTable Schema 定稿" + F2/F2b/F2c 谓词。
|
||||
class_name BoardGenTable
|
||||
extends Resource
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 EnemyTable / HeroTable schema(B2 回填值)。EnemyTable 键 (L,D,enemy_id),每行集恰一敌种;
|
||||
# HeroTable 单行全局(Rule 4 豁免)。依据 design/gdd/b2-enemy-system.md Schema 节。
|
||||
# HeroTable 单行全局(Rule 4 豁免)。依据 design/archive/gdd-2026-09-14/b2-enemy-system.md Schema 节。
|
||||
class_name EnemyTable
|
||||
extends Resource
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 StatusEffectTable schema(B3 回填值;行 = Dictionary,键 effect_id;Rule 4 豁免)。
|
||||
# 依据 design/gdd/b3-status-effect.md "StatusEffectTable Schema 定稿"。
|
||||
# 依据 design/archive/gdd-2026-09-14/b3-status-effect.md "StatusEffectTable Schema 定稿"。
|
||||
class_name StatusEffectTable
|
||||
extends Resource
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Validation Question: 玩家能否无指导在一场完整战斗中经历「开战→挖掘规划→轮末结算逐行兑现→胜/负」并逐行归因(P2)
|
||||
# Date: 2026-09-10
|
||||
# D2 VariationTable schema(A4 回填值;行 = Dictionary,键 variant_id)。
|
||||
# 依据 design/gdd/a4-terrain-variation.md "VariationTable Schema 定稿"。
|
||||
# 依据 design/archive/gdd-2026-09-14/a4-terrain-variation.md "VariationTable Schema 定稿"。
|
||||
class_name VariationTable
|
||||
extends Resource
|
||||
|
||||
|
||||
Reference in new issue
Block a user