merge: 测试优化批(gdd_lint 分域+00-05 R3 清账+06 模拟档口径)

This commit is contained in:
DKChan committed 2026-10-03 00:34:04 +08:00
commit aad805cc27
8 files changed
+72 -18

No files matched your search

+9 -1
View File
@@ -55,10 +55,18 @@
| 爆破工兵包 | 行动点 + 探巢的稀有魔法道具 | aux_items |
| 地精 / 熊地精 / 食人魔酋长 | 首发三敌种(末者为 Boss) | enemy |
| 第一层 · 地精洞窟 | 首关层名 | level_table |
| 封印 | 插旗动作的呈现名——对未开格(巢穴)插旗即实施封印,旗 = 封印印记 | terminology(2026-09-25 用户拍板) |
| 封印 | 插旗动作的呈现名——对未开格(巢穴)插旗即实施封印,旗 = 封印印记 | terminology |
注意:部分魔法道具的现行效果定义绑定已被移除的地形变异类型,其效果定位待后续内容批重定;名称暂按登记保留,重定时随批修订。
另:元进度资源定名**钥石**——每一层关底 Boss 看守他那块区域的钥石,击杀即取走,用于在存档内解锁永久提升(属性 / 怪物遭遇 / 道具池)。2026-09-14 用户拍板,registry 术语登记随元进度设计批补登。
> 旧版参考:../archive/gdd-2026-09-14/game-concept.md
## 版本历史
| 版本 | 日期 | 改动 |
|---|---|---|
| v1.0 | 2026-09-14 | 初版随 GDD 骨架建立:一句话概念、目标受众、世界观命名、术语层级 |
| v1.1 | 2026-09-25 | 术语「封印」定稿(用户拍板):插旗动作呈现名落术语表,出处条目 terminology |
| v1.2 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):术语表日期批注括注迁出至本表 v1.1 行;语义零变更 |
+9 -1
View File
@@ -13,7 +13,7 @@
所以自动战斗不是过场,是阅卷:每一行结算都能指回你刚才的哪一步棋。
### 数值语言(2026-09-18 用户拍板)
### 数值语言
- 游戏内伤害与成长数值一律**整数加减**(小整数加法核——模板 C 骨架 + 模板 A 成长语言):克制修正、奖励、商店与永久强化的属性提升都走"+1/−1 点"式整数;数字小而可读是设计价值,不是待放大的占位。
- **百分比仅保留三处既有粗档修正**(增益池乘区、护甲等级掷点折扣档、暴击倍率)与开发侧测量工具(难度杠杆扫描、通关率带平移);此后新增数值系统默认整数加法,引入百分比须显式修订本条款。
@@ -47,3 +47,11 @@
循环到此闭合:进入一局 → 在棋盘上推理 → 看推理兑现成胜负 → 带着变强(或更痛)的记忆和一个更厚的存档,想进下一个节点、下一张图、下一层、下一局。
> 旧版参考:../archive/gdd-2026-09-14/gdd.md
## 版本历史
| 版本 | 日期 | 改动 |
|---|---|---|
| v1.0 | 2026-09-14 | 初版随 GDD 骨架建立:一场战斗 / 一场冒险 / 死了之后三节 |
| v1.1 | 2026-09-18 | 「数值语言」节定稿(用户拍板:整数加减核、百分比仅三处既有粗档、全局 floor) |
| v1.2 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):节标题日期批注迁出至本表 v1.1 行;语义零变更 |
+5 -4
View File
@@ -32,7 +32,7 @@
| 文件 | 一句话概要 | 状态 |
|---|---|---|
| `战斗结算.md` | 轮末结算的编排与逐行兑现 | 已定稿·自旧体系迁移 |
| `敌人系统.md` | 敌人数据、技能池出招、意图呈现 | 已定稿·自旧体系迁移(2026-09-16 技能池批 v0.5) |
| `敌人系统.md` | 敌人数据、技能池出招、意图呈现 | 已定稿·自旧体系迁移 |
| `增益状态.md` | 增益/减益状态的容器、叠层与衰减 | 已定稿·自旧体系迁移 |
| `地图战斗资源.md` | 格面资源的产出、极性字典与清图奖励封装 | 已定稿·自旧体系迁移 |
| `战斗表现.md` | 战斗动画与演出(旧体系未单独成文) | 范围草案·待设计 |
@@ -50,7 +50,7 @@
| 文件 | 一句话概要 | 状态 |
|---|---|---|
| `元进度.md` | 跨局成长(旧体系未单独成文) | 已定稿·已实现(2026-09-21 实现批,数值 provisional 归设计批标定) |
| `元进度.md` | 跨局成长(旧体系未单独成文) | 已定稿·已实现 |
### 表现与支撑(`systems/表现与支撑/`)
@@ -73,8 +73,8 @@
| `level-map.md` | 关卡画面 UX spec:选路枢纽三停点布局、GP 常驻徽章、交互映射与拍板点 | 占位升格版·视觉终稿后置 |
| `node-reward.md` | 节点奖励屏 UX spec:奖励节点三选一构筑点、可用池与池空直通(切片期过渡形态,随同调实施批退役改写) | v1.0(2026-09-29 本行 2026-09-30 补登) |
| `settlement-summary.md` | 结算总结 UX spec:战斗总结结算(战斗胜利面)与冒险总结结算(冒险终结面)——两面分节的纯呈现轻量 spec | v1.0·纯呈现已实装面成文 |
| `camp.md` | 营地覆盖层 UX spec:三柜台呈现、钥石余额、退役/封存件状态语义(存档级/局外呈现面) | v1.0(2026-09-30 拍板点 4A 落文;9A 视觉终稿实态成文) |
| `shop.md` | 商店覆盖层 UX spec:三商品卡全陈列、GP 余额、购买/离开(中循环节点兑付呈现面) | v1.0(2026-09-30 拍板点 4B 落文) |
| `camp.md` | 营地覆盖层 UX spec:三柜台呈现、钥石余额、退役/封存件状态语义(存档级/局外呈现面) | v1.0 |
| `shop.md` | 商店覆盖层 UX spec:三商品卡全陈列、GP 余额、购买/离开(中循环节点兑付呈现面) | v1.0 |
## 子系统命名对照表(中文规范名 ↔ 英文代号)
@@ -125,3 +125,4 @@
| v0.9 | 2026-09-27 | UX 文档欠账处置批:`ux/` 目录入索引(battle.md / interaction-patterns.md / 新建 level-clear.md);四项欠账处置——player-journey 不建、accessibility-requirements 不另立(改指 HUD框架 基线 + 设置与本地化)、node-reward 挂魔法道具内容重定批(06 登记)、level-clear 建档 |
| v1.0 | 2026-09-27 | 节点图生成立项批(用户拍板立项——06 条目「关卡内结构随机生成」随批改状态):`systems/冒险循环/` 新建 `关卡节点图生成.md` 设计草案 v0.1(图模板/模板池/抽签三概念、三级台阶路线、MC 测量对账条款、五拍板点);文档树补行 + 命名对照表补 `NODE_MAP_GENERATION` 行 |
| v1.1 | 2026-09-27 | 关卡画面 UX spec 建档(关卡画面 UX 批):`ux/` 表补 `level-map.md` 行——选路枢纽三停点布局、GP 常驻徽章、交互映射与 AC 成文,三项设计提案挂 06 待拍板 |
| v1.2 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):四处状态单元格日期批注迁出——敌人系统行事件见敌人系统.md 版本历史 v0.5(技能池批);元进度行见本表 v0.8;camp/shop 行=两文 v1.0 落文(2026-09-30 三裁决执行批);语义零变更 |
+6 -5
View File
@@ -2,7 +2,7 @@
一句话定位:**三关、按关配置的棋盘、一套格面资源池、一套状态表、一套商店配置**——刚好撑起一次完整的"扫雷决策 → 战斗兑现"循环,除此之外一律不做。
> **体例说明(2026-09-17 数值纪律收口批)**:本文件只写内容规模的结构框架——几个维度、各分几档、扩展走什么流程。具体种数、行数与幅度数值一律不在此抄录,事实源为准:数据表读 `game/data/tables/*.tres`,实体登记读 `design/registry/entities.yaml`;现行行数与面值以表和 registry 为准。
> **体例说明**:本文件只写内容规模的结构框架——几个维度、各分几档、扩展走什么流程。具体种数、行数与幅度数值一律不在此抄录,事实源为准:数据表读 `game/data/tables/*.tres`,实体登记读 `design/registry/entities.yaml`;现行行数与面值以表和 registry 为准。
## 关卡
@@ -30,7 +30,7 @@ MVP 不加新敌种,也不做同深度多敌种混搭;敌种扩容走数据
## 战斗道具(格面资源)
**格面资源池**(`data/tables/reward.tres`,现行行数读表为准):结构为格面九型 × 正负两向(十八格——2026-09-20 GP+商店房批九型后现行),加清图奖励槽一类。全部按交付方式当场兑付、不进背包——入背包的"结算窗口选用"类道具(小刀 / 精工短刀 / 治疗包)已随格面资源批整体删除,现行池内无可选类道具、无轮末结算窗口。
**格面资源池**(`data/tables/reward.tres`,现行行数读表为准):结构为格面九型 × 正负两向(十八格),加清图奖励槽一类。全部按交付方式当场兑付、不进背包——入背包的"结算窗口选用"类道具(小刀 / 精工短刀 / 治疗包)已随格面资源批整体删除,现行池内无可选类道具、无轮末结算窗口。
行级语义见[地图战斗资源](systems/战斗循环/地图战斗资源.md)。MVP 不做道具之间的组合协同;扩池走 reward.tres 加行 + registry 登记。
@@ -38,7 +38,7 @@ MVP 不加新敌种,也不做同深度多敌种混搭;敌种扩容走数据
registry 登记 **一套封闭清单**(数据表未建,属待落地内容):显影尘、工兵令、探宝罗盘、探巢摆钟、地穴全图卷、爆破工兵包——四个常规单功能加两个稀有组合。件数与登记现状以 `design/registry/entities.yaml` 为准。MVP 不新增。
待定一句:显影尘与地穴全图卷的原效果绑定已从设计中移除的地形变异类型(见[不做清单](05-不做清单.md));显影尘与地穴全图卷的效果定位均随魔法道具整体重设计归 Alpha(2026-09-20 用户拍板,原待办条目已移除);其余四件定义有效。
待定一句:显影尘与地穴全图卷的原效果绑定已从设计中移除的地形变异类型(见[不做清单](05-不做清单.md));显影尘与地穴全图卷的效果定位均随魔法道具整体重设计归 Alpha;其余四件定义有效。
## 增益与状态
@@ -62,9 +62,9 @@ MVP 不加新状态;扩容走 status_effects.tres 加行 + registry 登记。
垂直切片阶段明确砍掉或推迟的内容,写在这里防止回潮:
- 更多关卡(N>3)——第三关已按扩展批流程落地(行集);三关正式序列已生效(冒险结构实现批 2026-09-21),唯一试玩入口 = 完整冒险(单关测试直入口退役,2026-09-23 用户拍板)
- 更多关卡(N>3)——第三关已按扩展批流程落地(行集);三关正式序列已生效,唯一试玩入口 = 完整冒险
- 精英节点与词缀系统——只预留了字段位,不定义语义(精英怪**设定**已登记预留:迭代 10 奖励重构批——同立绘+附加特征标记+数值更强、钥石掉 1 个预留;实装仍随怪物批)
- 地形变异扩展内容——首批四类型已落地,反制道具与全局作用域排 Alpha(2026-09-20 用户拍板)
- 地形变异扩展内容——首批四类型已落地,反制道具与全局作用域排 Alpha
- 道具/增益之间的组合协同(遗物式联动)
- 战后自动回复——回复只有道具与恢复点两个来源
- 新敌种、新棋盘档位、更高密度、同深度多敌种混搭
@@ -85,3 +85,4 @@ MVP 不加新状态;扩容走 status_effects.tres 加行 + registry 登记。
| v0.7 | 2026-09-20 | **GP+商店房批(与切片代码 / registry / 关卡节点地图 / 冒险结构 / 战斗结算 / 地图战斗资源 / 难度曲线与Boss 同批)**:格面资源池"八型 × 正负两向(十六格)"→"九型 × 正负两向(十八格)"(+gp 金币);新增「商店」小节一行——shop.tres 读表纪律(商品三行 / 掉落参数 / 价格参数,全部 provisional 归曲线调参批);一句话定位句补"一套商店配置" |
| v0.8 | 2026-09-21 | **冒险结构实现批(与切片代码 / registry / 冒险结构 同批)**:层名表 L2/L3 状态行改「正式序列已生效」——首页「开始冒险」三关连探落地(AdventureRunner 编排;测试直入口保留);「更多关卡」行同步;正文零历史叙述纪律下仅状态口径更新,结构框架零改动 |
| v0.9 | 2026-09-21 | **元进度实现批(与切片代码 / registry / 元进度 / 02 / 05 同批)**:「暂不做」节移除「元进度与跨局成长」行——跨局成长首批落地(营地三柜台 / 钥石账本 / 跨局注入,数值 provisional 归元进度设计批标定);新增「一套元进度配置」小节(meta.tres 四行族读表纪律,数值 provisional 归设计批) |
| v1.0 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):五处日期批注括注迁出——体例说明=本表 v0.3 事件;十八格=本表 v0.7 事件;正式序列=本表 v0.8 事件;三处用户拍板事件随行入账:显影尘/地穴全图卷效果定位归 Alpha 且原 06 待办条目移除(2026-09-20 拍板)、单关测试直入口退役且唯一试玩入口=完整冒险(2026-09-23 拍板)、反制道具与全局作用域排 Alpha(2026-09-20 拍板);语义零变更 |
+7
View File
@@ -15,3 +15,10 @@
美术细则(色板、形状语言、图标契约、验收标准)见 `design/art/art-bible.md`(含参考与反参考,见其 §9)。
> 旧版参考:../archive/gdd-2026-09-14/game-concept.md
## 版本历史
| 版本 | 日期 | 改动 |
|---|---|---|
| v1.0 | 2026-09-14 | 初版随 GDD 骨架建立:风格一句话、三条关键词、参考游戏、音频方向占位 |
| v1.1 | 2026-10-03 | gdd_lint 分域批:补版本历史节(R4);本文体系裁散文体,R2 表格占比分域豁免 |
+9 -1
View File
@@ -19,9 +19,17 @@
- **多波战斗**:Peglin 对比报告(2026-09-12)裁下的后置项。单场多波是战斗编排级的改动,波间状态保留规则也要重新定义,排 Alpha 期评估。
- **遗物 / 构筑协同**:同批裁下。先做协同设计再谈加密度,没有协同的纯堆量只会稀释每件道具的存在感。
- **战后回复**:同批裁下。要做得绑定敌方攻击力下调,单独加回复会直接破坏现有数值预期。
- **元进度(钥石解锁 / 跨局成长)**:排 Alpha,首批已落地(2026-09-21 元进度实现批——营地三柜台 / 钥石账本 / 跨局注入,数值 provisional 归设计批标定)。铺量与标定仍是之后的事。
- **元进度(钥石解锁 / 跨局成长)**:排 Alpha,首批已落地(营地三柜台 / 钥石账本 / 跨局注入)。铺量与标定仍是之后的事。
- **反雪球机制**:MVP 不做。等 Alpha 拿到真实测试数据,再决定要不要治滚雪球、怎么治。
- **正式音频、教学引导、战斗动画演出、设置与本地化**:MVP 内的打磨项,一律排后。先验证核心循环,再谈好听好看。
- **连刷 / 换图资金跨战斗携带**:现行规则是每场战斗清零,防滚雪球。是否解禁连刷策略,等实测数据说话。
> 旧版参考:../archive/gdd-2026-09-14/gdd.md
## 版本历史
| 版本 | 日期 | 改动 |
|---|---|---|
| v1.0 | 2026-09-14 | 初版随 GDD 骨架建立:确定不做 / 现阶段不做两节 |
| v1.1 | 2026-09-21 | 元进度实现批:元进度行注首批已落地(营地三柜台 / 钥石账本 / 跨局注入),数值 provisional 归设计批标定 |
| v1.2 | 2026-10-03 | R3 清账批(gdd_lint 分域随批):元进度行日期批注迁出至本表 v1.1 行;语义零变更 |
+1
View File
@@ -421,6 +421,7 @@
- **每次变更必测(轻量闸,headless 秒–分钟级)**:`run_smoke` 全量 + `ui_input_probe`(含呈现层十一断言)。触碰 presentation/ 还需加跑 `ui_click_probe` + `ui_layout_probe`。此三件不涉渲染,任何改动后即可跑。
- **周期内测(重闸,统一周期=样张批/表现批收口 或 固定周检)**:B 档视口截图像素断言(需真渲染进程)、C 档黄金图对比(需视觉冻结后建基准,美术未冻结前基准图会反复重制)、真人实机目检清单(走路/挖掘/朝向/观感类)、MC 大扫描。
- **模拟档触发口径(用户裁定,随测试性能验证批落文)**:MC / balance_verifier 属数值验证工具,仅在数值验证场景触发(锚换代 / 带值拍板 / 迭代出口 / 调参批),不进每次变更闸——功能正确性由冒烟断言承载(统一随机流同种子确定性复放,单次即权威,ADR-0007),不靠模拟次数。MC 日常读数以 normal 档为主(400 局约 8 分钟),perfect 档(约 56 分钟,单局约 7 倍于 normal)仅上界读数需要时跑(带值拍板 / 上界验收);调参会话随跑用 balance_verifier --quick(约 3 分钟)。
**前置依赖**:C 档硬前置=样张批冻结视觉(否则黄金图基准反复作废);B 档可与样张批同窗试点。
+26 -6
View File
@@ -36,6 +36,22 @@ MAX_PARA = 240
MIN_TABLE_RATIO = 30
MAX_PAREN_SPAN = 80
# 规则分域(2026-10-03 用户裁「测试要快/要准」优化批):R1/R2 的体裁前提是「规范文」
# (短段+表格化);登记处/清单/概念文的自然形态就是长条目与叙事散文,硬套=自 2026-09-20
# 上线起 8/8 常红零过滤价值(test-perf-report-2026-10-02 §6.2 实证)。R3/R4/R7 不豁免——
# 「provenance 出正文、版本历史在案」对一切体裁有效。
R1_EXEMPT = {
"06-待办清单.md", # 全项目待办登记处:现状/状态/方案长条目为体裁
"07-体验验证清单.md", # 体验验证读数清单:同上
}
R2_EXEMPT = {
"01-核心循环.md", # 循环概念文:叙事散文为体裁
"04-美术音频方向.md", # 美术方向文:同上
"05-不做清单.md", # 清单文:条目散文为体裁
"06-待办清单.md",
"07-体验验证清单.md",
}
DEFAULT_DIR = "design/gdd"
DEFAULT_EXCLUDE = {"game-concept.md", "game-pillars.md", "systems-index.md"}
VERSION_SECTION = "版本历史"
@@ -169,17 +185,21 @@ def lint_file(path):
issues.append(f"R9 节点「{node_name}」直接内容 {node_count} 行(>{MAX_NODE_LINES})——超一页,拆为子节点")
infos.append(f"最大节点直接内容 {max(node_count, 0)} 行")
# R1 段落长度
for p in paras:
if len(p) > MAX_PARA:
issues.append(f"R1 散文段 {len(p)} 字(>{MAX_PARA}): {p[:50]}…")
# R1 段落长度(登记处/清单文分域豁免,见 R1_EXEMPT 注)
fname = Path(path).name
if fname not in R1_EXEMPT:
for p in paras:
if len(p) > MAX_PARA:
issues.append(f"R1 散文段 {len(p)} 字(>{MAX_PARA}): {p[:50]}…")
# R2 表格占比
# R2 表格占比(概念/方向/清单文分域豁免,见 R2_EXEMPT 注)
code_chars = sum(len(l) for l in code_lines)
table_chars = sum(len(l) for l in text.splitlines() if l.strip().startswith("|"))
total = max(len(text) - code_chars, 1)
ratio = int(100 * table_chars / total)
if ratio < MIN_TABLE_RATIO:
if fname in R2_EXEMPT:
infos.append(f"表格占比 {ratio}%(R2 分域豁免)")
elif ratio < MIN_TABLE_RATIO:
issues.append(f"R2 表格占比 {ratio}%(<{MIN_TABLE_RATIO}%)")
else:
infos.append(f"表格占比 {ratio}%")