chore: initial commit
This commit is contained in:
commit
ddd2960fa6
317 files changed
+41717
No files matched your search
@@ -0,0 +1,310 @@
|
||||
# A1 扫雷棋盘生成 设计推演
|
||||
|
||||
> 状态:concluded(除文末开放问题) · 本文只装"为什么"——`design/gdd/a1-board-generation.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
> 来源:本文吸收原 lean 版(v1.1-lean)全部推导、论证、裁决记录与验收设施详表;公式结论与表达式在 design 件,推导与论证在此。
|
||||
|
||||
## 问题:可推理率该怎么度量(F1 的口径是怎么钉死的)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:字面窄读"确定性推导格数"(仅数字推导入分子)——收益是口径最严;代价是任意好图都远低于常规门槛,度量与立法本意脱节,被裁掉。
|
||||
- 候选 B:免赌确定揭示格数(初始展开 ∪ 连锁揭示 ∪ 推导开据三通道全计入分子,初始展开格同时计入分母)——与 P1 承诺语句"从初始安全区出发,逻辑可推导的挖掘占比不低于门槛"对齐,定为现行口径。
|
||||
- 候选 C:单判据 inferability——被"雾区无雷"常识单独撑线的度量空心风险否掉;裁定加第二判据 inferability_core(分子分母都剔除雾格),与 F2 雾占比绝对上限 0.25 合围该风险。
|
||||
|
||||
### 深度分析
|
||||
|
||||
雾格入分子有两条通道:链可达雾格经算子①(0 格级联)入分子;与 R∞ 邻接的链不可达雾格经信息源(b)雾元知识入分子;恒无 R 邻格的雾格计入终局残余。雾格挖掘是零雷险行为(玩家可见知识),故计入"免赌"口径;其 AP 全价代价不在此度量、由 F3 单独承载——这是"风险轴与成本轴必须分开"的直接理由:雾板可推理率高而预算负担仍在,恰为两轴不可互相折算的例证。雾格入分子通道与挖掘相邻性(A3 限 8 向相邻)口径对齐,公式本身不变。
|
||||
|
||||
求解器初始可见态取 0 格 flood 闭包内芯而非保守可达域全体——"外扩 1 格"环非自动展开的必然产物,计入会高估玩家信息。由此派生度量保真对偶义务:既有"A2 实际展开域 ⊆ A1 排除域"之外,新增"A1 求解器初始态 ⊆ A2 实际初始展开域"(登记 A2 GDD);若 A2 定稿展开更小,A1 回退口径 = 出生 3×3 最小态。
|
||||
|
||||
次序无关性是度量不变式:两算子对 R 单调 ⇒ 最小不动点唯一、与开据次序无关——实现可任意定序而度量不变,兼防一类实现方差 bug;最小不动点可经单调 worklist 传播实现,不强制全板重扫描。每图指标输出携带 metric_version(当前 1)防推理器实现漂移静默改定义(联动 F4 基线);未来改 R∞/信息源域则 version=2 + 向量重制,仅增判据与指标集不动 R∞ 定义时 version 不跳变。
|
||||
|
||||
clearable 与 inferability 分两闸的理由:inferability 门槛不蕴含可清图——终局对赌残余(拉低可推理率)与矿壳包围的不可达安全格(使 cleared 永不可达)是正交缺陷(1 个不可达格在 126 安全格的板上仅拉低 0.008、0.95 门槛照过,而该板功能性残废);故清图可达性是合法性谓词(违规 = 该次尝试判废重试,非"接受最优"候选),与质量度量分属两闸(验收算子见 F5)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
现行口径 = 免赌占比双判据 + 合法性闸分立 + 信息源穷尽枚举冻结 + metric_version 防漂移。改 R∞ 定义、信息源域或规则域 = GDD 修订,非调参。
|
||||
|
||||
### F1 完整验算例(design 件只留摘要)
|
||||
|
||||
12×12 图(144 格),mine_density=0.15 → N = round(0.15×135) = 20(设环内移除 0,\|M\|=20)、S=124;雾 2 区共 9 格。R₀=21,全图 0 级联闭包 58(含 5 个链可达雾格);数字推导开据 51 + 雾元知识开据 4(链不可达雾格)+ 推导触发级联 8 = 63 → R∞=121;残余 3 格 = 一处终局非确定对 + 1 孤立残余格。inferability = 121/124 ≈ 0.976 ≥ target 0.95;inferability_core = (121−9)/(124−9) = 112/115 ≈ 0.974 ≥ 0.95 → 两项判据达标,attempts_used=1。
|
||||
|
||||
## 问题:参数域与可行性谓词怎么定(F2/F2b/F2c 的边界从哪来)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 雾占比上界候选:纯 f≤8d 推导界(必要上界,边计数)——不足:堵不住"极雾行以雾元知识撑满可推理率"的度量空心;故叠加 0.25 绝对上限(MVP 量级护栏,非推导界)。
|
||||
- 成本闸候选:运行期墙钟时间逃生——被否:耗时依赖输出即破同种子同图(文本级契约),确定性死线必须加载期可判定,故取 attempts×W×H ≤ C 的静态谓词形式,C = 16384 为 provisional 量级护栏,正式值归 OQ2 ADR。
|
||||
- 联合校验候选:给 inferability_target × 雾/密度参数加第三条静态跨字段校验——被裁决拒绝(见下裁决表)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
必要上界推导(边计数):每雾格 ≥1 条到非雾雷的邻接边 ⇒ 邻接边数 ≥ \|F\|;每雷 ≤ 8 邻 ⇒ \|F\| ≤ 8\|M\| ⇒ f ≤ 8d。必要 ≠ 充分:连通性缺口(雷膨胀皮肤碎裂,A4 EC2)不由本式判定,由静默降级 + F4 兜底。极端行为:d=0.5 时 8d=4,f<1 成为绑定约束;d→0 时几乎任何正 f 均被拒(小雾量在稀雷图结构性不可布,属正确拒绝);f > 0.25 恒拒(与 d 无关);attempts×W×H > 16384 恒拒。
|
||||
|
||||
F2b sound 性论证:N = round(d×(W×H−9)) 先定数、先布后删只减不增 ⇒ \|M\| ≤ N ⇒ \|S\| = W×H − \|M\| ≥ W×H − round(d×(W×H−9))——round 取整钉死后恒成立(其他取整为非法实现);计数可行 ≠ 连通可行——clearable 生成期闸不可互替。F2b 为 Schema 校验行 delta:min_safe_count 原仅产物侧不变式(Rule 8),参数侧联合不可行域(小图×高密×高下限)经 F2b 于加载期拦截。
|
||||
|
||||
布雷数下限 round(d×(W×H−9)) ≥ 1 的动机:零雷板 = 初始展开即 cleared 的 A3 EC5 钓鱼活体 + 标中旗经济恒空 + F4 全断言隐形穿越。
|
||||
|
||||
与 Schema 校验的关系:F2 是 Tuning Knobs 跨字段谓词的规范化合取形,二者等价——Schema 校验行采本规范形消除分歧;(count=0, f>0) 角点已入 AC-2 违例集。
|
||||
|
||||
### 综合判断
|
||||
|
||||
三谓词加载期可判定、违规即致命;0.25 / 16384 / 布雷数下限与 F4 严格零阈值同属结构冻结(调整走 GDD 修订非调参)。
|
||||
|
||||
### 联合可行域裁决(不加第三条跨字段校验——裁决记录)
|
||||
|
||||
| # | 裁决要点 |
|
||||
|---|---|
|
||||
| 1 | 无可判定静态界——inferability 由 0 格拓扑、雾形、出生位置主导,聚合参数不决定它,任何 sound 加载期联合谓词要么空洞要么误杀 |
|
||||
| 2 | 架构既定——暴露机制就是"运行期接受最优不死锁 + 强告警埋点 + 调参期批量断言",第三闸重复且更弱 |
|
||||
| 3 | 补偿保证(与 F4 绑定生效)——F4 红线 + 降级率埋点使联合不可行域在首次批量生成时必然现形 |
|
||||
| 4 | 裁决边界——拒绝的是 inferability 可行性静态联合谓词(无可判定静态界);雾占比绝对上限 0.25(度量语义护栏)与 F2c 成本谓词(确定性成本死线)均有可判定形式且不声称预测 inferability,不在该裁决覆盖内 |
|
||||
| 5 | 回写义务(advisory 非校验)——target、fog_target_ratio、mine_density 同向调高时降级率结构性上行,属参数域边界而非实现缺陷 |
|
||||
|
||||
### F2/F2b/F2c 验算表
|
||||
|
||||
| 输入 | 判定 | 依据 |
|
||||
|---|---|---|
|
||||
| (d=0.15, f*=0.12, count=2) | ✓ 放行 | 域内 |
|
||||
| (d=0.06, f*=0.50) | ✗ 致命 | 0.50 > 8d = 0.48 |
|
||||
| (count=3, f*=0) | ✗ 致命 | 一致性腿(count ≥ 1 ⇒ f > 0) |
|
||||
| (count=0, f*=0) | ✓ | level 1 无雾行标准形 |
|
||||
| (count=0, f*=0.05) | ✗ 致命 | count=0 ⇒ f=0 腿(角点) |
|
||||
| (d=0.15, f*=0.85, count=32) | ✗ 致命 | 0.85 > 0.25 雾占比绝对上限——极雾行加载期判死 |
|
||||
| F2b:10×10、d=0.10、min_safe=50 | ✓ | 100 − round(0.10×91) = 91 ≥ 50 |
|
||||
| F2c:10×10×16 = 1600;12×12×16 = 2304 | ✓ | ≤ 16384 |
|
||||
| F2c:64×64×32 = 131072 | ✗ 致命 | 该组合换图相位同步卡顿秒级至百秒级 |
|
||||
|
||||
## 问题:雾的成本怎么记(F3 的口径为什么是这样)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 分母候选 A:雾内部分母 \|U\|/\|F\|——被裁:不单列输出,可由指标集(实际雾占比 + Chain₀/U 重算)按需还原,不作对账输入。
|
||||
- 分母候选 B:付费格分母 \|U\| ÷ max(1, \|S ∖ Chain₀\|)——定为 B1 条款 5 对账精确口径(雾在最小清图 AP 负担中的权重)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
分母 = \|S ∖ Chain₀\| = 最小清图付费挖掘格数(初始展开与连锁免费、其余每格 dig_ap_cost——A3 价目只读引用),分母下限 1 防全连锁退化板除零。链可达性取决于未开 0 格隐藏拓扑,玩家决策时点不可求值——本式是生成期事后度量;A4"玩家侧按全价做预算"的保守启发式不与本式冲突,两口径服务不同主体。聚合义务(A4 ⑤ 公式化):逐板计算入指标集;调参期按行批量聚合出核算报告供 C3 修正行参数;无运行期强制——A1 只拥有量的计算与输出,不拥有"够不够"的判(归 A1/A3 契约与 C3)。
|
||||
|
||||
边界形态的观测意义:U=F(雾区全部链不可达)→ 雾板退化为纯 AP 税——A4 反向护栏与 B4 定价约束的观测对象;U=∅(雾全链免开)→ 雾零成本——B4"糖果区"病理在此指标上直接现形。验算例:F1 例板 F=9、链可达雾 5 → U=4;dig_ap_cost=1 → Δbudget_fog = 4 AP;付费格 = 124 − 58 = 66 → fog_burden_ratio ≈ 0.061。
|
||||
|
||||
### 综合判断
|
||||
|
||||
Δbudget_fog 与 fog_burden_ratio 随图输出、生成期算账、调参期批量核对;运行期不强制,账对不上改的是难度参数行。
|
||||
|
||||
## 问题:调参期红线怎么守(F4 的阈值与样本量怎么定的)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 红线阈值候选:小容差(如允许 1% 失败)——被否:A1 反向护栏已定"跌破门槛 = 阻塞缺陷",任何一例失败即触发参数修正会话,迫使决策显式化;裁定严格零(用户定稿)。
|
||||
- 雾出现下限候选:1.0——被否:EC2 连通性降级是合法运气事件;裁定 0.95(收紧为达成区占比后,同时容纳完全降级与部分达成两类合法运气事件)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
阈值裁定理由(五条):
|
||||
|
||||
| # | 理由 |
|
||||
|---|---|
|
||||
| ① | 红线严格零(用户定稿):任何一例失败即触发参数修正会话,迫使决策显式化;运行期"接受最优/最不坏"是安全网,批量红线是调参期纪律 |
|
||||
| ② | N=256:95% 下限的稳定通过要求真实出现率 ≥ 0.98(3σ 余量 ≈ 99.97%) |
|
||||
| ③ | 雾出现下限 0.95 而非 1.0:5% 容差容纳自然方差;系统性病理(level 2 小图低密关雾成片失败)呈现 ~0% 出现率,与 0.95 相距悬殊,检出无歧义 |
|
||||
| ④ | 断言 B′ 零成本反向杠杆:门控 bug(如 level 1 出雾)一例即现形 |
|
||||
| ⑤ | 成本:行数 × 256 板 × ≤32 attempts 的生成+求解模拟,离线分钟级(成立域 = worklist 级求解实现 ∧ 大面积行稀少;naive 全板扫描实现 + 数行 48×64 板即小时级——分片续跑义务见 OQ2) |
|
||||
|
||||
σ 基址打包论证:σ(L,D) = 10^9 + 2^20·L + 2^12·D——位打包使行区间 [σ, σ+255] 两两不交、远离运行期取号域;朴素 1000·L+D 打包在 D≥1000 时精确碰撞〔(1,1001) ≡ (2,1)〕且同 L 相邻深度行批量区间 255/256 种子重叠。登记种子按失效协议全部重搜——夹具 σ 为登记时值。derive_at 纯函数、不推运行期计数器;σ 基址清单入版本库,批量跨迭代可复现。target行 期望由表值推导,不写死。
|
||||
|
||||
### 综合判断
|
||||
|
||||
断言 A/A″/A′/B/B′/E + 报告 C + 诊断 D 现行口径冻结;严格零阈值与 0.85/0.25/16384 同属结构冻结。验算行:行 (2,0)(fog unlock 关)N=256 → 两项判据达标 256/256 → A 通过;达成区数 = count 的板 251/256 = 0.980 ≥ 0.95 → B 通过;重试率 3.1% → 诊断记录。行 (3,2):达成区数 = count 的板 220/256 = 0.859 < 0.95 → B 失败 → 修正行参数(区域数/尺寸/密度侧保证,禁放宽 A4 Rule 3)。极端行为:target 1.0 的行在断言 A 下大概率开火(合法、预期信号);断言 B′ 失败即实现缺陷而非参数问题。
|
||||
|
||||
## 问题:生成-验证循环与验收算子怎么取舍(F5 为什么是三分支)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:一次性生成不重试——被否:雾布完才测可推理率,单次失败即废图过于浪费,且没有参数问题的暴露通道。
|
||||
- 候选 B:全局 argmax(跑满 attempts 取最高分)——被否:达标即出(最早达标尝试 k*)是重试语义的自然形式化,argmax 徒增耗时无品质收益。
|
||||
- 候选 C:attempts 用尽直接报错/卡死——被否:玩家永不卡死是硬承诺;裁定降级链 = 接受最优(k**,tie 取最早、零额外取数)+ 强告警 → 零合法时接受最不坏(k***,确定性劣度字典序)+ 最高级告警 + 非法产物标记(均为用户定稿)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
合法性闸(clearable/min_safe)在质量评分之前的理由:不可清图产物若进入"接受最优"候选,质量分会掩盖功能残废——1 个不可达安全格只拉低 inferability 0.008,板却已功能性残废。三分支共用同一 board_gen 流实例(Rule 3/6),k*/k**/k*** 与 B_out 同为流取数的确定函数——回放语义闭合;scope 事件边界操作定义 = 生成函数完整返回(重试不产生新取号),D3 快照切点天然落在边界外(D2"消费侧遵守"条款的 A1 具体化)。生成期表值单次读取(行参数在生成开始时快照,生成期内不重读——防热重载撕裂 attempt 语义,A4 EC8 同族)。"接受最不坏"分支的确定性劣度 = (不可达安全格数, min_safe 缺口, 序号) 字典序——零额外取数、可重放。B1 编排不得把 attempt 边界当 scope 事件(登记 B1 接线注记)。
|
||||
|
||||
EC5 玩家侧语义登记:非法产物标记属遥测域、玩家不可见——零合法板在玩家侧表现为"看似可玩"的功能残废(不可清图板挖光可达域后 cleared 永不触发、清图奖励永不可得、无任何提示),GDD 如实登记该体验债;玩家侧诚实呈现(提示/补偿/回退)登记为 B1/D1 域承接项;运行期熔断候选(同 (L,D) 连续降级/非法 ≥ 阈值 → 确定性回退该行已知好种子重生成)不破"玩家永不卡死"与回放契约,方案裁决归实现期 ADR(OQ2 关联)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
三分支 + 合法性闸前置 + 强告警分级是现行契约;降级率是参数问题的暴露通道,批量红线由 F4 断言 A′ 守。
|
||||
|
||||
## 问题:体验锚点为什么这样定(P1/P4/P3 的生成侧承诺)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- P1 生成端对偶:D2 保"同种子同结果"的可复现,A1 保"同参数同品质"的可推理——可推理率生成参数 = 出题人义务;玩家输给的是自己选的赌(雾区/终局盲猜),不是不可解的局。
|
||||
- P4 难度物质:雷密、尺寸、雾占比随 (level_index, node_depth) 爬升——难度由 BoardGenTable 行参数直接雕刻,非文案。
|
||||
- P3 空间面:生成期布置约束兑现"雾区无雷、雾贴雷簇"(A4 Rule 3 结构推论)——洞口前的权衡是真实的信息权衡而非装饰。
|
||||
|
||||
### 深度分析
|
||||
|
||||
情绪目标:"这局能算"的底气——A1 不制造情绪,它制造情绪的前提条件(玩家永不看见生成器,但每轮都在体验它的产物)。参考感受:扫雷原版"每局必有解"的玩家信念(原版实际不保证——本作把这份信念变成生成端契约);Into the Breach 每张谜题可解的设计诚实。反向护栏(裁剪判据):"纯猜局"是 P1 的死亡体验——生成端若让玩家频繁坠入不可推理局面,结算端再华丽也救不回掌控感;红线 = 生成参数使可推理率跌破门槛即为阻塞缺陷(验收红线,非调参建议)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
三条支柱承诺全部以生成端可判定契约承载(双判据、行参数雕刻、布置约束),无一依赖文案或呈现。
|
||||
|
||||
## 问题:核心结构决策的取舍记录(布雷、取整、密度形态、推理域)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 布雷语义候选:落选重投(落进环内就重取位置)vs 先布后删(落完再删、只减不增、不重投、无迭代)——裁定先布后删:确定性终止、无迭代、漂移量可观测(|M| ≤ N 入指标集)。
|
||||
- 雷数取整候选:round 钉死(其他取整为非法实现——F2b sound 性论证依赖此钉死)。
|
||||
- 雷量参数形态候选:定数 vs 密度浮点——裁定密度浮点(尺寸解耦;f≤8d 分母对齐),用户拍板四结构决策之一。
|
||||
- 推理域候选:开放信息源 vs 封闭枚举 single_subset——裁定冻结(用户拍板);改域 = 改可推理率定义 = GDD 修订非调参。
|
||||
|
||||
### 深度分析
|
||||
|
||||
四结构决策(生成-验证循环 / 接受最优 + 零合法接受最不坏 / 推理域 single_subset 冻结 / 密度浮点)与 F4 严格零红线为用户拍板——全部经 2026-09-09 full /design-review 8 条 blocking 修订后放行(日志:design/gdd/reviews/a1-board-generation-review-log.md)。雾边双向净效应建模(A4④):可推理率测量在布雾完成后进行,雾边寂静减项与雾锚增项(雾元知识开据格)同时内生于测量,禁单向补偿;AC-8 板ⅲ 为此的度量侧证据。
|
||||
|
||||
### 综合判断
|
||||
|
||||
结构决策全部冻结;任何一项的改动都走 GDD 修订。
|
||||
|
||||
## 问题:措辞与口径防漂移登记(为什么是 registry 级)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
inferability 与 P(安全) 是两个系统的两个量,混用即口径漂移。
|
||||
|
||||
### 深度分析
|
||||
|
||||
inferability 是盘面级免赌占比(生成侧);P(安全) 是单格认知概率(决策侧、经济口径)——免赌集内 P(安全) 恒 = 1(含雾格),风险讨论收缩到残余集(其安全格占比 ≤ 1 − inferability)。inferability 是 P(安全) 的生成端结构性上界代理之占比形式,不是 P(安全) 本身。B1 条款 3 对账输入 = actuals 分布 p10(F4 报告 C)而非 target 参数——防"拿参数当事实"。
|
||||
|
||||
### 综合判断
|
||||
|
||||
措辞登记为 registry 级事实(board_gen_table.inferability_vs_p_safe),B1 消费回执已登记。
|
||||
|
||||
## 问题:验收设施怎么设计(测试口径各条款的理由)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 冒烟载体:A1 是生成函数系统,`godot --headless --script`(承 D2 冒烟框架;脚本 extends SceneTree、autoload 显式实例化)。
|
||||
- 度量独立入口(qa-lead 裁决、分解面声明):推理器(R∞/inferability/metric_version)、F3 度量(Chain₀/U/Δbudget_fog/fog_burden_ratio)、合法性谓词(legality/clearable)以独立纯函数入口暴露——生成函数内嵌调用与独立入口同一实现,独立入口不引入新逻辑、仅暴露 F1/F3/F5 已定义的函数;独立入口的行为断言即内嵌调用的行为(次序无关性、防作弊等白盒性质测试以此为载体);若实现期 ADR 裁决推理器不可独立调用,AC-7/8/9/12 的单元腿须降级重议——登记缺口 G1,门禁评审列为 A1 实现契约条款。
|
||||
- 测试种子取号:经 `derive_at("board_gen", σ)` 纯函数(D2 R2 预览语义的测试侧合法用途,不推运行期计数器);测试脚本以该种子构造流实例属测试通道合法动作(AC-18 扫描豁免域);运行期 replay 语义(open_stream 全真路径)另测(AC-5)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
夹具策略:默认根 = MVP 参考行 L1·D0 / L2·D0(干净检出)——参考行是 GDD 定稿的 schema 自洽性证明行,期望全部由表读值推导、对 C3 调参免疫;行为变体经 `--data-root` 夹具根注入(禁拷入 data/tables/);黄金图板与病态板经 Board class_name 直引程序构造(不经生成器、不经 load()/preload()——A4 AC-5 先例)。登记种子(σ 值)依赖管线确定性:一经验证恒成立,实现或定义变更致失效 → 按失效协议重搜并登记(与黄金向量失效协议同源)。
|
||||
|
||||
黄金图回归向量协议:五类手工核验小板,每板 = 显式坐标规格(尺寸/雷集/雾区格集/出生 3×3,程序构造不经生成器)+ 登记常数((\|R∞\|,\|S\|) 整数对、含雾板另登记 (\|R∞∖F\|, \|S∖F\|) core 整数对——由既有坐标规格派生、向量不重制、关键格 R∞ 成员表、clearable、Chain₀/U 格集、Δbudget_fog、fog_burden_ratio 比对形 = 整数对 (\|U\|, max(1,\|S∖Chain₀\|))、metric_version=1——整数对比对,禁浮点容差)+ 逐格手工推导记录(每格声明信息源 ∈ {数字约束(a)、雾元知识(b)、0 格级联①},入版本库随向量文件——手工常数的登记依据);比对内容 = 度量独立入口 + 合法性谓词输出与登记常数逐位相等;失效处置协议 = 失配先按冻结定义复核手工推导,推导无误即实现缺陷(修实现);solver_rules/合法信息源域/metric_version 变更 = 换 solver_rules 即失效,走 GDD 修订 + 向量重制(推理域冻结的非调参性质的行为侧兑现)。
|
||||
|
||||
期望值推导纪律:行为类 AC 期望 = ConfigDB/表读值推导(inferability_target/min_safe_count/max_gen_attempts/fog_region_count/unlock_level/dig_ap_cost/σ 公式全读值),不写死玩法数值;唯一例外 = 黄金图向量手工常数(依据 = 手工推导记录);参考行 GDD 自注期望(\|S\|≈91 等)为说明非断言,任何 AC 不采用。致命类独立进程协议:承 D2 AC-2b / A4 AC-4b——runner manifest 逐条登记"夹具根 → 期望退出码"(AC-3 三行,均 ≠0);单进程内只做测试通道收集断言;每用例先 `reset_diagnostics()`(承 D2 冒烟协议;warning/error 断言一律经诊断收集器)。
|
||||
|
||||
MVP 参考行自洽性验证:F2/F2b/F2c 全过(10×10×16 = 1600、12×12×16 = 2304 ≤ 16384);期望 \|S\| ≈ 91、R₀ ≈ 12–20 → inferability 期望 ≥ 0.95(L1 无雾 ⇒ core ≡ inferability;L2 雾 ~14/144 格、core 判据轻度收窄仍期望 ≥ 0.92——两项判据同时达标;attempts_used ≈ 1,F4 全绿理论位形)。参考行明细:L1·D0(10×10 / d=0.10 / target=0.95 / single_subset / min_safe=50 / attempts=16 / fog 0·0——level 1 候选池空标准形 / biome={"dungeon"} 占位);L2·D0(12×12 / d=0.12 / target=0.92 / 同冻结 / min_safe=60 / attempts=16 / fog 1 区·0.10〔≤8×0.12 ✓——F4 断言 B 首个真实考验行〕 / biome 同占位)。全部 provisional——仅 schema 自洽性证明,曲线数值归 C3 调参所有权。
|
||||
|
||||
### 综合判断
|
||||
|
||||
测试口径全部条款现行有效;缺口 G1/G2/G4 如实登记(见开放问题区)。
|
||||
|
||||
## 附录 A:夹具规格(qa-lead 交付,逐根原样保留)
|
||||
|
||||
| 夹具根 | 内容(F2/F2b 均过,除违例根外) | 用途 |
|
||||
|---|---|---|
|
||||
| `a1_fog_domain` | f>8d 违例行 | AC-2/3(致命) |
|
||||
| `a1_min_safe` | 10×10/d=0.10/min_safe=92(F2b 违例:100−round(0.10×91)=91<92) | AC-2/3(致命) |
|
||||
| `a1_biome_empty` | board_biome=∅ 行(A4⑮) | AC-2/3(致命) |
|
||||
| `a1_pool_empty` | VariationTable 测试行(biome_tag=[ice]、unlock_level=1,承 A4 variation_biome_tag 同型)+ BoardGenTable 两行:(1,0) board_biome={dungeon}(pool=∅)/ (1,1) board_biome={dungeon,ice}(pool 非空) | AC-13 |
|
||||
| `a1_high_target@k` | 12×12/d=0.12/target=1.0/fog=1 区 0.05/min_safe=60/attempts=k∈{1,2} | AC-5/11 |
|
||||
| `a1_ec5@k` | 10×10/d=0.45/min_safe=1/target=0.85(域内合法档)/fog=0/attempts=k∈{1,2,8,16};σ* 登记(@1 零合法验证种子) | AC-12 |
|
||||
| `a1_two_regions` | 10×10/d=0.15/count=2/f=0.12/target=0.85/attempts=16;σ 登记 | AC-14 |
|
||||
| `a1_ec2_press` | f := 8×d 计算值恰界行(程序内动态赋值);σ*′ 登记(shortfall>0 搜索种子) | AC-15 |
|
||||
|
||||
黄金板设计要求:ⅰ 纯数字推理板(无雾;须含仅 single_subset 规则可开的推导格)· ⅱ 链密集板(0 格级联闭包主导)· ⅲ 含雾板(须同时含:链可达雾、链不可达雾、邻接出生 3×3 的雾区、寂静减项证据格、雾锚增项证据格【雾元知识开据格】)· ⅳ 终局对赌残余板(inferability 严格 ∈ (0,1) 的非确定残余)· ⅴ 不可达安全格板(clearable 违例形态)。
|
||||
|
||||
只读观测量清单:产物格状态(雷布/数字/0 格/雾区标记/出生区)+ 八项指标(实际 inferability【含 metric_version】/ inferability_core / 实际雾占比【= \|F\| ÷ (W×H)】/ 实际雷数与实际 \|S\| / fog_burden_ratio / Δbudget_fog / attempts_used / 降级标记【含非法产物标记与 shortfall】)。
|
||||
|
||||
## 附录 B:out-of-scope deferral 表(以对侧登记为生效条件)
|
||||
|
||||
| 编号 | deferral 内容 | 对侧 / 生效条件 |
|
||||
|---|---|---|
|
||||
| O1 | B1 接线——attempt 边界非 scope 事件的编排侧断言、指标对账消费(actuals p10 非 target)归 B1 GDD AC(A1 侧生成半边已由 AC-5 计数器断言覆盖) | B1 GDD 登记 |
|
||||
| O2 | F4 全量——N=256/行 × 全行的断言 A 严格零/B 0.95/报告 C/诊断 D = 调参期离线批量工具域(工具本体为 A1 交付物,登记 OQ;σ 基址清单入版本库),冒烟仅载缩样(AC-10) | 批量工具交付登记 |
|
||||
| O3 | A2 集成——双包含回验(A2 实际展开域 ⊆ A1 排除域;A1 求解器初始态 ⊆ A2 实际初始展开域)登记 A2 GDD(A1 半边由 AC-6(a) 测试 BFS 对照承载) | A2 GDD 登记 |
|
||||
| O4 | fault-injection 缺载体——EC7 生成中热重载(同步单调用无重入点,构造性成立且注入不可)、EC10 内部异常 fatal、EC4 tie-取最早(需精确同分尝试)deferral 至实现期注入设施或可选种子搜索会话 | 实现期登记 |
|
||||
| O5 | 性能预算——生成耗时/换图相位无定稿预算值(Tuning Knobs OQ),perf-profile 期承载 | perf-profile 期 |
|
||||
| O6 | 呈现域——EC6 雾区视觉合并归 D1、biome 色板换皮归 D1/art-bible | D1/art-bible 登记 |
|
||||
| O7 | C3 全行审计——曲线导出工具全行矩阵 diff 为 C3 期交付物(D2 OQ5 既有排期) | C3 期 |
|
||||
|
||||
## 附录 C:Knob 调参方向表(调过高/调过低的后果记录)
|
||||
|
||||
| Knob | 参考(L1/L2) | 调过高 | 调过低 |
|
||||
|---|---|---|---|
|
||||
| board_width/height [8,64] | 10×10 / 12×12 | 决策带宽膨胀、清图时长拉长 | 逼近 min_safe 联合域(F2b 拦截线) |
|
||||
| mine_density (0,0.5] | 0.10 / 0.12 | 推理窗收窄、可推理率难达标(F4 断言 A 开火);f≤8d 分母水涨船高 | 图面空旷、奖励密度稀 |
|
||||
| inferability_target [0.85,1] | 0.95 / 0.92 | 重试率升、深行联合不可行(F2 裁决:无静态闸,F4 必然现形) | 域下限 0.85 = P1 绝对锚(加载期拒绝 + F4 断言 A″ 兜底)——"纯猜局混入"红线自此有可判定载体;0.85 本身的调整走 GDD 修订非调参 |
|
||||
| min_safe_count | 50 / 60 | 小图联合无解(F2b 加载期拦截) | 退化板钓鱼复现(A3 EC5 对冲失效) |
|
||||
| max_gen_attempts [1,32] | 16 | 生成耗时随 attempts×面积×传播深度超线性涨(对边长最高三次方量级;F2c 成本闸拦病理组合,OQ2) | 降级率上行、质量下行 |
|
||||
| fog_region_count | 0 / 1 | 信息剥夺过重(P1 落差);F4 断言 B 压力 | 低于雾出现率下限 → A4"解锁新变异"推进感哑火(A4⑭ 义务) |
|
||||
| fog_target_ratio [0,1) | 0 / 0.10 | 逼近 8d 上界 → 布置降级率升(连通性,EC12 两闸注记);> 0.25 加载期拒绝(F2 雾占比绝对上限腿) | 雾存在感弱、P4 推进感哑火 |
|
||||
| board_biome | {"dungeon"} | ——(词表 owner 未定稿,暂只校验非空) | —— |
|
||||
|
||||
## 附录 D:覆盖矩阵(qa-lead 交付,验收评审用)
|
||||
|
||||
| 类别 | 映射 |
|
||||
|---|---|
|
||||
| Core Rules | 1→AC-4/5/6(c)/16(布雷语义)· 2→AC-8/9/10(a)/16(两项判据)· 3→AC-10/11/12 · 4→AC-6(a)(b)/7(芯/环口径)· 5→AC-6(c)(d)(e)/13/14/15 · 6→AC-4/5/14/18 · 7→AC-16 · 8→AC-2/3/6(f) · 9→AC-1/2/3/13 · 10→AC-6(g)/17/18/19 |
|
||||
| Formulas | F1→AC-8/9/7/16 · F2/F2b/F2c→AC-2/3(角点/上限/布雷数下限/成本上限)· F3→AC-16 · F4→AC-10(全量 O2;断言 A″/E 属 O2)· F5→AC-10(e)/11/12/7 |
|
||||
| EC | EC1→13 · EC2→15 · EC3→7/8 · EC4→11(tie O4)· EC5→12(玩家侧语义登记 B1/D1 域)· EC6→14(合并 O6)· EC7→O4 · EC8→10(c) · EC9→2/11 · EC10→O4 · EC11(F2b)→2/3 · EC12→2/15 · EC13→2 · EC14→5 |
|
||||
| A4 义务 | ①→13 · ②→6(c) · ③→6(a)(b) · ④→8/16(core 常数补强)· ⑤→16 · ⑥→13 · ⑦→15 · ⑧→4/14 · ⑨→7/8 · ⑩→2/3 · ⑪→14(间接承载——共置+确定性,无取号耦合差分)· ⑫→6(d)(e)/2 · ⑬→15(部分覆盖:面积判据实现同样通过 a1_ec2_press——取号耦合差分夹具登记待核销)· ⑭→10/O2(断言 B 收紧达成区占比)· ⑮→2/3 |
|
||||
| 规模 | 19 条 AC + A4×15 全落位 + 黄金五板;⑪ 差分承载与 ⑬ 差分夹具登记待核销(间接承载已注明),5 处标注问题的修正明细见评审日志 |
|
||||
|
||||
## 开放问题
|
||||
|
||||
| # | 悬案 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| OQ1 | F4 全量批量工具的 owner 排期:调参期红线工具(断言 A/A′/B/B′ + 报告 C + 诊断 D,N=256/行)——与 D2 OQ5 曲线导出工具同批登记排期(排期倒挂:A1 定稿→首行数值回填→即需抽查;临时载体 = 冒烟缩样 AC-6/10,统计意义有限,如实登记) | A1 交付物 / C3 消费 | C3 调参期前 |
|
||||
| OQ2 | 生成性能预算与异步化选项:① 预算数值定稿——F2c 谓词形式已冻结(max_gen_attempts × W×H ≤ C),C = 16384 为 provisional 占位,ADR 裁定正式 C 与 headless debug 基准(如"64×64 单次求解 ≤ X ms");② 解空间圈定——死路二:attempts 并行化(毁 board_gen 流序即毁回放)、分帧/协程化(跨帧在飞 open_stream 实例与 D2 快照切点契约冲突,需 D3 扩容修订);活路四:同步 + 加载幕(B1 换图相位)、主线程分帧 + D3 快照扩容修订、WorkerThread + D2 EC13 单线程假设接口漂移修订(join 先于任何快照切出)、B1 预测性预生成(线性图结构的死时间生成——scope 计数器推进时点须入回放语义);③ 实现姿态约束——最小不动点可经单调 worklist 传播实现(次序无关性不强制全板重扫描——F1 注记⑤),禁全对全子集比较(ADR 验收底线);④ F4 全量工具须支持分片续跑("分钟级"成立域 = worklist 实现 ∧ 大面积行稀少,见 F4 阈值⑤) | 实现期 ADR / perf-profile | Technical Setup |
|
||||
| OQ3 | 度量独立入口分解面确认:推理器/F3 度量/合法性谓词三入口暴露(AC-7/8/9/12 单元腿前提——缺口 G1);若 ADR 裁决不暴露,四条 AC 单元腿降级重议 | 实现期 ADR | 实现期 |
|
||||
| OQ4 | biome 词表 owner 定稿:board_biome 值域现只校验非空(EC13);词表定稿后补域校验 + 参考行占位值替换(接口漂移) | B4/C1 域 + AD 门禁 | 垂直切片前 |
|
||||
| OQ5 | 黄金向量手工推导第二人复核:五板逐格推导记录入版本库后安排复核(qa-lead 缺口登记——推导错误即假失配) | A1 定稿评审 | A1 /design-review |
|
||||
| OQ6 | 精英/Boss 第三轴落点重审:节点形态定稿后强制重审——① Dmax 行约定是否覆盖全部 Boss 场景 ② 精英节点是否需第三键维 / elite_、boss_ 字段激活(分支地图同深度并存精英与普通节点时);激活即走 D2 Rule 4 改键通道 + 本表 schema 修订(接口漂移迁移,退路已登记) | C1/C3 GDD | C1 定稿时 |
|
||||
|
||||
待拍板(格式迁移中发现的原文与 registry 落差,不自行裁决):
|
||||
|
||||
| # | 事项 | 来源 |
|
||||
|---|---|---|
|
||||
| T1 | registry `a2_initial_expansion.degenerate_gap` 与 systems-index 登记了一条 A1 修订义务(反例 B / N=1 行 100% 退化):F5 legality 增 `R₀ ≠ S`(违例 = 尝试作废重试)+ F4 断言 A′ 族严格零覆盖 + Rule 4 排除域基准措辞钉死"以最终产物板计"。该义务未落入原 A1 GDD 任何版本(F5 legality 现形 = clearable ∧ \|S\| ≥ min_safe ∧ 结构不变式,R₀=S 的退化板 clearable 照过)。本次为格式迁移、禁止加规则,原样保留现形并在此登记——待用户/修订流程裁决是否按既有登记走接口漂移修订 | design/registry/entities.yaml + systems-index 门禁记录 |
|
||||
|
||||
缺口登记(原测试口径/AC 内的 G 编号,保留):
|
||||
|
||||
| # | 缺口 | 处置 |
|
||||
|---|---|---|
|
||||
| G1 | 度量独立入口分解面未确认(AC-7/8/9/12 单元腿前提) | 归 OQ3,实现期 ADR 裁决;不暴露则四条 AC 单元腿降级重议 |
|
||||
| G2 | AC-9 输入表示序不变量不覆盖完全开据定序自由度的穷尽验证 | out-of-scope,如实登记 |
|
||||
| G4 | a1_ec2_press 的 shortfall>0 搜索种子 σ*′ 若搜索无解,后备语义未定 | 登记待核销,协议同 AC-12 种子搜索 |
|
||||
|
||||
## 去向映射(零丢失审计证据)
|
||||
|
||||
| 原章节 | 落点 |
|
||||
|---|---|
|
||||
| 头部(状态/版本/支柱/层级/一句话/复核注记) | design 头部(状态/版本/一句话/推演件指针);承载支柱与层级定位并入 design 设计目的定位段;复核注记(CD/AD 未经咨询、生产前人工复核)→ 本文件开放问题区关联 OQ5 + 版本历史沿革 |
|
||||
| 速览表 | 定位/拥有/不拥有 → design 系统范围;上游输入/下游输出 → design 依赖与输出;硬约束 → design 生成管线与随机流纪律规则 3 + schema 节;缺位后果 → design 设计目的 |
|
||||
| 体验锚点(P1/P4/P3 表、情绪目标、参考感受、反向护栏) | 结论(五条体验承诺)→ design 设计目的;全部论证 → 本文件「体验锚点」问题节 |
|
||||
| 全局流程(五阶段字符画 + 出口分发表) | design 核心循环(原样保留) |
|
||||
| 核心规则 1–10(人话 + 举证) | 人话 → design 各领域章节编号规则(规则 1/6 → 生成管线与随机流纪律;规则 4 → 出生区与可达域;规则 5/9 → 变异布置与雾形边界;规则 2/3 → 可推理率度量与验收算子;规则 7 → 清图预算增量;规则 8/10 → 参数表节);举证中的计算指向保留为 F 编号引用 |
|
||||
| 枚举(八项指标集 / solver_rules) | solver_rules → design 可推理率节规则 5 + schema 表;八项指标集 → design 依赖与输出产物行 + AC-16(逐字段枚举保留);指标逐项语义 → 本附录 A 只读观测量清单 + design 各 F 节 |
|
||||
| F1 结论 + 推导 + 口径注记 + Variables + 验算 | 结论与公式本体 + 口径钉死表 + 变量表 + 值域边界 → design F1 小节;推导论证(两通道、初始态、次序无关、clearable 两闸理由、完整验算例)→ 本文件「可推理率」问题节 |
|
||||
| F2/F2b/F2c 结论 + 推导 + 联合可行域裁决 + 验算 | 结论与判定式 → design 加载期校验表;边计数推导、sound 性论证、禁墙钟论证、裁决表、验算表、极端行为 → 本文件「参数域」问题节 |
|
||||
| F3 结论 + 推导 + 口径注记 + Variables + 验算 | 结论与公式 + 口径表 + 变量表 → design 清图预算增量节;分母取舍、两主体口径、边界形态观测意义、验算例 → 本文件「雾的成本」问题节 |
|
||||
| F4 结论 + 推导 + 阈值理由 + Variables + 验算 | 结论与断言表 → design F4 小节;阈值裁定理由五条、σ 打包论证、成本论证、验算行 → 本文件「调参期红线」问题节 |
|
||||
| F5 结论 + 推导 + 注记 | 结论与公式 + 注记表 + EC4/EC5 出口表 → design F5 小节;三分支取舍、合法性闸前置理由、EC5 玩家侧语义论证 → 本文件「验收算子」问题节 |
|
||||
| 显式排除声明(归属表) | design 系统范围不负责清单(括注归属)+ 依赖与输出 |
|
||||
| 措辞登记 | design 依赖与输出节前注记;论证 → 本文件「措辞」问题节 |
|
||||
| MVP 参考行 | design 调参表默认列(provisional 标注);参考行明细与自洽性验证 → 本文件「验收设施」问题节 |
|
||||
| 状态(五阶段失败语义 + 不变式) | design 生成管线节失败语义表 + 不变式行 |
|
||||
| 边界情况 EC1–EC14 | EC1/EC2/EC3/EC6/EC12/EC13 → design 变异布置节与出生区节编号规则;EC4/EC5/EC8/EC9 → design F5 小节出口表;EC7/EC10/EC14 → design 生成管线节规则;EC11 → design 加载期校验节规则;判据与依据编号全部保留 |
|
||||
| 依赖(上游/下游/A4×15 落位表/跨系统对账登记/双向一致性核对) | design 依赖与输出(原样保留) |
|
||||
| 呈现与 UI 契约(5 行数据面义务) | design 依赖与输出末表(原样保留) |
|
||||
| Tuning Knobs(schema + 加载期校验 + 第三轴登记 + Knob 表 + 非 knob + 工具参数 + Knob 交互) | schema + 校验 + 第三轴 → design 参数表节;调参表(字段|域|默认|owner)→ design 调参表;调过高/调过低后果 → 本文件附录 C;非 knob 结构冻结清单与 Knob 交互 → design 调参表脚注 |
|
||||
| 验收标准(测试口径 8 行 / 夹具规格 / out-of-scope deferral / AC-1–19 / 覆盖矩阵) | AC 19 条 GWT(编号不动、判定口径保留)→ design 验收标准;测试口径详表 + 夹具规格 + deferral 表 + 覆盖矩阵 → 本文件「验收设施」问题节 + 附录 A/B/D |
|
||||
| 开放悬案 OQ1–6 | 本文件开放问题区(原编号保留) |
|
||||
| 版本历史(3 行) | design 版本历史(原 3 行保留 + 追加 v2 迁移行) |
|
||||
@@ -0,0 +1,302 @@
|
||||
# A2 排雷玩法规则 设计推演
|
||||
|
||||
> 状态:concluded · 本文只装"为什么"——`design/gdd/a2-minesweeper-rules.md`(design 件)只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。OQ 编号与 design 件共用同一套。
|
||||
|
||||
## 问题:为什么数字与事实流必须恒真、拒绝必须可辨?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:信息诚实(数字恒真透传、拒绝携带可辨原因)——收益:玩家推理可兑现,"我算对了"成立;代价:呈现层不能以"隐藏"修补规则缺陷,规则层工作量前置。
|
||||
- 候选 B:战争迷雾式数据隐藏(数据层也不给真值)——收益:实现宽松;代价:P1"每一步都算数"直接死亡,连锁与推理失去地基。
|
||||
- 候选 C:弹性/含混提示(拒绝不给结构原因)——收益:文案自由;代价:玩家无法分辨"须先拔旗"与"非相邻",拒绝体验含混 = P1 死亡体验。
|
||||
|
||||
### 深度分析
|
||||
|
||||
本作 P1 支柱的执行面是"系统回应的每一格都与玩家推演的一致"。数字提示是扫雷推理的唯一原料,雾格只是呈现层不显示——数据层若说谎,推理兑现即坍塌。反向护栏由此确立:任何"规则层说谎"的形态(数字失真、连锁静默变异分支、拒绝原因含混)默认砍掉;呈现层的隐藏必须以数据层恒真为前提。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 A:digit 恒真透传(含雾格,仅 kind=safe 携带)、三源拒绝 + sub_reason 封闭枚举、事件发射规范序钉死。参考感受:Into the Breach 的信息诚实——拒绝你的规则从不含糊其辞。结论落 design 件:规则 1/2、三事件回边表、sub_reason 枚举、AC-19/20/22。
|
||||
|
||||
## 问题:为什么连锁算子必须与 A1 生成端度量同构,且零特判可行?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:A2 连锁算子与 A1 F1 算子①逐字同构——收益:连锁放大推理的兑现与生成端可推理率度量同源,"连锁传播与生成端度量同构"成立;代价:两系统算子修订必须联动(metric_version 跳变)。
|
||||
- 候选 B:A2 自写一套近似 flood fill——收益:实现自由;代价:玩家实际连锁规模与 A1 度量脱节,P1 兑现失真。
|
||||
- 候选 C:为雾格/变异写运行期分支——收益:局部直观;代价:违反零特判,变异系统任何扩展都要回改 A2。
|
||||
|
||||
### 深度分析
|
||||
|
||||
同构论证逐点成立:R↔X 换名后触发谓词同(成员资格 ∧ 真实数字 = 0——禁读显示值,雾格显示空 ≠ 0 格)、传播目标同(8 邻安全格——雷永不入链)、封闭域同(S)、单调最小不动点语义同(次序无关性两侧成立——worklist 任意定序、结果唯一)。同构主张范围 = 算子①本身:A2 无算子②推导项,不主张 O = R∞。增量合法性引理:Cl 单调幂等 ⇒ 逐动作增量求值 ≡ 一次全量闭包(与 A1 生成期同值)。
|
||||
|
||||
零特判合规两臂:雾格恒非 0 由 VariationTable 跨字段校验承重 ⇒ "可被链开"与"永不传播"两个方向都是定理不是分支;旗格不入链是集合减法(`∖ G`)不是分支——旗是 A2 一等规则对象、非变异属性。A2 运行期旗非空时传播集排除旗格(连锁不越旗);双包含回验不受影响——回验只在 install 时点发生,彼时 G = ∅(同构域 = G=∅ 域的依据:A1 生成期与 A2 install/初始展开时旗集恒空,`S ∖ G = S`)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 A + C 的反面:F2 与 A1 F1 算子①在 G=∅ 域逐字同构,A2 代码零变异分支。结论落 design 件:F2 结论与公式、实现期红线 1/3/4。
|
||||
|
||||
## 问题:为什么初始展开必须恰等 R₀——不能外扩一环,也不能只开 3×3?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:恰等 R₀(B3 ∪ flood 闭包)——收益:与 A1 求解器初始视野逐格相等,度量保真;代价:定义版权在 A1,A2 禁独立改动。
|
||||
- 候选 B:外加一圈"安全边距"(外扩 1 环)——收益:手感更松;代价:破双包含臂①(展开域 ⊆ 排除域),可能开出变异格。
|
||||
- 候选 C:只开出生 3×3——收益:保守;代价:破臂②(求解器初始态 ⊆ 展开域),A1 度量吃亏、回退口径触发。
|
||||
|
||||
### 深度分析
|
||||
|
||||
双包含回验两臂构造性成立:臂① R₀ ⊆ 排除域(以最终产物板计:出生 3×3 ∪ 闭包 ∪ 外扩 1 环)——给"不触变异"保证;臂② A1 求解器初始态 = R₀ ⊆ O₀ = R₀——恰等,给"A1 度量不吃亏"保证。两义务来源分开陈述:性质 1(恒不开雷 R₀ ∩ M = ∅)由 B3 无雷 + 闭包只收安全格独立可证,环内可有雷;"不触变异"则经排除域给出。恰等 ⇒ A1 回退口径(出生 3×3 最小态)不触发、度量保真零降级。
|
||||
|
||||
退化守卫(不变式④ R₀ ≠ S)的必要性由反例 B 证明(跨 GDD 阻断缺口):A1 现行布雷数下限 N ≥ 1 必要不充分——8×8 板 8 雷 placed、先布后删幸存 1 颗距离-2 雷 → 最终板全 0 格连通 → R₀ = S,且 A1 F4 断言 A(inferability=1.0)零拦截、N=1 参数行 100% 退化。登记义务 = A1 F5 legality 增 R₀ ≠ S(违例 = 该次尝试废弃重试,clearable 同款)+ F4 批量断言严格零 + Rule 4 排除域基准措辞按最终产物板计;A2 侧不变式④为纵深防御,双包含两臂不受影响。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 A:O₀ = R₀ 恰等,显式不含外扩 1 环;不变式④ install 拒绝清图退化板(纵深防御,非 A1 clearable 闸复验——不可达安全格板 A2 照常运行)。结论落 design 件:规则 4、F3、实现期红线 2/5/6、跨 GDD 登记义务 A1-1/A1-2。
|
||||
|
||||
## 问题:为什么批次按语义序(清图挖 > 停手 > 其余)而非到达序仲裁?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:朴素到达序——收益:直觉;代价:见下反例,直接违反 A3 Rule 3 优先级。
|
||||
- 候选 B:固定语义序 C_dig ≺ C_stop ≺ C_other——收益:四组合与 A3 Rule 3 逐项一致;代价:玩家提交顺序不再决定结算顺序,须以"批次 = 单帧整批"心智理解。
|
||||
- 候选 C:玩家指定优先级——收益:表达力;代价:UI 与规则复杂度爆炸,MVP 不需要。
|
||||
|
||||
### 深度分析
|
||||
|
||||
反例检验(语义序的存在性证明):朴素到达序下真值表 #4([dig耗, stop])产出 (ap_exhausted, RAP+0)——违反 stopped > ap_exhausted;#2([stop, dig清])吞掉清图高光——违反 cleared > stopped(EC10 同族缺陷)。语义序将两者校正为 (stopped, RAP+remaining) 与 (cleared, new_board)。
|
||||
|
||||
分类时点二态论证:排序用批次初态、胜者路径用结算时点真值;C_dig 成员最先执行 ⇒ 其二态恒重合;C_other dig 的二态可因前序 C_other dig 执行而分歧(其批内前缀不可能含 C_dig/stop——二者任一执行即收轮、C_other 全体 voided),分歧时按结算时点真值定胜者;该前缀无 stop ⇒ 与 A3 Rule 3(cleared > stopped)不可能冲突。
|
||||
|
||||
到达序无关性的收窄(定稿裁决):(path_tag, continuation_hint, AP/RAP 终值) 对任意到达序不变(全批域);执行/voided 划分的无关性仅对异类竞争成立(四组合真值表);同类多成员批内,执行成员、棋盘终态(旗位/小人位)与划分由类内稳定序(到达序)决定——不同到达序 = 不同输入,均为合法确定行为非缺陷(例:ap=1 下 [move, dig耗] 两意图均执行、[dig耗, move] 的 move voided 且小人位不同;[flag_place, dig耗] 旗入板、[dig耗, flag_place] 旗 voided);cell_revealed/旗事件流同理以到达序为规范序。类内序必须钉死的理由:未钉死会使事件流与奖励格归属漂移——规范性义务。
|
||||
|
||||
联合清图让位条款(显式设计后果):批内个体非清的 dig 联合可清图时,stop 仍先执行并胜出(C_stop ≺ C_other)——联合清图高光被停手让位。生产面在单意图帧提交下不可构造(D1 强制项⑥),F4 语义保留为防御性兜底,AC-10 义务不豁免。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B:语义序仲裁 + 类内稳定序 + 结算时点真值键控出口;voided(零棋盘效果/零扣费/零事件)与非法拒绝严格区分。结论落 design 件:规则 9、F4、四组合真值表、EC6/EC13/EC15。
|
||||
|
||||
## 问题:为什么挖开雷格不是死亡,而是可通行的"走过的伤疤"?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:挖雷 = 轮次结束/死亡——收益:经典扫雷直觉;代价:一次失误抹掉整轮规划,与 P4"地牢下探"氛围冲突,且降级板上无兜底通路。
|
||||
- 候选 B:挖雷 = 事实上报 + 格可通行——收益:雷成为"走过的伤疤",探索不被单点终结;代价:必须配套敌方优势计价,否则雷失去威慑。
|
||||
- 候选 C:挖雷后封锁该格——收益:保留惩罚感;代价:制造不可达死区,与连通性保障冲突。
|
||||
|
||||
### 深度分析
|
||||
|
||||
采用候选 B 的计价论证:雷格通行是有价捷径——挖已知雷 = 花 1 AP + 给敌方送优势,经风险收益管线计价;是玩家主动抄近路的权衡,也是降级板上的兜底通路,不是免费通道。"被迫挖雷过路"的构图被生成期拦截——A1 clearable 闸按"安全格 8 邻接图"连通计,挖雷通路不计入,故不存在结构性强制过路费板。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B(GD-2 裁决,登记为工程债):kind=mine 事件、轮次不结束、格可通行、不计清图、同轮多雷各自独立事实。结论落 design 件:规则 11、EC10、AC-15。
|
||||
|
||||
## 问题:为什么剥夺经典扫雷的 chord 双击快开?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:保留 chord——收益:肌肉记忆友好;代价:零 AP 快开稀释"每个决策都值得花一 AP"的预算意义。
|
||||
- 候选 B:剥夺 chord,已开数字格 = 移动——收益:预算意义完整,点击语义单一;代价:怀旧玩家首遇预期违背,须教学提示补偿。
|
||||
- 候选 C:chord 以道具/后期解锁形式后置——收益:两全;代价:引入新系统复杂度,MVP 不承载。
|
||||
|
||||
### 深度分析
|
||||
|
||||
本作保留经典扫雷连锁展开的"哗啦一片"的免费与瞬时(连锁本身仍免费),但剥夺 chord 双击——每个决策都值得花一 AP,快开是对预算意义的稀释。chord 缺席的兑付节拍补偿(标中旗即时兑现候选)归 B1/B4 高光兑现节点条目化(创意风险 #3)。这个"没有"是可验收的负空间:对外 API 封闭枚举里根本没有快开入口,将来谁想加就是接口漂移修订。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B(定稿):无 chord,点击已开格唯一含义 = 移动;chord 肌肉记忆首遇提示登记 D1 强制项③(非模态、每 run 一次,A4 先例)。结论落 design 件:规则 12、AC-4、覆盖矩阵"API 封闭枚举"行。
|
||||
|
||||
## 问题:为什么旗判定轮末统一批、且诚实重复上报?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:插旗即判——收益:即时反馈;代价:旗位在轮内可变(拔/挪),即时判定会产出与终局旗位脱节的事实流。
|
||||
- 候选 B:轮末统一判定批,基线 = 事务开始旗位——收益:判定与事件序契约(先旗后结束)统一,基线与到达序无关;代价:反馈延迟到收轮,须呈现层补偿。
|
||||
- 候选 C:A2 侧去重(每雷只报一次判中)——收益:下游简单;代价:A2 越权裁决结算语义,"每雷实例至多兑一次"的资格键在结算侧。
|
||||
|
||||
### 深度分析
|
||||
|
||||
判定基线取"轮次结束事务开始时的旗位":被拔的旗不判、被 voided 的旗动作不留痕(无幽灵旗);语义序使基线与到达序无关(EC13)。行主序枚举保证确定性。旗留在雷上每轮诚实重复报判中——A2 只报事实,去重是结算侧的事(资格以雷格实例为键,A3 Rule 8/OQ5;B1 强制项③)。雾内旗恒判空是零特判的自然结果(雾区无雷),不是特判分支。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B:轮末统一判定批 + 诚实重复上报,去重归 B1/B4。结论落 design 件:规则 8、三事件回边 flag_judged 行、EC13、AC-12。
|
||||
|
||||
## 问题:为什么拒绝要分三源并携带 sub_reason 封闭枚举?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:单一 reject 布尔——收益:实现最简;代价:玩家无法分辨"须先拔旗"与"非相邻",文案无从下手。
|
||||
- 候选 B:三源 reject_reason + board_face 内 sub_reason 封闭枚举——收益:玩家语义数据可分,呈现层直接映射;代价:枚举即接口契约,批后修改 = 接口漂移。
|
||||
- 候选 C:自由字符串原因——收益:灵活;代价:不可判定、不可本地化、不可测试。
|
||||
|
||||
### 深度分析
|
||||
|
||||
UX-1 裁决(批前免费窗口):"须先拔旗"与"非相邻"玩家语义截然不同的情形必须数据可分,故 board_face 携带 sub_reason 封闭枚举七值;目录外输入(越界坐标等)单列 out_of_catalog——debug 级诊断,不与玩家语义混桶、禁静默吞。三源(board_face/resource_face/phase)互异可判定,phase 源含装板违例 board_invalid 并列第四值。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B:reject_reason 四值 + sub_reason 七值封闭枚举;玩家面文案归 D1(映射源 = 枚举)。结论落 design 件:三源拒绝表、sub_reason 表、AC-21。
|
||||
|
||||
## 问题:为什么装板要四条不变式 fail-fast、且抗表重载靠生成期快照?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:装板信任输入、不做校验——收益:代码薄;代价:违例板带病运行,错误在挖掘期以诡异形态爆发。
|
||||
- 候选 B:装板当场验四条结构不变式、违例 fail-fast——收益:信任边界清晰,诊断恰一类别可测试;代价:产物构造方须守 schema。
|
||||
- 候选 C:持数据表活引用、运行时随表——收益:热重载即时生效;代价:战斗中改表改变进行中的板行为,回放与确定性破裂。
|
||||
|
||||
### 深度分析
|
||||
|
||||
不变式④与其余三条性质不同:①–③是产物良构性,④是 A2 状态机良构性守卫(防"初始展开即整图"使轮次棋盘路径出口结构性不可达);生产面由 A1 legality 闸保证,④为纵深防御、非 A1 clearable 闸复验。产物只能经程序构造或 A1 产生,运行期不存在该输入源——故违例 = 程序构造错误,fail-fast + error 诊断是正确姿态(进程致命保留给数据通道)。
|
||||
|
||||
快照 vs 活引用:板持生成期变异快照,热重载改表行为零变化;A2 零表读取使抗重载为构造性(不是运行时防护,而是架构上没有读取路径);行为级代理验收 = 换根重放事件流逐位相同(AC-18)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用候选 B + 快照:四条不变式 fail-fast(诊断封闭枚举)、生成期快照抗重载。结论落 design 件:规则 3、install 不变式表、EC2/EC8、AC-1b/AC-2/AC-18。
|
||||
|
||||
## 数值锚定与验算记录
|
||||
|
||||
### F1 变量域与验算
|
||||
|
||||
| 变量 | 类型 | 范围 | 说明 |
|
||||
|---|---|---|---|
|
||||
| σ | 棋盘状态 | —— | (B, O, G) 三元组;B 由 A1 产物给定 |
|
||||
| O(σ) | 格集 | R₀ ⊆ O ⊆ U | 已开集(含初始格、连锁格、已引爆雷格) |
|
||||
| S(B) | 格集 | U ∖ M | 安全格全集(含雾格、含 R₀ 格、含不可达格) |
|
||||
| rem(σ) | int | [0, \|S\|] | rem₀ = \|S ∖ R₀\|;rem=0 即 cleared 路径 |
|
||||
|
||||
- Output Range:cleared ∈ bool。Example:10×10 板、|S|=88、R₀=20 → rem₀=68;挖开末 1 安全格(chain_size=3 连锁)→ O ∩ S = S → cleared,A2 经 `last_round_end` 外发 (cleared, new_board)。
|
||||
- 求值点注:"批次 = 单一结算事务"指批次作为原子性单位,不改逐 dig 粒度,与 A3 `request_dig` 按次调用上报的契约一致。
|
||||
|
||||
### F2 变量域与验算
|
||||
|
||||
| 变量 | 类型 | 范围 | 说明 |
|
||||
|---|---|---|---|
|
||||
| c | 格 | U ∖ O | 挖掘目标(棋盘面合法性先行,规则 5) |
|
||||
| O / O′ | 格集 | 见 F1 | 挖前/挖后已开集 |
|
||||
| num(x) | int {0..8} | x ∈ S | 真实数字(非显示值——漂移风险见 design 实现期红线①) |
|
||||
| chain_size | int | [0, \|S\|−1] | A3 request_dig 第一参数 |
|
||||
| clears_map | bool | —— | 第二参数;≡ F1 cleared |
|
||||
|
||||
- Output Range:chain_size=0 ⟺ c 非 0 格或其安全邻已全开。Example:b_chain 板挖 (3,6)(0 格)→ 级联 13 格一次开尽墙下封闭区(雷墙与板底之间的口袋形安全区,下称"封闭区"),chain_size=13、clears_map 视余量而定;全程 ap 只扣首格 1。
|
||||
- 同构主张范围 = 算子①本身(A2 无算子②推导项,不主张 O = R∞);同构域 = G=∅ 域(A1 生成期与 A2 install/初始展开时旗集恒空,`S ∖ G = S`);双包含回验不受影响——回验只在 install 时点发生,彼时 G = ∅。
|
||||
|
||||
### F3 变量域与验算
|
||||
|
||||
| 变量 | 类型 | 范围 | 说明 |
|
||||
|---|---|---|---|
|
||||
| B3 | 格集 \|B3\|=9 | ⊆ U | 出生 3×3(产物携带);小人出生 = B3 中心格 |
|
||||
| R₀ = O₀ | 格集 | B3 ⊆ R₀ ⊆ S | 初始展开域;下界 9(无 0 格传播时) |
|
||||
|
||||
- Output Range:|R₀| ∈ [9, |S|−1](上端点被不变式④排除)。域非空前提:非空 ⟺ |S| ≥ 10——|S| = 9 的板必有 S = B3 ⇒ R₀ = S,由不变式④在 install 拒绝(EC1 同族),不产生运行态 R₀;现行 A1 参数域(W,H ≥ 8)下 |S| ≤ 9 仅程序构造板可达。
|
||||
- Example:b_spawn 板(7×7、竖墙雷 6 枚):R₀ = x≥2 全安全格 35 格,臂① R₀ ⊆ 排除域(35 + 域外安全 8 + 环内雷)✓、臂② 测试侧朴素 BFS 重算逐格恰等 ✓。
|
||||
- 义务来源分开陈述:臂①给"不触变异"保证(经排除域);"不触雷"由性质 1 独立给出(环内可有雷)。
|
||||
|
||||
### F4 变量域与验算
|
||||
|
||||
| 变量 | 类型 | 范围 | 说明 |
|
||||
|---|---|---|---|
|
||||
| ⟨I₁,…,Iₙ⟩ | 意图序列 | n ≥ 1 | 到达序;∈ {dig, flag_place, flag_pull, move, stop} |
|
||||
| class(I) | enum 三类 | —— | 排序类别(批次初态求值) |
|
||||
| ω | 意图 ∪ {∅} | —— | 胜者;∅ = 轮次继续 |
|
||||
|
||||
- Output Range:(path_tag ∪ {无}, continuation_hint ∪ {无}, RAP 增量, 每意图 ∈ {执行, voided, 拒绝})。Example:ap=3、rem=1、批次 [stop, dig(末格)]:C_dig 先结算 → try_spend true、ap 3→2、事务内 cleared 胜出 → 外发 (cleared, new_board)、RAP+0;stop voided。到达序翻转结果逐项相同(真值表 #1/#2)。
|
||||
- 胜者出口映射键控细节:dig 胜 ∧ 结算时点 clears_map=true → (cleared, new_board)、RAP += 0(剩余 AP 清零,A3 Rule 5)——C_dig 胜者恒满足;非清 C_other dig 可因前序 C_other dig 执行变清图,按结算时点真值入此行。C_stop 胜 → 先发 flag_judged ×N(基线 = 事务开始旗位,停手不改旗)→ 委托 A3.request_stop() → (stopped, same_board)、RAP += remaining_ap(1:1)。耗尽 AP 的 C_other → (ap_exhausted, same_board)、RAP += 0(不变式 remaining=0)。
|
||||
|
||||
### 夹具登记常数记录
|
||||
|
||||
- spawn 坐标为新增登记项——b_chain/b_fog = (3,2);按默认"板中心"读法该两板 B3 = {2..4}² 会含 y=4 雷墙雷、违反不变式①、板不可安装(已修正,复核义务见 OQ3)。
|
||||
|
||||
## 已裁决设计争议(速查)
|
||||
|
||||
| 争议 | 裁决 | 要点 |
|
||||
|---|---|---|
|
||||
| GD-1 连锁是否越旗 | 不越旗 | 传播集 `∖ G` 是集合减法非分支;旗 = 1 AP 链阻断器(经典 flood 惯例);G=∅ 域与 A1 算子①同构不变 |
|
||||
| GD-2 挖雷后果 | 事实上报 + 可通行(有价捷径) | 1 AP + 敌方优势计价;A1 clearable 闸拦截"被迫挖雷"板;工程债登记 |
|
||||
| UX-1 拒绝原因形态 | sub_reason 封闭枚举 | 批前免费窗口定稿;registry a2_event_surface.api_surface 已同步 |
|
||||
| 到达序无关性范围 | 收窄 | (path_tag, hint, AP/RAP) 全批域不变;划分序无关仅异类四组合;同类批内由稳定序决定 |
|
||||
| 联合清图 vs 停手 | 停手让位清图高光 | C_stop ≺ C_other 的显式设计后果;单意图帧下生产面不可构造,AC-10 义务不豁免 |
|
||||
| round_end 发射者 | 双发射源 | 棋盘路径 A2 发、stopped 路径 A3 直发、payload 同构;A2 禁双发 |
|
||||
| 事件序 | flag_judged ×N 先于 round_end | 全收轮路径统一;停手不改旗位故基线等价 |
|
||||
| 已引爆雷格 | 可通行 | 工程债(systems-index 门禁修正记录),AC-15 承载 |
|
||||
| D1 义务范围 | ×1 → ×6 扩容 | stop 经 settle_batch / 格态可辨 / 悬停预承诺+chord 提示 / 雷格可读 / 路径呈现 / 单意图帧+voided+拒绝可感知 |
|
||||
| 移动语义 | 瞬移 | 规则层一次事务落位;逐格动画归呈现层;路径序固定 8 邻行主序 |
|
||||
|
||||
## 开放问题
|
||||
|
||||
| # | 悬案 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | 标错惩罚(偏离登记——实测义务保留,不阻塞设计):候选 = 敌方伏击 +1(标错旗在轮末判定 hit=false 时为敌方追加 1 层伏击;量纲随 B2 ambush 定稿联动);兼任双重职责(A3 OQ2):误标税 + 停手轮/死 RAP 态下旗滥用的唯一价格;一致性推论(上线时生效,无特判):雾内旗恒受罚(A4 EC5)、判定载体 = design 件 `flag_judged.hit=false` 事实流(B1/B4 消费,A2 零改动);惩罚重复性裁决项(实测会话前钉死):hit=true 兑付有去重(每雷实例一次,B1 强制项③),hit=false 惩罚**无去重声明**——按现行轮末判定载体,忘拔的错旗默认每轮 +1 伏击(5 轮 = +5),与一次性收益严重不对称;候选 = 随旗实例去重 / 显式接受每轮累计("流血"设计),须在原型实测会话前落定,防实测数据混淆"一次性过重"与"累积过重";落地动作:原型 v3 补丁实测(可与 v3 终验合并会话)→ 实测支持则修订 design 件(判定批扩展)+ registry,否决则关闭 OQ 并在 A3 OQ2 另定价旗滥用;A2 /design-review 须核对本 OQ 在位,缺位即 blocking | 用户 + 原型小补丁会话 | 垂直切片前置 playtest 合并会话前 |
|
||||
| 2 | 事件外发载体与捕获 API(实现期 ADR 确认项):signal vs 回调注册、事件捕获断言面的落地形态——依赖事件捕获列表的 THEN(AC-1/3/4/5/6/7–10/12/13/15–20 的事件序列断言)为纸面契约,ADR 未确认前该子集不视为可执行(A1 缺口 G1"度量独立入口"同型);返回值/诊断/静态扫描类断言(AC-1b/2/11/14/16/21/22 及各 AC 的 reject 分支)不在此限、现在即可执行 | 实现期 ADR | Technical Setup |
|
||||
| 3 | 夹具登记常数第二人复核:各板(spawn 坐标、R₀ 成员集/级联集/digit)手工推导记录入版本库后安排复核——推导错误即假失配/假通过(A1 OQ5 同型);spawn 坐标为新增登记项(b_chain/b_fog=(3,2)——默认中心读法产出不变式①违例板) | A2 /design-review | A2 评审 |
|
||||
| 4 | A5 探测道具接口预留:显影(未开雾格数字显影)对 A2 查询面的需求形态——接口归 A5 GDD 定稿,design 件不预写(见 design 件依赖 A5 行) | A5 | 第 11 位 |
|
||||
| 5 | D1 输入接线确认:stop 意图经 `settle_batch` 提交的接线义务(D1 强制项①)与单帧多意图的真实构造性——单意图帧输入收集已升格为 D1 强制项⑥登记约束(stop 点击终结当帧收集或等效;若 D1 保证单意图帧,四组合仲裁退化为结构不可构造——义务仍由 AC-10 冒烟承载、不豁免) | D1 | 第 10 位 |
|
||||
| 6 | 拔旗价目与旗滥用观测联动:`flag_pull_ap_cost` 复核与"停手轮旗动作占比"指标的 A2 侧观测量(旗动作批占比)——A2 零改动,遥测口径随 A3 复核会话对齐 | A3 OQ2/OQ3 | 低优先 |
|
||||
|
||||
## 附录 A:义务台账与审计记录(历史审计,活契约见 design 件依赖与输出节)
|
||||
|
||||
### 门禁义务落位表(门禁评审逐项核对用映射,缺项即 blocking;义务本体在 design 件)
|
||||
|
||||
| 编号 | 义务 | 来源 | 承载位置 |
|
||||
|---|---|---|---|
|
||||
| 1 | A2×4 ① EC4 连锁开雾格(无数字+级联停止+计入清图+奖励入库) | A4 | 规则 6 + EC4 → AC-6 |
|
||||
| 2 | A2×4 ② EC5 雾内旗恒不中(含标错惩罚一致性推论) | A4 | 规则 8 + EC5 → AC-12 |
|
||||
| 3 | A2×4 ③ 开格上报携带变体标记 | A4 | 规则 2 + F2 注 → AC-6/18/20 |
|
||||
| 4 | A2×4 ④ EC8 生成期变异快照抗表重载 | A4 | 规则 3 + EC8 → AC-18 |
|
||||
| 5 | 双包含臂① A2 展开域 ⊆ A1 排除域 | A1 | 规则 4 + F3 → AC-3 |
|
||||
| 6 | 双包含臂② A1 求解器初始态 ⊆ A2 展开域(恰等,回退口径不触发) | A1 | 规则 4 + F3 → AC-3 |
|
||||
| 7 | 初始展开定义落点(免费/计入清图/无奖励) | A3 EC5 委派 | 规则 4 → AC-1 |
|
||||
| 8 | round_end 棋盘路径外发 + payload 同构 | A3 Rule 9 | 规则 2/10 → AC-7/8/9 |
|
||||
| 9 | EC4 批次四组合仲裁 + RAP 随胜者 | A3 EC4 deferral | 规则 9 + F4 + EC6 → AC-10 |
|
||||
| 10 | 已引爆雷格可通行(工程债) | systems-index 门禁修正记录 | 规则 11 + EC10 → AC-15 |
|
||||
| 11 | 标错惩罚以 OQ 登记(实测义务保留,不阻塞设计) | systems-index 偏离登记 | OQ1(/design-review 核对在位) |
|
||||
|
||||
### 双向一致性核对(定稿时点审计)
|
||||
|
||||
A2 ← A1, A3, A4 ✅(索引依赖分层)· B4 ← A2,B3,D2 ✅ · D1 ← A2,A3,B1 ✅ · D4 ← A2,B1 ✅ · D5 ← A2,A3,B1 ✅ · A5 ← A2,A4,B4 ✅ · D2 表"A2 无直接依赖" ✅——无单向遗漏。
|
||||
|
||||
### 定稿复核注记
|
||||
|
||||
lean 门禁下 systems-designer 起草 Formulas(F1–F4 + 反例 B 阻断缺口)、qa-lead 起草/验证 AC(23 条 + 覆盖矩阵 + 夹具坐标规格);creative-director 的体验锚点情绪定位与 art-director 的呈现一致性未经咨询——生产前人工复核(art-bible §1–4 须在 D1 GDD 前创建)。
|
||||
|
||||
## 附录 B:去向映射(零丢失可审计证据)
|
||||
|
||||
| 原文节/表 | 落点 |
|
||||
|---|---|
|
||||
| 头部块(状态/版本/承载支柱/层级/一句话) | design 头部块 |
|
||||
| 头部复核注记(起草分工 + CD/art-director 未咨询) | 本文附录 A「定稿复核注记」 |
|
||||
| 速览表·定位行 | design 设计目的 + 依赖与输出引言(TD-SYSTEM-BOUNDARY 回边/瓶颈系统) |
|
||||
| 速览表·拥有/不拥有行 | design 系统范围(负责/不负责) |
|
||||
| 速览表·上游输入/下游输出行 | design 依赖与输出双向表 |
|
||||
| 速览表·硬约束行 | design 规则 1(四零禁令 + headless 可驱动) |
|
||||
| 术语表(8 条) | design 事件面与枚举·术语表 |
|
||||
| 体验锚点表 + 反向护栏 | design 设计目的(4 条承诺 + 护栏);论证与参考感受 → 本文问题 1/问题 6 |
|
||||
| 全局流程·装板与挖掘期字符画 | design 核心循环 |
|
||||
| 全局流程·批次结算字符画 | design 批次结算与收轮 |
|
||||
| 全局流程·出口分发表 | design 核心循环·出口分发表 |
|
||||
| 规则 1/2(含三事件回边表) | design 事件面与枚举(规则 1/2 + 三事件回边表) |
|
||||
| 规则 3/4 | design 棋盘状态·装板与初始展开(规则 3/4) |
|
||||
| 规则 5/6/7/8/11/12(含旗价目表) | design 动作规则(规则 5/6/7/8/11/12 + 旗价目表) |
|
||||
| 规则 9/10(含批次类别表 + 四组合真值表) | design 批次结算与收轮 |
|
||||
| 枚举节 5 表(字段值/三源拒绝/sub_reason/装板违例诊断/API 面) | design 事件面与枚举 |
|
||||
| F1–F4 结论/公式/Variables/Output Range/Example | design 行为契约节(Example 验算数据 design 与本文数值锚定节双录) |
|
||||
| F1–F4 推导论证(同构论证/增量引理/双包含证明/反例检验/无关性收窄/让位条款论证/域非空推导) | 本文问题 2/3/4 + 数值锚定与验算记录 |
|
||||
| 显式排除声明(归属表) | design 行为契约·显式排除声明 |
|
||||
| 实现期红线 ×6 | design 行为契约·实现期红线 |
|
||||
| 状态节(板态/矩阵/四不变式/补充不变式) | design 棋盘状态·装板与初始展开 |
|
||||
| 边界情况 EC1–EC17 | design 边界情况表;EC1 反例 B 详述 → 本文问题 3 |
|
||||
| 依赖节·上游/下游表 | design 依赖与输出双向表 |
|
||||
| B1 强制项 ×3 / D1 强制项 ×6 | design 依赖与输出(同名两表) |
|
||||
| 门禁义务落位表 ×11 / 双向一致性核对 | 本文附录 A(审计映射;义务本体散见 design 各节) |
|
||||
| 跨 GDD 新登记义务汇总(A1-1/A1-2/B1×3/D1×6/B1/B4×2) | design 依赖与输出·跨 GDD 新登记义务汇总 |
|
||||
| 呈现与 UI 契约 ×14 | design 依赖与输出·呈现与数据供给契约 |
|
||||
| Tuning Knobs | design 调参表 |
|
||||
| 验收标准·测试口径/夹具板清单/AC×23/覆盖矩阵 | design 验收标准(编号不动) |
|
||||
| 验收标准·out-of-scope deferral | design P1 / P2 后置表 |
|
||||
| 开放悬案 OQ1–OQ6 | 本文开放问题(编号不动) |
|
||||
| 版本历史 ×3 行 | design 版本历史(原样保留 + 追加 v2.0 迁移行) |
|
||||
@@ -0,0 +1,239 @@
|
||||
# A5 扫雷辅助道具 设计推演
|
||||
|
||||
> 状态:concluded · 本文只装"为什么"——`design/gdd/a5-minesweeper-aux-items.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
|
||||
## 问题:为什么"看雷"必须窄域(≤3×3)而"看数字/看奖励"可以全图?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 全图级真视常态化:扫雷退化为路径优化——P1"我算对了"塌方,推理玩法自废(反向对照 = 全图透视挂件)。
|
||||
- 全面禁止真视:雷险(risk)维度无道具承载,五维度覆盖破缺,"买情报"承诺对雷险困境无货可卖。
|
||||
- 窄域真视(≤3×3):代答锁在救急档——玩家买的是一次局部确定性,不是整图答案。
|
||||
|
||||
### 深度分析
|
||||
|
||||
信息效果分两级:恢复推理原料(雾格数字、奖励身份)放大玩家自己的推理,越大越好;替代推理(直接雷位)直接给答案,必须小而贵。全图看数字后玩家仍要自己推雷(推理面最大化而非代答),全图看雷则推理整段消失——两者的体验后果不对称。
|
||||
|
||||
护栏若只是设计倡议会被后续内容侵蚀,所以落成 schema 校验:target 必须 ∈ 各空间 kind 支持域交集,mine_reveal 行 target=board_wide 直接加载致命(夹具 a5_target_violation 为承重校验的测试落点)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
真视上限 area_3x3、board_wide 仅对 fog_reveal/reward_preview 开放——恢复推理可全图、替代推理必窄域。design 的规则 3、目标域开放表、校验类别表只承载此结论。
|
||||
|
||||
## 问题:无效/零信息目标为什么不可用不消耗(可用性门)?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 照常消耗(B4 E10 道具段拍板同款):防结算管线反抖动,但挖掘期玩家手滑点错白耗道具 = "烧包"挫败源(反向对照 = 无目标校验的"点了就没了")。
|
||||
- 一律点击级拒绝:板级零信息时(全图无雾)玩家可反复尝试同一件道具,每次弹拒绝 = 噪音,且把"这张图用不了"的发现成本转嫁给玩家。
|
||||
- 两级门:板级零信息 → 图标灰、入口禁用(B4 usable_now 先例前置呈现);点击级零信息/越板 → 该次拒绝零消耗 + 可辨提示。
|
||||
|
||||
### 深度分析
|
||||
|
||||
与 B4 E10 照常消耗是**故意的不同**,区分理由有三:挖掘期非结算管线(无反抖动压力)、可用性守卫在 A5 本地可判(读 A2 只读面即可,不依赖跨系统协调)、误操作代价不对称(消耗品稀缺,F1 供给有界)。A5 零事件订阅,板级判据随挖掘进展翻转,usable 按 query 时点现算——派生信息层零缓存义务。
|
||||
|
||||
两个附属拍板:① area_3x3 边缘窗口照常受理(resolved_target = 窗口 ∩ 板内格,角 4 格/边 6 格)——拒绝案被否决,因贴边拒绝会把烧包感反噬回护栏初衷,且护栏只缩不扩(≤3×3 不因裁剪放大);② 真视零雷恒有效——"这 9 格没雷"本身就是信息非空,不构成零信息拒绝;组合行各 kind 判据取 OR(爆破包因 ap_grant 恒可用;全图卷 = 有未开雾格 ∨ 有未开资格格)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
零信息/无效目标不可用不消耗,板级判据走库存投影 usable=false 前置置灰、点击级判据拒绝零消耗。design 的规则 8、谓词表、EC17/EC18 承载此结论。
|
||||
|
||||
## 问题:辅助道具的供给渗透如何锚定?(F1 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 高渗透(道具管够):道具依赖症——每轮必用、扫雷决策外包给道具,P1 观测面恶化。
|
||||
- 零供给/纯战斗池:五维度承诺落空,A4"买情报"出口缺席。
|
||||
- 低渗透有界供给:消耗品 + 稀有档分层,供给面天然限流,道具是救急而非常态。
|
||||
|
||||
### 深度分析
|
||||
|
||||
推导与验算:
|
||||
|
||||
```
|
||||
E[N_aux/板] = |U| × (Σw_aux / W_total)
|
||||
E[N_rare/板] = |U| × (w_scroll + w_blast) / W_total
|
||||
默认根:Σw_aux = 5+5+4+4+1+1 = 20;W_total = 100(B4 原池)+ 20 = 120
|
||||
|U| = 10(B4 direction_precheck 保守板口径)
|
||||
```
|
||||
|
||||
| 情形 | 读数 | 验算 |
|
||||
|---|---|---|
|
||||
| 默认根 | E[N_aux] ≈ 10 × 20/120 ≈ 1.7 件/板 | 渗透率 ≈16.7%(战斗类 83.3%,约 17%——P3"买情报的代价是放弃一件战利品"的量化形态) |
|
||||
| 稀有件 | E[N_rare] ≈ 10 × 2/120 ≈ 0.17 件/板 | ≈每 6 板一件稀有——"稀有"定位可感 |
|
||||
| 输入缺口 | \|U\| 分布待 A1 actuals p10/p50 | 落地后重跑(B4 预检 11 同批) |
|
||||
|
||||
\|U\| 取 10 是保守板口径(B4 direction_precheck 同款),并非实测分布——A1 actuals 落地后须重跑;aux 行入池后 W_total 由 100 变 120,B4 侧 F1 有联动重算义务(B4×④),禁止两侧独立调参不看渗透率。
|
||||
|
||||
### 综合判断
|
||||
|
||||
期望 ≈1.7 件/板、稀有 ≈0.17 件/板——渗透率有界是 P1 护栏的供给面(道具不主导挖掘决策)。六行权重 5/5/4/4/1/1 全 provisional 归 C3;稀有可感度由失衡预警④与 OQ5 在 playtest 验证。
|
||||
|
||||
## 问题:信息道具的价值方向如何判定?(F3 推导与修正史)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 把显影价值读作"单次盲赌更安全":方向性错误——显影后残余池雷浓度反而升高。
|
||||
- 把显影价值读作"少赌":盲赌次数(暴露)下降 → 期望踩雷下降,方向正确且与 P1 支柱对齐。
|
||||
- 真视价值当量精确换算:涉及伏击暴露与 weaken 收益两期望差,MVP 不闭合、如实登记为间接效应。
|
||||
|
||||
### 深度分析
|
||||
|
||||
推导:
|
||||
|
||||
```
|
||||
显影:fog_reveal k 格 → 板级 ι(免赌开据占比)上移
|
||||
→ 残余盲猜安全格 n_s = (1−ι)×|S| 收缩 → 盲赌次数下降 → 期望踩雷 ↓
|
||||
单次盲赌条件概率 P(雷) = |M| ÷ (|M| + n_s) 随 n_s 收缩而上行
|
||||
(池内雷浓度升高——安全格被挖走;与 B1 F4 同式,
|
||||
B1 F4 另设 n_s < 1 适用域守卫 → 残余集空时主式不评估、信息端平凡腿接管)
|
||||
真视:mine_reveal k 格 → 该 k 格移出"盲挖候选域"
|
||||
期望收益 = P(雷|盲) × (伏击暴露期望 − 标中 weaken 收益期望) 的差值锁定
|
||||
精确当量归 B1 对照表(MVP 不闭合——间接效应如实登记)
|
||||
```
|
||||
|
||||
| 情形 | 方向 | 说明 |
|
||||
|---|---|---|
|
||||
| 显影尘(一雾区) | n_s ↓ / 盲赌暴露 ↓ | 恢复推理原料——P1 正向;单赌 P(雷) 上行属正常(池雷浓度升高) |
|
||||
| 全图卷(全雾显影) | n_s ↓↓ | 全图数字可读——推理面最大化而非代答(雾区无雷知识叠加) |
|
||||
| 探巢摆钟(3×3 真视) | 决策域 −k 格 | 替代推理窄域化——稀有供给(F1)限流 |
|
||||
|
||||
修正史:初稿曾把方向写成"P(雷)↓",与引用式 P(雷) = |M| ÷ (|M| + (1−ι)×|S|) 自相矛盾——该式对 ι **递增**;评审改为:显影挖走残余池中的安全格后池内雷浓度升高,单次盲赌命中率上行,收益在"少赌"而非"单赌更安全"(registry formulas 同批同步)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
显影与真视均为正向信息增量;定量当量换算归 B1 条款①对照表扩列(义务 B1×④ 注记,MVP 不入对照表)。design 的 F3 节只承载结论与表达式。
|
||||
|
||||
## 问题:维度覆盖为什么做成加载断言而非内容建议?(F2)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 口头建议"每维度都出道具":内容收窄时静默破缺,玩家某类困境无货可买时无人发现。
|
||||
- 加载后机器断言:coverage(d) 恒真是可执行的内容审计,破缺即加载期拦截。
|
||||
|
||||
### 深度分析
|
||||
|
||||
coverage(d) :⇔ ∃r ∈ AuxItemTable : d ∈ r.dimension_tags ∧ reward_row(r.item_id).weight > 0,断言 ∀d ∈ {info, risk, action, plan, counter}。注意"活行"双条件:定义表有行且 RewardTable 对应行 weight>0——光有定义没进池等于没有。维度本身是内容标尺非运行时逻辑,代码零维度分支;维度域外(空/枚举外值)为致命校验,因为那是 F2 的前提。
|
||||
|
||||
### 综合判断
|
||||
|
||||
五维度 coverage 恒真 = "每维度都有对应道具"的机器可查形态(AC-12);某维度零活行 = 内容收窄信号。design 的 F2 节与校验类别表承载结论。
|
||||
|
||||
## 问题:获取为什么挂 B4 奖励池、库存为什么与战斗背包正交?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 独立掉落流(A5 自建 roll):违反 RNG 单点与预分配确定性脊柱,且奖励归因链断裂。
|
||||
- 入 B4 战斗库存混装:两域使用窗口/生命周期不同,混装会把挖掘期道具拖进结算窗口语义。
|
||||
- 挂 B4 奖励池 aux 行 + A5 自持关卡域库存:获取归因与供给定价归一处,使用与消亡归另一处。
|
||||
|
||||
### 深度分析
|
||||
|
||||
P3 风险收益同源的信息切面:aux 行挤占战斗奖励池权重(渗透率 ≈17%,F1),买情报的代价是放弃一件战利品——代价发生在获取时刻而非使用时刻(故使用零 AP 成本,规则 9)。P2 归因:来源 {cell, round} 逐件记录,"这瓶显影尘是我上一轮捡到的";经真视插旗兑付的 weaken 走既有 flag_hit 结算行,归因链不断。两库存正交但生命周期同构——都活到关卡结束、关卡末同点清空(与 B4 clear_inventory 同点编排)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
获取 = B4 roll_board 身份预分配 + B1 授予路由 add_item;库存 = A5 关卡域容器,与 B4 库存互不混装。design 的规则 4/5 与依赖节承载结论。
|
||||
|
||||
## 问题:叠加层为什么随图消亡、已花道具不返还?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 叠加层跨图保留:叠加层是板级派生信息层,格集离开棋盘事实即失效——跨图保留需要重映射,复杂度与误呈现风险双高。
|
||||
- 消亡但返还道具:信息已消费(玩家看见了),返还等于白看——沉没语义被破坏。
|
||||
- 随图消亡不返还:信息投资沉没,与既有先例一致。
|
||||
|
||||
### 深度分析
|
||||
|
||||
先例锚定:A3 旧板旗随旧板消亡同款——RAP 弃图刷新时玩家已理解"板上的投入随板走"。玩家侧含义直白:别在待弃板上花情报。叠加层零回写 A2/B4 状态、零事件订阅,消亡由 B1 在 board retire 点编排(与 B4 retire_mapping 同点),预读徽章因此绝不会指向已消亡映射(EC7)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
叠加层随图消亡、不跨图、不返还(EC3/EC7)——design 的状态表与出口分发表承载结论。
|
||||
|
||||
## 体验锚点论证
|
||||
|
||||
| 支柱 | 关键词 | 机制承诺 |
|
||||
|---|---|---|
|
||||
| P1 我算对了 | "推不出的地方,我能买回线索" | 显影恢复雾格数字 = 推理原料回归(数字恒真透传,非新信息源);真视窄域护栏(≤3×3)把"代答"锁在救急档——恢复推理可全图、替代推理必窄域;道具零随机、不引入新赌点 |
|
||||
| P2 扫雷的因战斗的果 | "这瓶显影尘是我上一轮捡到的" | 获取 = B4 奖励池 aux 行(来源 {cell, round} 逐件归因);使用 = 挖掘期自主时点、效果即时可见;经由真视插旗兑付的 weaken 走既有 flag_hit 结算行——归因链不断 |
|
||||
| P3 风险收益同源(信息切面) | "买情报的代价是放弃一件战利品" | aux 行挤占战斗奖励池权重(渗透率 ≈17%,F1);叠加层随图消亡——弃图刷新时已花显影沉没(A3 旧板旗随旧板消亡同款先例);真视≠自动兑付(插旗仍花 1 AP) |
|
||||
| P4 地牢探险氛围 | "地牢里前人留下的工具" | 主题命名(显影尘/探巢摆钟/地穴全图卷);icon 键入 art-bible §4.6 扩容(数据键 = item_id,形状+色相双通道);程序化占位先行(D1 既有裁决) |
|
||||
|
||||
| 反向护栏 | 处置 |
|
||||
|---|---|
|
||||
| 全图级真视常态化 = P1 塌方(扫雷退化为路径优化) | 真视窄域承重护栏——board_wide 目标域仅对 fog_reveal/reward_preview 开放;mine_reveal 上限 area_3x3,schema 校验强制 |
|
||||
| 道具使用变成"烧包"挫败源(无效目标白耗) | 可用性门:板级零信息 → 图标灰、入口禁用;点击级零信息/越板 → 拒绝零消耗——与 B4 E10 照常消耗拍板区分 |
|
||||
| 道具依赖症(每轮必用、扫雷决策外包给道具) | 失衡预警①道具依赖度(playtest 预注册);真视/显影为消耗品 + 渗透率有界(F1),供给面天然限流 |
|
||||
|
||||
参考感受:杀戮尖塔的消耗品(留着的牌永远是一份规划素材)+ Into the Breach 的信息工具(买的是确定性而非输出);反向对照 = 无目标校验的"点了就没了"(烧包挫败)与全图透视挂件(推理玩法自废)。
|
||||
|
||||
## 已裁决设计争议(速查)
|
||||
|
||||
| 争议 | 裁决 | 理由 |
|
||||
|---|---|---|
|
||||
| area_3x3 边缘窗口拒绝还是受理 | 照常受理,resolved_target = 窗口 ∩ 板内格(角 4 格/边 6 格) | 用户拍板——拒绝案的烧包感反噬护栏初衷;护栏只缩不扩 |
|
||||
| 零信息目标照常消耗还是不消耗 | 不可用不消耗(板级图标灰/入口禁用、点击级拒绝、组合行取 OR、真视零雷恒有效) | 用户拍板——挖掘期非结算管线、守卫 A5 本地可判、无反抖动压力 |
|
||||
| F3 显影价值方向 | 收益在盲赌暴露下降,非单赌命中率(P(雷) 对 ι 递增) | 评审修正初稿自相矛盾;registry 同批同步 |
|
||||
| A5 零消耗 vs B4 E10 照常消耗 | 两制并存、故意不同 | 结算管线反抖动压力 vs 挖掘期手滑代价不对称 |
|
||||
| 生效前 aux 行入池 | 加载致命(B4 Rule 1 预留值拒绝 fail-fast),AC-12/13 登记 deferral | 对侧义务登记即生效条件(A4 测试口径先例) |
|
||||
|
||||
## 开放问题(OQ)
|
||||
|
||||
| 编号 | 问题 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | 命名与 icon 终稿:六行 display_name 为机制名候选——地牢隐喻风味词复核 + art-bible §4.6 样张批定 icon(D1 程序化占位不阻塞) | art-bible/D1 | 样张批 |
|
||||
| 2 | 预读呈现深度细则:徽章呈现信息量(仅身份 vs 身份+tier——query_identity 投影含 tier)与板面视觉密度(预读徽章 × 未开格 × 变异纹理叠加)——D1 裁决,与 B4 Rule 8 已开格呈现同族复用 | D1 | D1 修订批 |
|
||||
| 3 | 真视与标错惩罚交互:A2 OQ1 惩罚上线后,真视价值重估(真视→必标中→零惩罚风险——价值上行)与护旗类道具(防惩罚)是否入池 | C3 | A2 OQ1 关闭后 |
|
||||
| 4 | 未来变异反制扩展:岩浆/冰冻行建行时反制道具语义(A4×③ 框架契约——每个新变异建行批随批出反制行) | 垂直切片批 | 随变异建行 |
|
||||
| 5 | 全图卷稀有度验证:F1 稀有读数 ≈0.17 件/板在 playtest 的"稀有可感"验证——过疏(恒不见)过密(常态全图)均触发权重复核 | C3 | 垂直切片 playtest |
|
||||
| 6 | 自动寻路终态声明:预读道具为 MVP 终态(寻路始终玩家心智)还是中间态——B4×⑤ 已声明"自动寻路不做",升格为永久设计态与否随 playtest | C3/CD | playtest 后 |
|
||||
|
||||
## 附录 A:验收覆盖矩阵(审计映射,自原 design 迁入)
|
||||
|
||||
| 类别 | 映射 |
|
||||
|---|---|
|
||||
| Core Rules | 1→AC-1/AC-12(F2)· 2→AC-1/AC-2/AC-15/AC-16 · 3→AC-2(a5_target_violation 腿)· 4→AC-12(B4×①…⑤ 生效前提)· 5→AC-3/AC-11 · 6→AC-4(相位 deferral B1×①)· 7→AC-4/AC-6/AC-8/AC-15/AC-16 · 8→AC-5/AC-15/AC-16(可用性门谓词表)· 9→AC-8(零 try_spend = API 负空间)· 10→AC-9/AC-14 |
|
||||
| Formulas | F1→AC-12 · F2→AC-12 · F3→方向预检(非 AC——定量归 B1×④调参期) |
|
||||
| Edge Cases | EC1→AC-5 · EC2→AC-5(无雾桩面同构)· EC3/EC7→AC-10 · EC4→AC-6 注记 · EC5/EC6→规则语义(A2/A3 域 OOS——真集成 deferral)· EC9→AC-11 · EC10→AC-7 · EC11→规则 7 序证明(构造不可达——负空间)· EC12→OOS A3 既有 AC(grant_ap 后 request_stop 转存——A3 修订批补腿)· EC13/EC14→AC-13 · EC15→D2 既有门(OOS)· EC16→B4 F2 域(OOS)· EC17→AC-15(边缘腿)· EC18→AC-16(板级/点击级腿) |
|
||||
| 上游承接 | A4 EC6(显影语义)→规则 2 fog_reveal 行 · A4 OQ2(时效/定价)→收口声明(依赖节)· B4 OQ2(呈现深度)→B4×⑤ · A5-1(counter 回填+悬空校验)→A4×①② / AC-13 · 创意风险 #1(预读)→规则 2 reward_preview / B4×⑤ |
|
||||
|
||||
## 附录 B:双向一致性核对(历史审计,自原 design 迁入)
|
||||
|
||||
systems-index 依赖分层表核对:索引分层 A5 ← A2, A4, B4 ✓(A2/A4/B4 三硬上游全落依赖表;B1 编排 = 层 4 Presentation 消费侧的既有编排唯一性原则——B4 先例:编排调用权不构成依赖分层边);D2 为全员 Foundation 数据边。A4/A5 关系 = counter_item_ids 消费(A4 声明字段、A5 回填 owner)——与索引"A5 ← A4"方向一致。
|
||||
|
||||
## 去向映射(零丢失审计)
|
||||
|
||||
| 原文章节/表 | 落点 |
|
||||
|---|---|
|
||||
| 头部块(状态/版本/支柱/层级/一句话) | design 头部 |
|
||||
| 速览表(定位/拥有/不拥有/上游/下游/硬约束) | design 设计目的 + 系统范围(含全局硬约束行)+ 依赖与输出 |
|
||||
| 定位两段散文(信息与行动力市场/没有 A5) | design 设计目的 |
|
||||
| 体验锚点支柱表 | design 设计目的(压缩为编号承诺)+ analysis 体验锚点论证(全文保留) |
|
||||
| 反向护栏表 | analysis 体验锚点论证(护栏机制结论同时落 design 规则 3/8 与校验类别) |
|
||||
| 参考感受行 | analysis 体验锚点论证 |
|
||||
| 全局流程字符画 + 出口分发表 | design 核心循环 |
|
||||
| 核心规则 1–10 | design 各领域章节编号人话句(规则编号保留;举证注记语义并入人话或各节表格) |
|
||||
| 效果明细表 | design 使用效果与目标域 |
|
||||
| 目标域允许范围表(规则 3 内) | design 使用效果与目标域·目标域开放表 |
|
||||
| 使用编排分支表 | design 使用规则与校验 |
|
||||
| 使用目标校验谓词表 + 可用性预判注记 | design 使用规则与校验 |
|
||||
| 枚举·dimension_tags | design 道具定义 |
|
||||
| AuxItemTable schema | design 道具定义 |
|
||||
| MVP 内容行集 + 四条注记 | design 道具定义 |
|
||||
| schema 校验类别表 | design 道具定义 |
|
||||
| F1/F2/F3 结论 + 公式表达式 + 变量表 | design 数值结论 |
|
||||
| F1/F2/F3 推导过程 + 情形/验算表 + F3 修正史 | analysis 问题三/四/五 |
|
||||
| 状态表 + 不变式 | design 获取与库存·状态 |
|
||||
| 边界情况 EC1–EC18 | design 使用规则与校验·边界情况(编号保留) |
|
||||
| 依赖(上游/下游两表) | design 依赖与输出(合并为双向一张表) |
|
||||
| 跨 GDD 义务清单 21 项 + 编号前缀注记 | design 依赖与输出·跨 GDD 义务清单(活契约,编号保留) |
|
||||
| 双向一致性核对注记 | analysis 附录 B(历史审计) |
|
||||
| 呈现与 UI 契约 6 行 + UX Flag + Asset Spec | design 依赖与输出·呈现数据面 |
|
||||
| Tuning Knobs 表 + knob 交互/非 knob/调参所有权 | design 调参表 |
|
||||
| 失衡预警 ①–④ | design 调参表·失衡预警 |
|
||||
| 测试口径 / API 面 / 夹具与致命 manifest / AC 清单 AC-1–AC-16 / 缺口预检 1–5 | design 验收标准(编号保留) |
|
||||
| 覆盖矩阵 | analysis 附录 A(审计映射) |
|
||||
| 开放问题 OQ1–OQ6 | analysis 开放问题(编号保留) |
|
||||
| 版本历史 v1.0-lean / v1.1-lean | design 版本历史(原行保留 + 追加 v2 迁移行) |
|
||||
@@ -0,0 +1,310 @@
|
||||
# B1 战斗结算规则 设计推演
|
||||
|
||||
> 状态:concluded · 本文只装"为什么"——`design/gdd/b1-settlement.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
> 全部公式零随机(同输入恒同输出);期望值均为设计期统计量(对账输入 = A1 F4 报告 C 的 actuals,非 target 参数);数值默认 provisional(调参所有权归 C3)。
|
||||
|
||||
## 问题:结算系统如何兑现三根支柱的体验承诺?
|
||||
|
||||
### 广度分析
|
||||
|
||||
| 支柱 | 关键词 | 机制承诺 |
|
||||
|---|---|---|
|
||||
| P2 因果归因 | "都是我算出来的" | 每行明细携带来源标注(伤害道具 / 安全格增益 / 标中旗削弱 / 清图奖励 / 雷→伏击);无来源行 = 断言失败(AC-42)——P2 呈现半边的最终兜底在 B1 流水协议 |
|
||||
| P1 掌控感 | "挖下去值得" | 挖掘决策 EV 健康不等式(A3 条款③)由本系统闭合签字;条款⑤守"推到底"不在数学上吃亏 |
|
||||
| P3 雷的两面 | "赌桌不是陷阱" | 敌方伏击行与标中旗削弱行同框、同呈现语言 |
|
||||
| 高光节拍 | "完美被加倍兑现" | 完美排雷双份兑付 + 标中旗行高光(创意风险 #2/#3 机制本体) |
|
||||
|
||||
- 候选 A(明细只记数值不记来源):实现最省,但 P2 归因链断——玩家无法验证"都是我算出来的",排除。
|
||||
- 候选 B(来源标注 + 封闭行型 + 无来源即断言):数据层把归因做成机器可判定的契约,呈现侧怎么优化都丢不了来源,采纳。
|
||||
- 候选 C(敌我增减益分开两套呈现语言):读屏成本更低,但 P3"雷的两面"需要同构对照,排除。
|
||||
|
||||
### 深度分析
|
||||
|
||||
P2 的呈现半边归 D1/B5,但呈现只能从数据里还原来源——来源若不在流水行里,任何呈现优化都救不回归因链。所以"无来源行 = 断言失败"必须是数据层硬断言,不能是呈现自觉。
|
||||
|
||||
P1 的两条不等式(条款③⑤)若只写进 A3 而没有闭合 owner,就是口号;B1 作为唯一同时握有板面事实流与战斗数值面的系统,是唯一能签字闭合的位置——判据函数角色定为"C3 调参约束生成器",使每次调参被迫重跑对账。
|
||||
|
||||
### 综合判断
|
||||
|
||||
反向护栏成文:明细绝不能有无来源的行(P2);判定绝不能不可归因(P1);敌我增减益同构呈现(P3)。任何"合并到看不出来源"的呈现优化,须先确认归因链在数据层仍可还原。design 的「设计目的」四条承诺与「明细流水协议」节只收本结论。
|
||||
|
||||
## 问题:weaken 锚的归一口径取"每结算瞬时当量"还是"每 AP 总暴露"?(F0 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
| 分支 | schema 可行性 | 后果 | 裁决 |
|
||||
|---|---|---|---|
|
||||
| 每结算瞬时当量 | 可行(m_w ∈ [51, 100] 域内) | F2 越域界随移(AP 界 8×m_w / 表界 16×m_w);地板交叉层数 = ⌈100/m_w⌉ = 2;B4 参照零漂移 | **采纳** |
|
||||
| 每 AP 总暴露 | 不可行——需 m_w > 100,被 percent ∈ [−100, 100] schema 域禁止 | 现实解 = B4 重定最低档参照:safe_cell 活行集中无更弱 buff 行可指,需新增低档行或锚移道具档位——接口漂移 + A4 硬约束①连锁 + 条款①对照表全表重排 | 排除 |
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **同分母性**:瞬时口径下 weaken 与 defense_up 作用于同一伤害流,"严格大于"在百分点读法与 HP 点读法下等价,锚判定无量纲歧义;总暴露口径引入时长权重(2:1 不对称),把 duration knob 泄漏进锚判定。
|
||||
- **机制同构**:B3 本就按结算逐次兑付,瞬时口径是容器原生口径;总暴露需跨结算累计账本,与已锁的"单结算自然边界"(dur=1 每结算清零无存量)冲突。
|
||||
- **schema 禁止**:总暴露锚算术需 m_w > 100 越 percent 域,改域 = B3/B4/B1 三侧换算连锁,成本不成比例。
|
||||
- **值域依据(@D_ref=12;按现行三输入复核)**:腿一 m_w ≥ 51——65 > 50 严格大于 attack_up 当量 6.0(参照对象 registry 回迁口径,裕度 +30%;池内字面最低档 defense_up −30 当量 3.6 读法下裕度更宽 2.17×——两参照读法均通过,锚判据不受减伤墙批漂移影响);腿二 m_w/100 × D_ref ≥ E_dig → m_w ≥ 38(E_dig = 4.5 面值口径——C3 v3 曲线格子池加权重推;区间读法 4.3–5.1 → 36–43);可行交集下界 = 51(E_dig 口径修正后腿二放宽、腿一回绑);上界 85 = 超出仅在连锁贫瘠板增加裕度,而地板交叉层数恒为 2、边际层早已贬值;schema 顶 100 保留为绝对上界(对应腿二校准上界 ≈1.96:1);下界 60 维持(高于现行可行下界 51——F0 裁决值保守余量,值域修订走 B4/B1 共裁流程非重算批)。
|
||||
- **地板规则(B1 clamp 承载,F2 成文)**:每侧 percent 池 clamp ∈ [−100, +100] pp → 乘数域 [0, 2];交叉层数 = ⌈100/m_w⌉ = 2(值域全域恒 2)——第 3 层起边际瞬时当量 = 0;单结算 weaken 池 HP 当量上界 = min(L×m_w, 100)/100 × D_inst(该结算实际裸伤害敞口)。
|
||||
- **B3 红警"7 层即触地板"预读更正**:该预读按 −400% 合成带估读;本节地板钉在乘数零点(−100 pp)→ 精确层数 = ⌈100/m_w⌉ = 2——回执同步 B3 OQ1 与 registry `status_effect.anchor_warning`(对账清单 #1/#2);预读实质结论(上调 m_w 的连带成本 = 地板提前到达、边际层贬值)被本裁决吸收。
|
||||
- **修订效果量(锚两腿在默认 65 下的读数,provisional @ D_ref=12)**:腿一 7.8 vs 6.0 HP/结算(attack_up 当量——+30%,严格大于 ✓);腿二 7.8 vs E_dig 4.5 HP(+73% ✓);池内字面最低档读法(defense_up 3.6)裕度 2.17×——三读法均通过;历史 −25 值红警复算结论不变(25 vs 50 pp 不过锚 → 修订成立)。
|
||||
- **重算复核(B1 重算批)**:锚两腿按现行三输入(duration=1、m_d=−30、C3 v3 曲线 E_dig=4.5)复核通过——腿一 7.8 > 6.0(attack_up 当量,参照对象 registry 回迁口径;裕度 +30%)、腿二 7.8 ≥ 4.5(裕度 +73%);可行交集下界 = 51(腿一回绑),值域 [60,85]/默认 −65 维持(F0 裁决值,共裁修订流程非重算批回收)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
采用"每结算瞬时当量"口径(每 AP 总暴露分支排除);m_w 值域 [60, 85]、默认 −65;地板交叉层数 = ⌈100/m_w⌉ = 2;B4 参照零漂移,B3 仅行值域修订(registry 回写)。design 的 F0 节只收此结论与连带界值。
|
||||
|
||||
| 连带后果项 | 内容 |
|
||||
|---|---|
|
||||
| B3 行值 | `StatusEffectTable.weaken.magnitude` −25 → 值域 [60, 85]/默认 −65(registry 回写);B3 AC-14 腿 3 非平凡性复查:16×65 = 1040 越出 percent 域——腿保持非平凡 ✓ |
|
||||
| F2 越域界随移 | AP 界 = 8×65 = −520%;表界 = 16×65 = −1040%(合成值 B3 原样输出、B1 池 clamp 收口) |
|
||||
| B4 侧 | 零漂移:defense_up 参照保持 |
|
||||
| 时长不对称 | 显式接受:defense_up : weaken 全寿命 ≈2:1 不入锚判定——吸收通道 = m_w 上探值域段 + 高光 #3 即时节拍 + duration 为 knob(与 B3 OQ7 playtest 证伪项联动观测) |
|
||||
|
||||
## 问题:四源效果档位如何放在同一把尺上对照?(F1 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A(分源换算率——buff/debuff/道具各一把尺):读数贴近直觉,但 A3 条款①契约要求单一线性换算,分源改率 = 条款①契约作废,排除。
|
||||
- 候选 B(单一线性换算全四源共用,E(·) 单位 = 主角 HP 点):一把尺量全部,锚判定无量纲歧义,采纳。
|
||||
- 候选 C(账面乘数表达完美翻倍——只记 ×2 不打第二份):账面好看但运行时无兑付载体,玩家实得与账面脱节,排除(见"完美翻倍"问题节)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **统一当量定义**:E(·) ∈ 主角 HP 点(1 当量 = 1 点主角 HP 的期望净变化;与 B2 ambush 量纲、B4 F6 量纲建议同源)。flat/道具类 E = 值本身(ambush 按 k 个攻击拍线性展开);percent 类 E_inst = |L×m| ÷ 100 × D_exp;时长是显式乘子(E_life = E_inst × 兑付结算数)而非分源改率。
|
||||
- **D_ref 选取**:单行全局 knob,provisional 默认 12 = 单结算伏击结构上界 cap×m_amb(B2 F4 已登记值),兼 attack 拍带 [4,16] 与 heavy 带 [8,20] 的中位代表;变更触发全对照表 + 条款③⑤重跑(联动义务)。
|
||||
- **锚对照实物(条款②,B3 义务⑤)**:参照对象 = attack_up_basic 行(registry 回迁口径——B3 Rule 10 同款;RewardTable tier=2,effect_id=attack_up)→ 每结算瞬时当量 6.0 HP @ D_ref=12;weaken 修订后每旗 7.8 > 6.0(严格大于 ✓,裕度 +30%);腿二(连锁放大边际基准,provisional 1:1 零链下界):7.8 ≥ E_dig 4.5 ✓(面值口径,C3 v3 曲线重推)。池内字面最低 buff 当量 = defense_up_basic 3.6(−30 现行值)——"最低档"字面读法裕度更宽(2.17×),锚在两读法下均通过;2026-09-11 参照回迁后的预检重跑义务由本批兑现(registry anchor_warning 迁移注记关闭)。
|
||||
- **结构性边界注记**:腿二校准上探的可满足上界 = m_w=100 ↔ 相对每结算百分点档 ≈1.96:1——连锁期望放大超过此比值的板形上腿二结构性不可满足(percent 瞬时档被 schema 域封顶);处置 = C3 板形参数(密度/连锁富集)与 m_w 联动约束,非数值修订可解(对账清单 #3/#8——连锁规模分布无既定供给方)。
|
||||
- **Example**:一轮挖到 2 个 defense_up(L=2 同实例)→ E_inst = 2 × (0.30 × 12) = 7.2 HP/结算 × 1 结算 = 7.2 全寿命(dur=1——名义值,饱和折减见 F4 敏感性);同轮标中 1 旗 → weaken L=1 → 7.8 HP/结算;踩 1 雷(unit_count=1、attack 拍)→ 该结算敌方附加 +3 HP。
|
||||
|
||||
### 综合判断
|
||||
|
||||
单一线性换算全四源共用;E(·) 单位 = 主角 HP 点;Output Range E ∈ [0, +∞)、全表零负值(floor 语义见 F2——percent 池饱和后边际 E = 0);weaken 修订后每旗 7.8 HP > attack_up 6.0(条款②腿一通过)。归口:B1 管对照表与换算维护、D_ref 与 P_perfect 的 SettlementTable 承载;B4 管行值/权重/tier/C 供给(F6);C3 管全部 provisional 数值;B3 管 L×m 合成原样输出(对照表输入侧)。design 的 F1 节收结论、换算式、Variables 与全对照表。
|
||||
|
||||
## 问题:percent 池怎么合成、地板设在哪、免伤轮合不合法?(F2 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A(合成后统一 clamp 一次):两侧池互相污染,weaken 饱和会吃掉 defense_up 的账面贡献,归因不可读,排除。
|
||||
- 候选 B(每池独立 clamp [−100, +100] → 池间乘算 → floor 单一取整):每侧地板独立可读,乘数域 [0, 2],采纳。
|
||||
- 候选 C(clamp 域做成 knob):地板是结构语义不是平衡杆——放开 = 负乘数/超 2 倍乘数分支全要重写,定为结构性非 knob。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **三例逐一读法(B3 EC7 登记例的收口)**:weaken AP 界(L=8 × 65 = −520%)与表界(L=16 × 65 = −1040%)均 clamp 到 −100 → M=0——该结算全体存活敌输出归零,第 3 层起边际瞬时当量 = 0(地板吸收);明细行如实显示合成值与终值两端(P2)。defense_up 叠满(L=2 × −30 = −60%)在域内未触地板 → M=0.4。
|
||||
- **免伤合法性**:enemy 侧 weaken 饱和(单结算零输出)是乘数域 [0, 2] 自然边界内的设计内结果;hero 侧免伤在现行 −30×2 帽(−60%)下不再由 defense_up 单侧可达——免伤轮(D'=0)的现行可达路径 = weaken 饱和或两侧池叠加触底;强度评估(减伤窗口/免伤频率)归 C3 对账联动(B3 Knob 交互同口径),不属地板规则异常。
|
||||
- **Example**:D_raw=20、weaken L=2 → P=−130 → clamp −100 → M=0 → D'=0(零值伤害行,不调 apply_damage);weaken L=1 → 20 × 0.35 = 7;再叠 defense_up L=1 → 20 × 0.7 × 0.35 = 4.9 → floor 4。
|
||||
- **地板规则不区分越域来源**:越域深度仅入合成值显示与诊断计数;地板恰边界读法 = 判据函数对 −100 输入的断言腿,非现行行值产物。
|
||||
|
||||
### 综合判断
|
||||
|
||||
池内加算 → 每池独立 clamp [−100, +100] → 池间乘算 → floor 单一取整(结构性非 knob);免伤轮(D'=0)是合法设计态——不调 apply_damage、产零值伤害行;Output Range D' ∈ [0, ∞) 整数、零负值分支,MVP 实际域 [0, 20](B2 参考带)。归口:B3 管 L×m 原样输出不 clamp(B3 义务⑧/EC7 对侧);B1 管池归属映射、clamp、乘区次序、取整方向;C3 管池值强度评估。design 的 F2 节收结论、公式、Variables 与三例读法表。
|
||||
|
||||
## 问题:伤害全序、负值、溢杀与死亡判定边界怎么定?(F3 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A(敌方先手):扫雷的因(伏击池)已在敌侧,玩家没有先手兑现面,"我算出来的"节奏断裂,排除。
|
||||
- 候选 B(主角先手 → 逐敌循环 → 道具段三分支全序):玩家动作先兑现、敌方反应后跟,与授予段的归因序一致,采纳。
|
||||
- 候选 C(溢杀转移到下一个敌人):一刀清屏的隐性倍率,道具恒定表值的拍板被破坏,排除——溢杀丢弃。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **Example**:goblin(atk=4)L=2 → D_raw=10;weaken L=1 → floor(10 × 0.35) = 3;defense_up L=1 同结算 → floor(10 × 0.5 × 0.35) = 1;knife_adv(power=8)打 hp=6 的敌 → hp 归 0 → Dead、溢杀 2 丢弃、击杀标记进流水、下一件刀打顺位后继。
|
||||
- **双死不可达论证(判定段 hero 先判的防御性优先级)**:我方伤敌在道具段与战斗段主角先手攻击、均先于敌方行动兑付;敌方伤我在主角攻击之后——敌行动时点若已敌全灭则先判胜,"hero 与最后敌同时 hp=0"结构上不可达;hero 先判是不可达情形下的纵深防御,不是常态分支。
|
||||
- **负值分支禁令的实现面**:percent 池地板 [−100, +100](F2)、flat 值 ≥ 0、hp ∈ [0, max_hp]、治疗 clamp 上界 max_hp(B4 F4 对侧:hp' = min(hp + power, max_hp))、apply_damage 入参 n ≤ 0 = B2 API 拒绝 + 诊断——D'=0 腿由此改走零值行,免伤与零输出必须在明细里可见。
|
||||
|
||||
### 综合判断
|
||||
|
||||
三分支全序(主角先手 → 逐敌循环 → 道具段)+ 负值分支禁令(零负伤害/负治疗/负当量)+ 死亡判定:Dead ⇔ hp=0(无负 hp 中间态)、受击即死、hero 死亡战斗段短路、判定段 hero 先判;Output Range 双向伤害 D ∈ [0, ∞)、hp ∈ [0, max_hp]、零转移零存续。归口:B2 管递减/floor 0/Dead 翻转/指针冻结;B1 管全序、调用序、零值行、溢杀丢弃语义、死亡判定时机(B2 义务③的对侧兑现)。design 的 F3 节收结论、四分支公式与 Variables。
|
||||
|
||||
## 问题:条款③挖掘风险不等式在现行值链下成立吗?(F4 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 评估点候选 A(全板平均):被信息端稀释,残余盲猜端的真实风险被平均掉,排除。
|
||||
- 评估点候选 B(残余盲猜端最坏点,信息端平凡腿一并登记):风险最坏处配对,"推理有回报"面不丢,采纳。
|
||||
- 左臂口径候选:锚行(最低档 buff = defense_up_basic 满寿命当量,合同读法)vs 跨行期望(E_dig 面值口径)——双口径登记防虚高裕度误用。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **V_safe 注记**:原"= D_ref 恒等式"(0.5 × D_ref × 2)随 duration=1(两级奖励批)与 m_d=−30(减伤墙批)消解;现行 V_safe = 0.30 × 12 × 1 = 3.6——锚行满寿命当量,低于跨行期望口径的差距同步收窄(E_dig 现值 4.5)。
|
||||
- **V_mine 注记**:单雷边际敌方增益当量上界:1 雷 = 1 层伏击;cap 溢出使第 cap+1 颗雷边际当量 = 0 → 灾难轮不等式自收紧。
|
||||
- **ι 代理注记**:actuals p10 未交付前以行 target 代 = 判式面的保守代理(target ≥ 实际 p10 → P(雷) 偏高 → 主式更难过);低 ι 的真实代价不经本式入账——报告 C 交付按总暴露核对消费;重跑义务(对账清单 #6)。
|
||||
- **换锚注记**:旧验算的"L1 10×10 d0.10 / L2 12×12 d0.12"系 A1 schema 自洽参考行(registry mvp_reference_rows,非曲线行);本批两腿统一换锚 C3 MVP 行值总表 v3(L1 D0/D1 板 10×10、D2–D4 板 12×12,全轴 d0.25/t0.88)——L2 腿即 v3 曲线内最大常规板形;C3 L2 关卡行值填充批(OQ1)交付后随 actuals 重跑复核。
|
||||
- **双口径读数(防虚高裕度误用)**:验算表左臂按锚行当量 V_safe=3.6(A3 条款③"最低档 buff 当量下界"的合同读法);按跨行期望口径(左臂 = P(安全)×E_dig,E_dig=4.5 面值口径)复算:L1 ≈0.60×、L2 ≈0.58×——二元结论不变(两板形、两口径全破)。
|
||||
- **结论①(重算回执)**:现行值链下两参考板形破线——登记"通过"回执失效(旧读数 ≈2.0×/2.6× 的三个旧输入:duration=2 / m_d=−50 / v1 曲线参考行);信息端平凡腿不变(零赌博板形不产生破线误判——P(安全)=1 → V_safe > 0 恒成立)。
|
||||
- **与 clause3_supply 2.3× 预检的对齐**:该预检系"pp 代理左臂 × cap 右臂"的巧合近似——量纲混用且右臂取结算聚合上界与单格决策单位错配(多计 cap 倍);本闭合改统一 HP 当量 + 边际配对 → registry `clause3_supply.direction_precheck` 退役为历史记录、回执登记重算值(对账清单 #3)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
现行值链(duration=1 × m_d=−30 × C3 v3 曲线 d0.25/t0.88)下两参考板形破线(锚行口径 L1 ≈0.48× / L2 ≈0.47×;期望口径 0.60×/0.58× 同向);满配 unit_count=3 深度破线;旧"通过"回执退役为历史记录;破线升格 C3 默认曲线级约束(候选杠杆 = m_d 回调 / duration 恢复跨轮 / D_ref 联动上调 / 板形侧密度×ι 联动对〔d0.28 回退先例〕/ m_amb 下调;全部处"禁独立调参"联动网络 m_w↔D_ref↔m_d↔duration_d,修正方向须 C3 提案 + B1 闭合对账共裁,本重算批如实登记读数、不代裁修正);actuals p10 交付后强制重跑。design 的 F4 节收结论、判据公式、Variables、验算表与结论①–④。
|
||||
|
||||
## 问题:条款⑤"推到底清图"支配"弃图刷新"吗?(F5 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 计价候选 A(逐格按初始比例独立重赌):漏计全池挖掘量——安全格被挖走后池内雷占比持续上升,模型漏项且 actuals 校准无法吸收,系统性偏乐观,排除。
|
||||
- 计价候选 B(挖穿残余池计价——均匀交错模型 E[踩雷] = |M|×n_s/(n_s+1)):清图必须挖穿残余盲猜区的真实成本入账,采纳。
|
||||
- RAP 计价候选:停手侧 RAP 机会收益按零计价(显式假设)——图源充裕时 RAP 边际低,零价假设对"推到底"偏利一分;本假设下 verdict 已为负,若 C3 为 RAP 计价则结论只会更负——模型边界成文,非遗漏。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **E_dig 推导口径**(2026-09-14 重算批):刀/强治疗已移出格子池入注入池,不摊入单格期望;E[战斗获取] ≈ 1 由注入机制另计;治疗按面值 = 上界读法(实现率折减入敏感性腿,同 F4③)。
|
||||
- **实现率折减口径**(E_dig′ = 2.70 provisional——B4 预警②④联动):L1 = −45.3 / −5.3;L2 = −91.2 / −51.2——同向更差(完美翻正腿亦被折减吞没)。
|
||||
- **雾态增量(fog_burden_ratio 口径)**:雾格 = 雾元知识可推理安全格(P(安全)=1)→ 属确定格、两策略同挖、不进残余集;雾的条款⑤效应 = 链不可达雾格的全价 AP 抬高轮数——Δr 增量 = |U| × dig_ap_cost ÷ AP_r(A1 例板 U=4 → 0.5 轮;v3 曲线复算:(29.99 + 4) ÷ 8 = 4.25 → 上取整 5——较无雾基线 Δr=4 **+1 轮,增量不再被同轮吸收**,登记读数变化);雾池档位加成对冲入 R_res 侧(E_fog 读数见护栏 A——本批读数失效待重推);actuals fog_burden_ratio p50/p90 交付后重跑(对账清单 #6)。
|
||||
- **结构性解读**:残余盲猜区越大(n_s ↑),清图的全池雷险越逼近"踩到全部残余雷"——"是否承担盲猜风险是策略点"(game-concept 设计本意)被本判式定量证实;v3 曲线(d0.25/t0.88)使残余集系统性变大、非完美态被支配加深——与 F4 破线同源(曲线加难侧未同步补偿结算侧奖励/防御杠杆);完美高光与清图支配性互 feed 的设计意图保留(L1 完美双份翻正 +11.3),但非完美态仍负 = 被支配。
|
||||
- **护栏 A 注记**:与残余池模型无关;登记读数 (11.1 − 7.2) − 1.5 = +2.4 ∈ (0, 3](v1 曲线/旧格子池口径);2026-09-14 重算批方向性复核:E_dig 修正 4.5 + 雾池构成变更(刀移出格子池——现行雾池加权当量 ≈4.9 面值口径)→ 读数 ≈ −1.1 < 0 越下界(雾纯税化风险——链不可达雾格全价 AP 成本超过当量增量);E_fog 现行池构成下的正式重推随 W2 批(C3 收口批三选一落档),本批登记方向性读数、不代裁。
|
||||
- **护栏 B 注记**:|S|_min = min_safe_count 是 A1 行级 knob,调参时按当期行集重算、禁写死 50;|R₀|_max = 20 系参考带经验值、无登记供给方 → 登记 A1 产出义务 R₀ 规模分布上界(F4 报告 C 扩列,缺口预检 9);DPS 期望严格读数的敌 DPS 参照系 v1 曲线 atk 值(4/4/6)——v3 atk(7/5/9/6/9)+50% 后 DPS 界随之上探,正式重推随 W2 批。
|
||||
|
||||
### 综合判断
|
||||
|
||||
条款⑤未闭合——挖穿残余池计价下主判式两态为负(L1 仅完美双份翻正,非完美态被支配),实现率折减与多敌语境更差;"推到底"的支配性只在残余集小时自然成立;判据函数角色 = C3/B4 调参约束生成器,AC-40 断言输出与登记约束包一致。C3 已裁约束包②(非支配设计态)+ 计价基元换位 clear_blast;B1 重算批维持裁决②。design 的 F5 节收结论、判据公式、Variables、四态验算表、约束包与两护栏。
|
||||
|
||||
**P_perfect 默认值建议与相容性(×2 的论证):**
|
||||
|
||||
| 条 | 内容 |
|
||||
|---|---|
|
||||
| 建议 | ×2(SettlementTable.p_perfect = 200,provisional,调参所有权 C3;运行时载体域 {100, 200}) |
|
||||
| ① | 单一线性换算不破坏——乘子作用于 C 当量换算之后、换算 ÷100 已成文(F1 对照表行内显式列),非新增分源换算率(条款①合规) |
|
||||
| ② | 与条款⑤同向且是现参数下唯一使 L1 翻正的杠杆(+8.0)——完美高光与清图支配性互 feed;非完美态仍负 → C 量级上调约束不因 P_perfect 消解 |
|
||||
| ③ | 触发谓词 = 板级 flag 记录(零误标 ∧ ≥1 标中),与踩雷正交(盲挖踩雷不破坏 perfect,标错旗才破坏——以"标旗未中"零值行留痕,Core Rule 5.2) |
|
||||
| ④ | RAP 刷新路径零清图奖励 → 无 perfect farming 环(双份兑付不改此性质——刷新图无兑付点) |
|
||||
| ⑤ | 与 F0 weaken 修订同向(标中旗价值 ↑ → perfect 可达性 ↑——高光 #2/#3 互 feed) |
|
||||
| ⑥ | 上界受护栏 B 约束(登记读数 16 ≤ 24 系 v1 曲线 D_ref 口径;C=40/完美 80 越线裁决随 W2——完美加成不得触碰钓鱼线) |
|
||||
|
||||
## 问题:完美排雷的"翻倍"是账面乘数还是真实双份交付?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A(账面乘数——明细记 ×2 名义值):实现一行乘法,但玩家实得与账面脱节,高光沦为数字修饰,排除。
|
||||
- 候选 B(真实双份交付——第二份同身份兑付走既有授予通道):道具类 stock 第二次、buff 类 apply_effect 第二次(满层拒绝照旧),玩家实得两件,采纳。
|
||||
- 候选 C(任意整数倍乘数):非整数倍数乘数无运行时载体,域收窄为 {100, 200}、域外加载致命。
|
||||
|
||||
### 深度分析
|
||||
|
||||
高光行 value 记实际有效兑付(首份 + 第二份被接受部分)、禁记名义值——否则"翻倍"在满层/满血等合法例外下变成假账。首份即零兑付 → 高光行不发(完美谓词仍成立,对账入账 = 实际兑付 0);仅第二份被拒(首份落地)→ 高光行照发、value = 首份当量 + "奖励未生效"行一条——降级语义全覆盖。
|
||||
|
||||
呈现分工的取舍:事件型高光(完美排雷)发独立高光行——它是一次性事件,需要独立行锚定节拍;属性型强调(标中旗、清图奖励)用行字段标记——它们挂在既有兑付行上,独立行会双倍计数。#3 标中旗的 chord 缺席(MVP 无即时音画反馈)以"当轮兑付 + 明细强调"组合补偿——weaken dur=1 本就当轮生效,节拍缺失是呈现层债务(归 D1/垂直切片),不是兑付层缺陷。
|
||||
|
||||
### 综合判断
|
||||
|
||||
完美排雷落真实双份交付载体(P_perfect ∈ {100, 200},200 = 双份交付、100 = 仅高光无第二份);高光行记实际有效兑付、零兑付降级;事件型用独立高光行、属性型用行字段标记。design 的「规则 13 实现参照」表与「明细行类型」表只收此结论。
|
||||
|
||||
## 问题:伤害A/B 充能与护甲克制怎么结算?(F6 推导)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A(充能吃 attack_up 等 percent 修正):与 B4 F4"刀不吃修正"同族拍板冲突——加法增量分量一律不吃 percent,排除。
|
||||
- 候选 B(flat 附加分量、逐分量查甲效表 floor 后相加):基础/伤害A/伤害B 三分量各自对甲型读数,对策面清晰(甲B 对策 = 伤害B 充能),采纳。
|
||||
- 候选 C(跨轮累积充能池):单轮生命周期(轮末清零)是"这轮挖得多 → 这刀重"的即时因果,跨轮存量会稀释归因,排除。
|
||||
|
||||
### 深度分析
|
||||
|
||||
- **验算(表读值记号,默认矩阵)**:对甲A 敌(bugbear)10 格挖掘轮——A 池 = min(10×1, 8) = 8 → dmg_a = floor(8×1.5) = 12;2 首标 B 池 = 4 → dmg_b = floor(4×0.5) = 2;base = 6(零 attack_up)→ D_hero = 20。对甲B 敌(ogre_chief):dmg_a = floor(8×0.5) = 4、dmg_b = floor(4×1.5) = 6 → D_hero = 16——甲B 对策 = 伤害B 充能(C3 联动网络 #6)。无甲敌(goblin):8 + 4 → D_hero = 18。
|
||||
- **cap 截断腿**:15 格连锁轮 A 池 = min(15, 8) = 8——溢出 7 格零充能、无"溢出未生效"行(充能非奖励、无兑付语义),截断仅入诊断计数;cap=0 = 不封顶结构位,damage_a_per_cell=0 = 机制关闭合法极端。
|
||||
- **与乘区关系**:A/B 分量在 percent 池乘区之外(敌→主乘区 F2 不作用于 hero→敌方向;hero_offense 池只乘基础分量);attack_up 只乘基础分量——B4 F4 同族拍板。
|
||||
- **P2 归因**:A 池来源 = 开格(逐格可归)、B 池来源 = 首次标中旗(与 weaken 同判定批——"标中旗双收益线"归 W12③ 对账清单);明细行 = hero 伤害行分量二元组 {baseline = 基础分量, attach = dmg_a + dmg_b 合计}(A/B 拆分经充能池公开读值可还原,P2 不丢失)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
伤害A/B 为挖掘期充能、战斗段主角先手攻击一次性消费的 flat 附加分量——池内加算、不吃任何 percent 修正、逐分量查 armor_effectiveness 甲效表后 floor 相加;充能池单轮生命周期(累积 → 消费 → 轮末归零,跨轮零存量);Output Range D_hero ∈ [0, ∞) 整数、零负值分支。归属:机制与结算归 B1(F6 + F3⓪),四字段数值投值归 C3,甲型映射归 B2 EnemyTable。design 的 F6 节收结论、公式与 Variables。
|
||||
|
||||
## 开放问题
|
||||
|
||||
| 编号 | 悬案 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | 事件总线载体:signal vs 回调注册 vs 直连调用;B1 触发机制(事件订阅 vs 相位轮询)与 A2 事件捕获断言面同批落地——AC-6/AC-33 相关 THEN 为纸面契约直至落地(缺口预检 1) | 实现期 ADR(与 A2 OQ2 同一裁决) | Technical Setup |
|
||||
| 2 | m_w 修订终值共裁:F0 已裁值域 [60, 85]/默认 −65 与归一口径;终值确认 + B3 StatusEffectTable 行表/Tuning Knobs/registry 三处回写执行(缺口预检 3);B3 AC-14 腿 3 非平凡性随批复查 | B4/B1 锚 owner 共裁 + C3 调参 | B1 评审后的接口漂移回写批 |
|
||||
| 3 | A1 actuals p10 交付后条款③⑤强制重跑:ι 以行 target 代 p10 为乐观代理——重跑 AC-39/40 + 同步 registry 重算值(对账清单 #6);连带 fog_burden_ratio p50/p90 | A1 交付 → B1 重跑 | A1 F4 报告 C 交付 |
|
||||
| 4 | 连锁规模分布供给方悬空:条款②第二腿(连锁放大边际基准)校准需 c̄(每安全格连锁期望放大)——现无既定供给方;候选 = A1 F4 报告 C 扩列 or A2 遥测(对账清单 #8 附注);供给落定前第二腿以 1:1 零链下界运转 | A1/A2 + B1 共裁 | A1 报告 C 扩列或 A2 telemetry 定稿 |
|
||||
| 5 | EC5 零合法板玩家侧呈现形态:提示/补偿/回退三形态选型——B1 数据面(非法产物标记上抛)已就绪;B1 域内不做补偿逻辑(候选"确定性回退已知好种子"归实现期 ADR——A1 EC5 登记对侧) | D1 裁决 | D1 GDD |
|
||||
| 6 | C1/C2 encounter 供给接线:begin_battle 入参直供改真实遭遇上下文 + 跨战斗 HP 持久性(B2 hp_persistence 对侧承接);战斗触发(节点移动碰非奖励点)归 C1(缺口预检 5) | C1/C2 | C1/C2 GDD |
|
||||
| 7 | 深度高光形态:#3 标中旗高光的二期形态(即时 HUD 反馈动画/音画同步)——MVP 已落数据面标记 + 当轮兑付;旗落格高亮/姿态反馈等表现形态随 art-bible 与战斗表现美术测试定 | D1/B5 | 垂直切片 |
|
||||
| 8 | 标错惩罚 flag_miss 源路径:候选"敌方伏击 +1"上线时——flag_judged{hit=false} 转化路径 + B3 source_class 新枚举(结构冻结项走 GDD 修订)+ 惩罚重复性裁决(hit=false 无去重的不对称)联动关闭(缺口预检 12) | B1/A2/A3 联合 | A2 OQ1 实测采纳后修订批 |
|
||||
| 9 | hero atk 激活——已闭合(2026-09-11 起"基础攻击恒存在":HeroTable.atk 域 [1,999]、0 加载拒绝、MVP=6;attack_up 复活、消费面 = 主角战斗段先手攻击);对照表回迁 + AC-36 死行断言改写随重算批兑现 | B4/B1 | 已闭合 |
|
||||
| 10 | B2 OQ1 两 face 归属:query_attack/ambush_grant_plan 归 B2 供给面 vs B1 编排面——裁决归 B1 则 AC-14/22 相关腿迁移至 B1 冒烟(断言口径不变) | 实现期 ADR | Technical Setup |
|
||||
| 11 | 零伤害死局遥测锚口径:战斗轮数异常遥测的阈值与埋点(EC 死局组合 B1 无自愈分支——护栏 owner = 实现期 ADR/D2 跨字段校验,B2 OQ9 并案)(缺口预检 11) | C3/playtest | 垂直切片 playtest |
|
||||
|
||||
## 缺口预检(验收阻塞与后续义务登记)
|
||||
|
||||
| 编号 | 缺口与处置 | 对侧 | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | 【阻塞级】A2 事件载体 ADR 依赖:经真 A2 事件流驱动 B1 的 THEN 子集为纸面契约直至落地;A2 半真备选(注入面 + A3 真)已登记为过渡载体、断言口径不变 | 实现期 ADR(与 A2 OQ2 同一裁决) | Technical Setup |
|
||||
| 2 | 【阻塞级】σ 登记轨迹与取号约定:身份依赖腿(双包/刀全灭/清图槽身份/完美板布置)依赖 σ 登记与取号约定(B4 缺口 8 同源);登记后须第二人独立推导复核 | qa / 实现期 ADR | 冒烟框架搭建 + ADR 定名 |
|
||||
| 3 | m_w 修订回写——已闭合:registry 回执 #1/#2 于 2026-09-10 F0 批落地、2026-09-14 重算批更新腿读数(attack_up 参照回迁口径重跑兑现);B3 AC-14 腿 3 非平凡性复查通过(16×65 = 1040 越域) | B4/B1 共裁 + C3 | 已闭合 |
|
||||
| 4 | A1 actuals p10 未交付:F4/F5 以行 target 代 p10 乐观代理——交付后强制重跑 AC-39/40 并同步 registry(对账清单 #6);连带 \|M\|/\|S\| 分布与 fog_burden_ratio p50/p90 | A1(交付)→ B1(重跑) | A1 F4 报告 C 交付 |
|
||||
| 5 | C1/C2 encounter 供给:begin_battle 入参直供为 provisional——C1 定稿后接入真实遭遇上下文与跨战斗 HP 持久性,AC-5/24 的直供构造改为真实供给链 | C1/C2 | C1/C2 GDD |
|
||||
| 6 | 【阻塞级】D1 呈现义务台账:A2×6/B2×4/B3×4/B4×5/B1×3(高光行强调/完美排雷呈现/EC5 零合法板提示)缺项即 blocking——design 验收标准节 AC 全部以数据面断言、呈现零覆盖 | D1 | D1 GDD 门禁评审 |
|
||||
| 7 | SettlementTable registry 条目回填——已闭合:settlement_table 条目 2026-09-10 回填、2026-09-14 重算批随 W3 充能规格更新为十二字段口径;AC-41④ 按现行条目断言 | 本 GDD 定稿批 | 已闭合 |
|
||||
| 8 | B1 扫描域成员清单登记:AC-43 单向扫描的 B2/B3/B4 API 符号清单与 B1 文件集须登记入 D2 AC-9 项目级 CI 扫描配置(B3/B4 先例) | Technical Setup | B1 GDScript 产物落地即登记 |
|
||||
| 9 | C3 调参对账重跑流程:D_ref/P_pf/m_w 任一调参 → AC-36/39/40 + AC-2–4 夹具登记值连锁重跑;扩表:A1 行参数(mine_density/min_safe_count/ι target)与 B4 奖励权重/power 调参 → 同批重跑 AC-39/40;A1 新增产出义务 = R₀ 规模分布上界(F4 报告 C 扩列——护栏 B 的登记供给方) | C3(调参)+ qa(重制)+ A1(R₀ 产出) | 每次调参 / 报告 C 扩列交付 |
|
||||
| 10 | A1 桩 → 真 A1 全链路:换图编排 generate 真实集成(含 attempt 重试不重开 scope 语义、非法产物真分布)登记端到端集成冒烟(与 A1×A2 双包含端到端同槽) | qa/A1 | A1 实现落地 |
|
||||
| 11 | 零伤害死局遥测锚:EC 死局组合 B1 不设自愈分支——战斗轮数异常遥测的口径登记(进 C3/OQ 清单) | C3/playtest | 垂直切片 playtest |
|
||||
| 12 | flag_miss 源路径预留:标错惩罚上线时补 `flag_judged{hit=false}` → 敌方伏击 +1 源路径 AC(source_class 新枚举走 B3 修订——A2 预告接口漂移) | B1/A2/A3 联合 | 惩罚实测采纳后修订批 |
|
||||
|
||||
## 附录 A:审计元数据
|
||||
|
||||
### 复核注记(v1.1-lean 头部遗留)
|
||||
|
||||
lean 门禁下 systems-designer / qa-lead 已委托起草(F0–F5 + 对账义务清单 / 43 条 AC + 覆盖矩阵);creative-director 与 art-director 未经咨询——生产前人工复核 Player Fantasy 情绪定位与 Visual/Audio 和 art-bible 一致性(§1–4 须在 D1 GDD 前创建)。
|
||||
|
||||
### 对账登记义务清单
|
||||
|
||||
| 编号 | 登记内容 | 对侧 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 1 | registry `status_effect.anchor_warning` 裁决回执:归一口径 = 每结算瞬时当量(总暴露分支关闭——schema 域禁止 + 重定参照路径不采纳);m_w 修订值域 [60, 85]/默认 65;"7 层触地板"预读更正(地板 = 乘数零点 −100 pp,交叉层数 = ⌈100/m_w⌉ = 2);参照对象 = attack_up 当量(registry 回迁口径) | registry / B3 | 已回写(2026-09-10 回执;重算复核更新腿读数) |
|
||||
| 2 | registry `status_effect.mvp_content.weaken` + B3 GDD 行表/Tuning Knobs:magnitude −25 → 值域 [60, 85]/默认 −65(接口漂移回写);B3 AC-14 腿 3 非平凡性复查回执(16×65 = 1040 越域 ✓);B3 OQ1/OQ6 关闭回执 | registry / B3 | 已回写(2026-09-10) |
|
||||
| 3 | registry `clause3_supply.direction_precheck` 闭合回执:统一当量重算值双口径登记(边际配对),pp 代理退役为历史记录;破线 → C3 调参约束登记 | registry / C3 | 已回写(2026-09-10)+ 2026-09-14 重算回执(现行值链破线读数) |
|
||||
| 4 | registry 新条目 `clause5_dominance`:F5 主判式(挖穿残余池计价)+ 未闭合登记与 C3/B4 约束包(C3 已裁②非支配设计态)+ 两护栏结论 + actuals 重跑义务 | registry / C3、B4 | 已回写(2026-09-10)+ 2026-09-14 重算回执(v3 曲线读数) |
|
||||
| 5 | registry `reward_table`/`reward_config` 注记:C_eff 口径(P_perfect 入账规则——÷100 成文 + 真实双份交付、载体域 {100,200};当量 = power 恒等);attack_up 死行注记已随基础攻击恒存在批退役(对照表现行 = attack_up 活行) | registry / B4 | 已回写(2026-09-10 回执;死行注记随基础攻击复活退役) |
|
||||
| 6 | registry `board_gen_table.inferability_vs_p_safe` 消费回执:P(安全) 代理公式(残余盲猜端上界式)+ actuals p10 输入接线路径(A1 F4 报告 C) | registry / A1 | 待回写 |
|
||||
| 7 | D2 SettlementTable schema(B1 回填 owner)+ registry `settlement_table` 条目(十二字段 = 原八字段 + damage_a_per_cell / damage_a_cap / damage_b_per_flag / armor_effectiveness——护甲克制批) | D2 / registry | 已回写(2026-09-10 回填;2026-09-14 随 W3 字段更新) |
|
||||
| 8 | systems-index 门禁记录:B1 强制检查点三项(条款①②③⑤)裁决落定登记;A3 OQ1(对照表)、B4 OQ5(T_fog_min 推导式——对照表已落定,改推导式与否由 B4 裁)/OQ6(weaken 联动)状态回写。附注(新缺口):第二腿校准所需的连锁规模分布(c̄)无既定供给方——登记 A1 报告 C 扩列或 A2 telemetry 的归属 OQ | systems-index / B3、B4 | 待回写 |
|
||||
|
||||
### AC 覆盖矩阵
|
||||
|
||||
| 类别 | 映射 |
|
||||
|---|---|
|
||||
| Core Rules(16/16) | 1→AC-43(单向扫描)+ AC-33(零随机行为级)· 2→AC-6 · 3→AC-9 · 4→AC-7+AC-2 · 5→AC-9/10/11/12(腿 5 = 标旗未中行)/13 · 6→AC-14 · 7→AC-15/16 · 8→AC-17 · 9→AC-18/19/20 · 10→AC-21/22/23/24/25 · 11→AC-26 · 12→AC-24/27 · 13→AC-35(#2 真实双份)+ AC-12(#3+腿 5)+ AC-36(P_pf 入账)· 14→AC-42(13 类+字段分层)· 15→AC-33/34 · 16→AC-1/2/3/4/32/41 |
|
||||
| Formulas | F0→AC-41(registry 对账形态)· F1→AC-36 · F2→AC-37+AC-22 腿 3 · F3→AC-38+AC-18/20/22/24 · F4→AC-39 · F5→AC-40 · F6→AC-44 |
|
||||
| 上游义务 23 条 | B3①→AC-9 · ②→AC-9 · ③→AC-37/22 · ④→AC-26 腿 2 · ⑤→AC-36 · ⑥→AC-26 腿 1 · ⑦→AC-17 腿 1 · ⑧→AC-14 ∥ B2①→AC-21 · ②→AC-9/14 · ③→AC-24/38 · ④→AC-39 · ⑤→AC-18 · ⑥→AC-14 ∥ A2①→AC-6 · ②→AC-10 腿 2 · ③→AC-12 腿 2/3 ∥ B4①→AC-7 · ②→AC-9/10/11 · ③→AC-13 · ④→AC-15/16/18/19/20 · ⑤→AC-31 · ⑥→AC-5/28——23/23 全落位 |
|
||||
| 强制检查点 5 项 | reload gate→AC-32 · 可回放→AC-33 · new_board 违约→AC-30 · roll_board 恰一次→AC-5/28(scope 计数器观测)· 衰减恰一次→AC-26 |
|
||||
| SettlementTable 校验 | segment_order→AC-2 · 悬空 effect_id→AC-3 · p_perfect 域→AC-4 · schema 定稿→AC-1/41 |
|
||||
| EC(26 条) | 末图清图→AC-13/26 腿 2/27/31 · hero 短路→AC-24 · 双死 hero 先判→AC-24 注(结构不可达不构造)· D'=0→AC-22 腿 3 · 溢杀→AC-18 腿 3 · charge 蒸发→AC-23 · 全体 charge→AC-23 腿 2 · L=0→AC-22 腿 1 · 同窗多包→AC-16 · 部分回复→AC-16/19 腿 2 · 刀全灭→AC-20 · 空库存→AC-15 腿 4 · RAP 不足→AC-29 腿 3 · 连环刷图→AC-29 腿 2 · 未刷新→AC-30 · 非法产物→AC-28 腿 2 · 清理被拒→AC-31 腿 2 · 战斗中 reload→AC-32 · 衰减空→AC-26 腿 3 · 清图 buff 满层→AC-13 腿 2(高光降级)· 完美刷新图→AC-35 腿 4 · 标中+误标→AC-35 腿 2+AC-12 腿 5 · 多敌共享 L→AC-25 · 死亡即不动手→AC-18 腿 2 · 零伤害死局→负空间+遥测锚 OOS(C3/playtest)· 结算开始 hp=0→负空间 debug 断言——呈现半边全部 OOS 至 D1/B5(生效条件 = D1 义务台账登记) |
|
||||
| 无洞声明 | Core Rules 16/16、F1–F6、义务 23/23、检查点 5/5、SettlementTable 校验 3/3 全部映射 AC;EC 除 2 条负空间自守(不可由公开 API 构造)与呈现/playtest OOS 外全部 Given-When-Then 或对账断言承载 |
|
||||
|
||||
## 去向映射
|
||||
|
||||
| 原文章节/表 | 落点 |
|
||||
|---|---|
|
||||
| 头部(状态/版本/承载支柱/一句话) | design 头部;复核注记 → 附录 A |
|
||||
| 速览表 | design 系统范围(定位/拥有/不拥有/上下游/硬约束拆入负责·不负责清单与规则 1/15) |
|
||||
| 体验锚点表 + 反向护栏 | design 设计目的(四条承诺);论证 → 问题"结算系统如何兑现三根支柱的体验承诺" |
|
||||
| 全局流程(战斗开始/七段骨架/出口分发表) | design 核心循环 |
|
||||
| 核心规则 1/2/3/4/16 | design 编排与触发(编号人话句);静态扫描/行为级举证 → design 验收标准 AC |
|
||||
| 核心规则 5/6/7/13 + 三批转化表 + 奖励分流表 + 高光兑现节点表 | design 授予与高光;真实双份论证 → 问题"完美排雷的翻倍是账面乘数还是真实双份交付" |
|
||||
| 核心规则 8/9/10/11/12 | design 合成、道具与战斗 |
|
||||
| 核心规则 14/15 | design 明细流水协议 |
|
||||
| 枚举(明细行类型/source_class/highlight) | design 明细流水协议 |
|
||||
| 术语表 | design 当量换算与条款闭合(读公式所需的定义) |
|
||||
| F0 结论 | design F0 节;分支表/同分母性/机制同构/schema 禁止/值域依据/红警更正/重算复核/连带后果 → 问题"weaken 锚的归一口径" |
|
||||
| F1 结论/换算式/Variables/对照表/锚两腿/结构性边界/归口 | design F1 节;候选取舍/锚对照实物论证/Example → 问题"四源效果档位如何放在同一把尺上对照" |
|
||||
| F2 结论/公式/Variables/三例读法表/归口 | design F2 节;候选取舍/免伤合法性论证/Example → 问题"percent 池怎么合成、地板设在哪、免伤轮合不合法" |
|
||||
| F3 结论/四分支公式/Variables/归口 | design F3 节;候选取舍/Example/双死不可达论证 → 问题"伤害全序、负值、溢杀与死亡判定边界怎么定" |
|
||||
| F4 结论/判据公式/Variables/验算表/结论①–④ | design F4 节;换锚注记/双口径/V_safe·V_mine·ι 注记/clause3_supply 对齐 → 问题"条款③挖掘风险不等式在现行值链下成立吗" |
|
||||
| F5 结论/判据公式/Variables/四态验算表/折减·雾态 bullets/约束包/护栏表/护栏 B 输入登记/P_perfect 结论 | design F5 节;计价候选/显式假设论证/结构性解读/护栏 A·B 注记/P_perfect 建议六条 → 问题"条款⑤推到底清图支配弃图刷新吗" |
|
||||
| F6 结论/公式/Variables/cap 截断腿/P2 归因 | design F6 节;候选取舍/验算/乘区关系 → 问题"伤害A/B 充能与护甲克制怎么结算" |
|
||||
| 边界参数总表 | design 调参表(边界参数总表) |
|
||||
| 显式排除声明(归属表) | design 系统范围(不负责清单括注归属)+ 各 F 节归口行 |
|
||||
| 对账登记义务清单(8 条) | 活契约摘要 → design 依赖与输出(registry 回写义务随各上游行);全表 → 附录 A |
|
||||
| 状态表 + 编排不变式 | design 编排与触发 |
|
||||
| 边界情况表(26 条 EC) | design 边界情况(条件|行为两列,依据内联句尾) |
|
||||
| 依赖(上游 9 行/下游 5 行/双向核对) | design 依赖与输出 |
|
||||
| 呈现与 UI 契约(8 条数据面义务) | design 依赖与输出(呈现数据面义务) |
|
||||
| Tuning Knobs(SettlementTable schema/Knob 表/非 knob/Knob 交互/调参所有权) | design 调参表 |
|
||||
| 验收标准·测试口径 | design 验收标准(测试口径) |
|
||||
| 验收标准·AC 清单(AC-1–AC-44) | design 验收标准(AC 清单,编号不变,覆盖列同步改"规则 N"称谓) |
|
||||
| 验收标准·覆盖矩阵 | 附录 A(审计证据;design AC 表覆盖列已含规则级映射) |
|
||||
| 验收标准·缺口预检(12 条) | analysis 缺口预检区(编号不变) |
|
||||
| 开放悬案(OQ 1–11) | analysis 开放问题区(编号不变) |
|
||||
| 版本历史(7 行) | design 版本历史(全保留 + 追加 v2 迁移行) |
|
||||
@@ -0,0 +1,298 @@
|
||||
# B4 奖励与道具经济 设计推演
|
||||
|
||||
> 状态:concluded · 本文只装"为什么"——`design/gdd/b4-reward-item-economy.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
|
||||
## 问题:奖励身份为什么 install 期预分配、Ready 后只读?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:授予期现 roll——收益:实现直观、无板级映射容器;代价:身份在开格与授予之间不恒定,预读(P1 规划素材)与回放确定性垮掉,随机入口散布到结算期。
|
||||
- 候选 B:install 期整板预分配(选定)——收益:身份恒定可读、A5 探测道具零成本桥接、零随机出 roll_board 一线、同 σ 同流消费轨迹 ⇒ 同映射的确定函数(AC-9);代价:需 F5"草稿-校验-提交"机制承载保底,多一张板级映射。
|
||||
- 候选 C:开格时才定身份——代价:探测桥接无结构前提,创意风险 #1(安全格奖励可预期性 = P2 前提)直接失败。
|
||||
|
||||
### 深度分析
|
||||
|
||||
RNG 单点纪律要求封闭命名流;registry `rng_service.scope_event_binding` 将 reward_roll 绑定为"每次 board install(格奖励批 + 清图奖励批)",与 board_gen"每次生成新图"同构——换图 = 新 scope 批 = 新身份(E6)。Ready 后只读 + 无重掷 API 构成负空间验收:没有 API 入口即"Ready 后零写入"的结构前提,实例不变式不可由封闭 API 构造违规路径。
|
||||
|
||||
F5 的草稿重 roll 全部发生在提交前(Unrolled 态),确定性 = 同 scope 消费轨迹的确定函数,与 Ready 只读不变式零冲突;每稿 = 格批 + 清图批尾一号,草稿弃用连清图一号一并弃用,scope 计数器每 install 恒 +1(重 roll 不开新 scope)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
install 期预分配 + Ready 只读 + 零随机出 roll_board 一线(design 规则 2/8/10,F1)。创意风险 #1 维持 OPEN:结构前提落地 ≠ 风险闭合;面向特定道具的寻路("绕开两颗雷去拿那把刀")须以未开格身份可读为前提,MVP 未兑现——结构前提已备(身份已定、预读查询面就绪、A5 桥接零成本),呈现深度 = OQ2(垂直切片)。
|
||||
|
||||
## 问题:奖励分几类、按什么轴交付?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 全即时:零决策、零窗口摩擦;代价:丢掉库存规划面——P2"囤刀待机"的长线形态无存身之处。
|
||||
- 全可选:规划面最大;代价:每轮都弹窗、结算明细淹没、拾取感过度延迟,拾取的糖被结算的实吞掉。
|
||||
- 两级交付轴(选定):即时类高频保底"开格即有反馈",可选类数量少但更强保住规划面;起步配比即时 75% / 可选 25%。
|
||||
|
||||
### 深度分析
|
||||
|
||||
可选类入库存带来的窗口摩擦由三个结构缓解:库存只收可选类(权重占比低)+ 窗口单件制(每次决策量最小)+ buff 时长改当次结算(D=1——浪费不再跨结算累积、保质期一次结算天然有界;同结算内批量授予的零兑付仍存在,故预警④仪表保留)。治疗两级稀缺化:instant_heal 小额常见零决策,heal_pack 稀缺强效——治疗整体供给变少、决策价值变高,"治疗是稀缺奖励";满血双态区分(instant_heal 满血零兑付记"奖励未生效"行 vs heal_pack 满血拒用不烧包)分别承载"白捡无感"与"误触防护"。
|
||||
|
||||
C3 修订批以供给控制器(RewardSupplyController——install 期战斗首件保证 + 指数递减注入 0.4→0.2→0.1→…,E[战斗获取] ≈ 1 标定目标)替代"格子权重 75/25"承载可选类供给:首件保证取代 K_dmg 保底的胜利路径语义,指数递减保稀缺、永不绝育防"可选类绝育"。clear_blast 换位(原 clear_knife 入库刀 → instant_aoe p40 当场兑付全体存活敌、不入库不占可选类供给、完美板 ×2 = 80)同理——清图槽的兑付不走库存通道,B1 条款⑤计价基元随换位重推(C = power = 40)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
五值封闭枚举 + 两类交付轴 + active_inject 注入池(design「奖励类型与数据表」)。预留值(resource / aux_item)校验拒绝 fail-fast,启用走修订——机制与内容分离,名录扩展归垂直切片/Alpha。
|
||||
|
||||
## 问题:道具伤害吃不吃 percent 修正、attack_up 死行怎么办?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 道具吃修正:与 attack_up 叠乘爆发高;代价:乘法爆炸面 + 囤刀无上限不再安全 + 玩家不可心算。
|
||||
- 恒定表值不吃修正(选定,用户拍板):可算性 + 囤刀无上限安全(无乘法爆炸,E17 的结构前提)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
attack_up 曾为死行(HeroTable.atk 曾可为 0),A3 条款 2 锚参照对象一度迁 defense_up 当量。用户裁决"基础攻击恒存在"(atk 域 [1,999]、0 加载拒绝、MVP = 6 原型锚;主角每结算战斗段先手攻击顺位最前敌)后 attack_up 复活:唯一消费面 = 主角战斗段先手攻击,只乘基础攻击、不乘刀——"道具不吃修正"拍板不变。锚参照对象回迁 attack_up 当量(registry `status_effect.anchor_warning` / `clause3_supply.direction_precheck` / systems-index A3 OQ5 注记三处同批回写;B3 锚预警裁决前置不变)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
恒定表值 + attack_up 复活口径见 design F4。残余 = attack_up 是否入默认根池(OQ1——复活批不擅自入池,随奖励改造批裁决,C3 内容所有权);入池时 tier_min_buff 重算、AC-19 对账对随批重制。
|
||||
|
||||
## 问题:道具段已选刀但无存活敌时,拒用还是照常消耗?(E10)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 拒绝不消耗:玩家友好、无浪费感;代价:须读 B2 存活集才能判定,B4 零跨系统读纪律开口子。
|
||||
- 照常消耗零效果(选定):B4 保持零游戏态守卫,战斗轨迹判断留编排层;代价:玩家可能"烧刀",须明细行诚实呈现。
|
||||
|
||||
### 深度分析
|
||||
|
||||
选定理由两条:① 守卫所有权不对称(非信息不对称)——满血守卫是 B1 读 hero hp 的表局部判定(F4 已定),而零效果判定须读 B2 存活集,B4 零跨系统读纪律不为它开口子,选定即承诺把战斗轨迹判断留给编排层;② 反抖动——选定即承诺防窗口内反复重选拖垮结算节奏(B2 呈现规格供给 hp/max_hp 血条数字,敌我血量在选择时点均可读;窗口内可用性预判 usable_now〔B1 组装〕承载"误触防护"半句)。原"敌 HP 不可见"理由与 B2 血条数字可读矛盾,已更正为上述两条。
|
||||
|
||||
段序不截断:选定件全序执行 → 战斗段照常推进(死敌"死亡即不动手"空转)→ 衰减段 → 判定段判胜 → 关卡末 clear_inventory 全清(含未选件)。"零效果"是事实判定(B1 读存活集做判定)非拒绝——逐件进"已消耗未生效"明细行(B3 义务⑧"溢出未生效"行协议同款数据面)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
照常消耗 + 逐件"已消耗未生效"明细行(design E10;AC-14 分支 3 承载拍板语义——不采信任何"拒绝不消耗"旧读法);监控锚 = 预警①浪费半。
|
||||
|
||||
## 问题:每板刀供给如何保底?(F5 与供给控制器)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:K_dmg 草稿-校验-提交重 roll(现行机制保留)——结构保证但引入概率性致命带。
|
||||
- 候选 B:清图槽保底(否决)——弃图流覆盖不到:RAP 刷图非必经清图;economy-designer 复核:清图免费换板且多清图槽,吞吐严格支配 RAP 刷新,无刷刀农场漏洞。
|
||||
- 候选 C:safe_cell 伤害权重下界(否决)——概率缓解非结构保证,留作 C3 伴生调参。
|
||||
- 候选 D:供给控制器战斗首件保证(选定承接)——机制保证每战至少一件可选类,K_dmg 降为 0。
|
||||
|
||||
### 深度分析
|
||||
|
||||
概率性致命带:合法权重下 N_draft 耗尽概率随 K/池构成可达非平凡值(同配置不同种子一个能玩一个崩——种子轮盘);处置 = C3 调参期批量仿真义务(刀供给分布 × A1 板分布的可行率),把配置错误暴露在调参台而非玩家局内。b4_reroll 夹具的可达性标定:首稿零刀 P ≈ (6/7)³ ≈ 0.63(重 roll 可达)而耗尽经验稀有 ≈ 4×10⁻⁷/σ。
|
||||
|
||||
保底仅计 damage_item 不计 instant_aoe——保底的意义在"每板至少有一把可囤可择时的刀"(玩家可控时点的伤害资源),即时类自动兑付无规划面。K_dmg=0 后 no_damage_row 后闸托底零活刀行世界:内容健康护栏、非胜利路径闸——基础攻击保证战斗可胜,本闸防"零伤害道具世界"经纯内容调参静默复活导致战斗拖长、奖励系统空转(与 B2 OQ9 并案登记同一 owner)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
K_dmg=0 现行默认 + 供给控制器首件保证 + 双加载护栏 floor_supply_missing / no_damage_row(design F5)。"C3 禁区默认值"条款随 C3 修订批解除。
|
||||
|
||||
## 问题:清图与雾区奖励如何定价?(A4 三约束的 MVP 承载)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- ① 雾内档位下界:T_fog_min 表值 vs 推导式(= 最低档 buff 当量所在档)。
|
||||
- ② 清图锚随雾成本上浮:MVP 常量池 vs clear_<biome> 差异化。
|
||||
- ③ 雾板净当量优势带上界:运行时校验 vs 验收锚 + 预警对冲。
|
||||
|
||||
### 深度分析
|
||||
|
||||
① T_fog_min 真推导式依赖 B1 条款①对照表(未设计),加载期循环依赖不可行——取表值(默认 2 provisional),A4① 登记为验收锚非运行时校验,对照表落定/调参时核对"雾池最低档行当量 ≥ 最低档安全格 buff 当量"。AC-19 档位序检查的已知失效面:tier 与当量零耦合(跨类别 tier 序不保证当量序——雾池 tier2 治疗包的当量可能高于 tier3 buff 行),故 AC-19 只作档位序检查非当量保证,升格运行时致命会锁死内容;单行雾池下检查恒平凡真(判别力零)——默认根已布置四行雾池规避。
|
||||
|
||||
② clear_default MVP 单默认槽 = 板无关常量池,清图奖励当量无法随雾负担变化——MVP 结构性不可闭合(非 deferral:B1 强制检查点只能对该常量判 pass/fail,改 power 会同步抬高无雾板、破坏无雾侧定价);激活载体 = clear_<biome> 插槽(垂直切片,待 C1 biome 词表落定)。
|
||||
|
||||
③ ②缺位 + 雾格仅 tier 下界加成的 MVP 结构下近乎必然平凡通过——静默绿灯风险显式登记;休眠状态与接受风险(重雾板清图欠偿 → 弃图偏斜——A4 警告的 level 2 结构性高发位);对冲 = 预警⑤雾板分层观测(聚合指标会被雾板污染或反向掩盖)+ 预警⑥速杀退化监测。
|
||||
|
||||
### 综合判断
|
||||
|
||||
①锚侧承载 / ②休眠待 clear_<biome> / ③显式接受风险 + 双预警对冲(design「A4 定价硬约束的 MVP 承载状态」表 + AC-19)。
|
||||
|
||||
## 问题:默认根数值如何锚定?(方向预检与口径)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 供给面:刀供给期望 ≈ |资格格| × 19% × 9.7(加权刀力 = (15×8+4×16)/19 ≈ 9.7)≈ 1.8|资格格|/板,另加即时群伤与基础攻击分量。
|
||||
- 需求面:击杀需求 = 敌 hp 18(单敌档)/ 54(3 敌档,B2 EnemyTable 参考行)。
|
||||
- 对照基准:max_hp = 50(原型锚)为治疗供给对照基准。
|
||||
|
||||
### 深度分析
|
||||
|
||||
现值读数:"单敌无忧 / 2–3 敌贴近下界"有锚。预警联动:速杀退化预警⑥在"基础攻击 6/结算 + 即时类自动兑付"下压力进一步上升——敌 hp 曲线与奖励供给禁止独立调参(C3 联动重算义务)。输入缺口:|资格格| 分布待 A1 actuals p10/p50 → 落地后重跑;max_hp=50 原型锚出处建议随 B2/D2 回写补登。
|
||||
|
||||
buff 零兑付率推导(预警④连锁批单列的依据):buff 供给 λ = 8 挖/轮 × 44% ≈ 3.5 层/轮 vs 吸收上限 1 层/结算 × max_stack 2——批式授予下零兑付率远高于单格批,故连锁批量授予零兑付率单列(阈值 >50%)。F6 供给面口径 = 全活行投影(非仅活 buff 行清单)——承载 A4②③与 A3⑤ 对账,道具/清图行值在内(B1 直读 ConfigDB 本也可绕过,接口名实相符);量纲建议 = 主角 HP 点(与 m_amb 同量纲)。B2 OQ3 衔接:伤害道具作为主角规划面伤害令"安全格拾取 → 伤害当量"可落地(基础攻击为恒定基底、道具为可规划增量——部分缓解非闭合,窗口使用次数是战斗轨迹量归 B1)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
方向预检登记对账记录(B2 clause3_supply 先例);数值全部 provisional 归 C3;锚验收权 B4/B1(B3 Rule 10 同款)。
|
||||
|
||||
## 问题:体验锚点如何论证?(拾取的糖、结算的实)
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 参考感受:Microsoft Minesweeper Adventure 的开格拾取(身份即在场的战利品,不是无名金币)+ 杀戮尖塔奖励节点(有名字、有用途、进构筑的战利品)。
|
||||
- 反向对照:无身份的纯数值掉落("你获得了 +5"式系统补偿)与开包式随机惊喜(拿到了也不知道是啥)——本作要避开的两种感受。
|
||||
|
||||
### 深度分析
|
||||
|
||||
玩家的每一轮都在预读本系统:已开格与库存的奖励身份恒定可读,叠加"每个安全格必有货"(F1 结构保证)与"雾格档位更高"(F2)两条全板先验——构成"往雾区推进、囤刀待机、叠层满载后收手"的路线与节奏决策素材。深度轴 MVP 零载体,深度/图类型差异化 = clear_<biome>/池变体结构位(垂直切片登记)。
|
||||
|
||||
E17 囤刀:合法策略且为设计意图(可选类道具是关内资产——"囤刀待机"的规划视野 = 整个关卡,P2 长线规划形态兑现);无运行时上限因伤害恒定表值 ⇒ 无乘法爆炸;失衡监控 = 预警①(浪费半)与⑥(速杀退化),修正入口 = C3 权重调参。E3 连锁批量溢出:13 格链 × max_stack=2 ⇒ 大量同文"奖励未生效"明细行——显式接受(A2 登记义务"连锁批量授予溢出吸收"的 B4 侧裁决落点);玩家侧缓解 = 叠层感知挖掘(HUD 满层后少开安全格/优先挖刀——弱自救;层数长在 B3 容器上不长在格子上,未开格身份不呈现、无格可绕);明细行数据面须携带可聚合计数/批次字段(是否合并呈现归 B1/B5 裁决,数据必须可聚合——防事后补字段 = 接口漂移)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
拾取瞬间的糖与延迟兑现的实各管一半,后者是 P2 归因的奖励侧落点;反向护栏两条(身份永远在桌上 / 拾取不得改即时生效)入 design 设计目的。窗口触发政策:MVP 有库存恒弹,候选"仅可用品触发 / 常驻库存条非模态"归垂直切片(P4 节奏)。
|
||||
|
||||
## 开放问题
|
||||
|
||||
| 编号 | 问题 | owner |
|
||||
|---|---|---|
|
||||
| OQ1 | attack_up 入池裁决(复活已闭合,残余入池问题):基础攻击恒存在(B2 Rule 9)→ attack_up 复活、消费面 = 主角战斗段先手攻击;attack_up 行是否进入默认根 RewardTable 池随奖励改造批裁决(复活批不擅自入池);A3 条款 2 锚参照对象已回迁 attack_up 当量(F4 口径后果) | C3 |
|
||||
| OQ2 | 未开格身份呈现深度:MVP 不呈现(规则 8);A5 探测道具零成本桥接(身份 install 期已定可查);呈现深度(类别/档位/身份)待 A5 定稿 | A5+D1(垂直切片) |
|
||||
| OQ3 | items_per_settlement_cap 启用裁决:Tuning 结构位默认关;启用即限制(过低锁死 3 单位 54 击杀需求胜局——economy-designer 警告) | C3 playtest |
|
||||
| OQ4 | 关卡末剩余道具折算(关内延续裁决后重述):"战斗结束库存清空"的体验负债主体闭合(库存关卡域:跨战斗延续、未选用件不再随战斗消亡;层间延续可见反馈已入切片);残余 = 关卡末剩余道具折算/继承结构位(转金币/继承——Alpha,C2;清空前快照计数已作为折算数据面预留) | C2/D5(Alpha) |
|
||||
| OQ5 | T_fog_min 推导式:依赖条款①对照表(未设计,加载期循环依赖不可行);落定后改推导式或维持表值(F2,默认 2 provisional) | B1 |
|
||||
| OQ6 | weaken 锚裁决联动:B3 OQ1 归一口径裁决前置(瞬时 vs 总暴露);若落"总暴露"读法则 B4 重定最低档参照(registry anchor_warning;F6 供给已备行值清单与量纲建议) | B1 |
|
||||
| OQ7 | 失衡预警预注册归口:预警①–⑧ 阈值与样本量 provisional;与 A3 OQ3、原型 v3 终验 playtest 合并执行候选 | C3/playtest 会话 |
|
||||
|
||||
### 待拍板(两件套迁移发现的原文内部 / 与 registry 冲突——迁移未裁决,design 按所注口径收录)
|
||||
|
||||
| 编号 | 冲突 | 迁移处置 |
|
||||
|---|---|---|
|
||||
| NQ-1 | registry `reward_table` 已含 `power_min/power_max` 可选配对字段与"伤害量值区间批"五行区间化登记(heal_minor [2,6] / knife_t1 [5,11] / heal_pack [6,18] / knife_adv [10,22] / clear_blast [25,55],中点恒等原值),原文 schema 九字段与默认根行值未承接 | design 保留原文九字段与定值行;待拍板:GDD 补区间字段还是 registry 回退 |
|
||||
| NQ-2 | AC-18 断言"category 值域 ⊆ {buff, damage_item, heal_pack}(三值封闭定值)"与规则 1 五值封闭枚举冲突(两级奖励批后未同步) | AC 原文保留未改(编号不动、不断然改 AC);待拍板改写为五值 |
|
||||
| NQ-3 | 规则 7 举证"heal_pack 默认根权重 6%、power 12"与默认根行集 heal_pack w10(active_inject)冲突(C3 修订批迁注入池后未同步);失衡预警②"可选治疗稀缺化至 6% 后"同源 | design 按默认根行集与 registry 收 w10;预警②行原文保留;待拍板 |
|
||||
| NQ-4 | F5 推导代码块注"K_dmg 默认 1 provisional"与 F5 结论/Output Range"K_dmg=0 现行默认"及 registry(默认 0)冲突 | design 按 0 收录(registry 已锁 + 原文结论口径一致);原"默认 1"视为残留;待拍板确认 |
|
||||
| NQ-5 | 夹具"默认根"行原注 K_dmg=1 与行集列 clear_knife,同 NQ-4 / clear_blast 换位残留 | design 夹具行改写为 K_dmg=0 + 指向「默认根内容行」节八行;待拍板确认 |
|
||||
| NQ-6 | N_draft 域原文 [0, 999] vs registry [1, 999] | design 按 registry [1,999] 收录;待拍板 |
|
||||
| NQ-7 | registry `reward_table.direction_precheck` 仍为旧权重口径(\|资格格\| × 40% × 5 = 2\|资格格\|),原文方向预检已按新权重重算(19% × 9.7 ≈ 1.8\|资格格\|/板) | analysis 按新口径收录;registry 未随 C3 修订批重跑,待拍板回写 |
|
||||
|
||||
## 附录 A:接口漂移登记(回写已兑现——delta 复核逐处对账)
|
||||
|
||||
| 编号 | 内容 | 对侧 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 1 | game-concept 待定问题"主动道具后续版本加入"于 MVP 激活(道具使用窗口)——use_timing 字段从预留转承重 | game-concept(第 144 行注记) | 已同步 |
|
||||
| 2 | registry `rng_service.scope_event_binding` 的 reward_roll 批次语义改写为"每次 board install(格奖励批 + 清图奖励批)" | registry + D2 正文(Core Rule 5 / Interactions B4 行) | 已同步 |
|
||||
| 3 | 锚参照迁移传播(attack_up 当量参照回迁) | systems-index A3 OQ5 注记 · registry `status_effect.anchor_warning` · registry `clause3_supply.direction_precheck` | 已同步(三处) |
|
||||
| 4 | game-concept 创意风险 #1 与可证伪信号的 MVP 口径注记 | game-concept | 已同步 |
|
||||
| 5 | 窗口锚点修订(授予段后) | systems-index 门禁块 | 已同步 |
|
||||
| 6 | systems-index 分层行 B4 ← D2 更新 | systems-index | 已同步 |
|
||||
|
||||
## 附录 B:缺口预检(11 项——每项标 owner 与时机)
|
||||
|
||||
| 编号 | 缺口与处置 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | 【阻塞级】B1 编排半整体 deferral:段序骨架(授予>窗口>增益/减益>道具>战斗>衰减>判定——窗口锚点 = 授予段后)、窗口选择序回放输入、满血守卫(拒绝不烧包)+ 同窗顺序多包逐件动态守卫、零效果判定与"已消耗未生效"行、击杀结果进流水、"奖励未生效"行 + 聚合计数、治疗 clamp、clear_inventory/retire/roll_board 恰一次编排——B4 冒烟全部以构造序扮演、编排正确性零断言;E10 的 B1 侧承接(读 B2 存活集做零效果判定)尤须逐字核对 | B1 GDD(义务清单 6 项,缺项即 blocking) | B1 门禁评审 |
|
||||
| 2 | 【阻塞级】A4① 当量升级与②③状态:AC-19 分支 2 为档位序检查——真当量换算依赖 B1 条款①对照表(未设计);②在 MVP 结构性不可闭合(依赖节显式宣告——非常量池无法随雾负担上浮)、③静默绿灯风险;激活载体 = clear_<biome> 插槽(垂直切片) | B1 | B1 GDD 强制检查点 + 对照表落定/每次调参时核对 + clear_<biome> 激活时重启② |
|
||||
| 3 | T_fog_min 推导式悬置(OQ5):表值默认 2 provisional——B1 对照表落定后改推导式或维持表值;若改动,AC-6 夹具(b4_fog_gate tier 布置与 override 分支)及登记轨迹重制 | B1 | OQ5 关闭 |
|
||||
| 4 | registry/D2/索引/game-concept 回写(评审批已兑现):reward_roll scope 语义改写(registry + D2 正文两处补同步——AC-20① 生效前提)、锚参照迁移三处传播、game-concept 三处 MVP 口径注记、systems-index 分层行 B4←D2 + 门禁块同步——delta 复核时逐处对账 | 本 GDD 评审批 | 已办,delta 复核确认 |
|
||||
| 5 | attack_up 复活连锁(OQ1)——已兑现:基础攻击恒存在(HeroTable.atk 域 [1,999]、0 加载拒绝)→ attack_up 复活,消费者 = 主角战斗段先手攻击(B1 GDD 同批修订);AC-18 改承载 attack_up 行合法性、AC-19 锚参照回迁 attack_up 当量、registry anchor_warning/direction_precheck 同批回写;残余 = attack_up 是否入默认根池(随奖励改造批,C3) | C3(残余入池裁决) | 已兑现;残余随奖励改造批 |
|
||||
| 6 | 登记常数随调参重制流程:b4_golden 冻结权重与默认根解耦,但 T_fog_min/K_dmg/N_draft/P_min/默认根行值调参 → AC-19 对账(对账对 (knife_adv, attack_up_basic) 漂移检测)、AC-6 分支 4、AC-18 结构断言须重跑;C3 调参流程若无"登记常数与对账重制"步骤则相关 AC 假失败 | C3(调参)+ qa(重制) | 每次调参 |
|
||||
| 7 | B4 扫描域成员清单登记:AC-21 分支 1 的生效载体 = D2 AC-9 项目级 CI 扫描域成员清单更新(B3 先例) | Technical Setup | B4 GDScript 产物落地即登记 |
|
||||
| 8 | 参考算术工具锚定:期望映射 Ψ(σ)/Φ(σ)/重 roll 轨迹的手工推导需"播种生成器取号序列"参考算术——D2 仅登记 scope 种子向量(未登记逐号序列黄金向量);参考算术以冒烟脚本内置、版本库登记,正确性以 D2 AC-3 种子向量 + AC-5 区间算术手工核验锚定;生成器取号约定(如 `randi % W` vs `randi_range`)为实现期 ADR 事实,定名时同步登记;登记后第二人独立推导复核 + b4_reroll 可达性拆分复核(首稿零刀可达/耗尽稀有——失效即重制夹具) | qa/Technical Setup | 冒烟框架搭建 + 实现期 ADR |
|
||||
| 9 | D1 呈现义务 deferral:预读呈现(含库存常读条)/使用窗口(含 usable_now 呈现与触发政策)/四类明细行呈现/H2 强调/清空反馈不可 G-W-T——deferral 生效条件 = D1 义务①–⑤登记(缺项即 blocking) | D1 | D1 GDD |
|
||||
| 10 | C3 调参期批量仿真:F5 概率性致命带(合法权重下 N_draft 耗尽概率随 K/池构成可达非平凡值——种子轮盘)→ 调参流程须含批量仿真(刀供给分布 × A1 板分布的可行率),把配置错误暴露在调参台;与预警①–⑧预注册合并执行候选 | C3 | 每次调参 + playtest |
|
||||
| 11 | 方向预检输入缺口:刀供给方向预检的 \|资格格\| 分布待 A1 actuals p10/p50 → 落地后重跑(方向预检表登记对账记录);max_hp=50 原型锚出处建议随 B2/D2 回写补登 | C3/B2 | A1 actuals 交付 |
|
||||
|
||||
## 附录 C:AC 覆盖矩阵
|
||||
|
||||
| 类别 | 映射 |
|
||||
|---|---|
|
||||
| Core Rules | 1→AC-16/AC-18 · 2→AC-1/AC-9/AC-10(恰一次编排→OOS B1×⑥)· 3→AC-12(施加与满层零兑付协议→OOS B1×②+B3 跨引)· 4→AC-13 · 5→AC-14(段序/窗口时机/满血守卫/零效果判定→OOS B1×①④;窗口呈现→D1×②)· 6→AC-10/AC-11/AC-16(clear_<biome> 拒绝)/AC-17 · 7→AC-12 分支 1(道具类路由)/AC-14 分支 3(满血守卫→OOS B1×④;clamp→E12 OOS)· 8→AC-2/AC-15(未开格呈现→OQ2/A5+D1)· 9→AC-16/AC-17/AC-18(接口漂移回写→AC-20①⑤)· 10→AC-9/AC-21(调用权集中→OOS B1×①–⑥) |
|
||||
| Formulas | F1→AC-1/AC-5(+AC-9 轨迹)· F2→AC-6(+AC-19 锚侧)· F3→AC-10/AC-11/AC-17 · F4→AC-14(恒定表值供给面)+AC-18(attack_up 行合法性 = 复活口径)——施加/clamp/守卫/不吃修正纪律→OOS B1×④ · F5→AC-7/AC-8/AC-17(加载护栏 ×2)· F6→AC-19(闭合归 B1——OOS) |
|
||||
| Edge Cases | E1→AC-4 · E2→AC-3 分支 2+OOS B1×⑤(零明细行半)· E3→AC-12(受理序半)+OOS B1×②(行协议 + 聚合计数半)+B3 AC 跨引(apply false 原子)· E4→AC-3 分支 1/2 · E5→AC-1 分支 3 · E6→AC-9 分支 2(roll 半)+AC-13 分支 2(库存半)· E7→AC-3 分支 3/4 · E8→API 负空间(无强制使用入口——不可 G-W-T,B3 Rule 8 先例)+OOS D1×② · E9→AC-14 分支 2 · E10〔照常消耗〕→AC-14 分支 3(B4 半)+OOS B1×④(零效果判定+"已消耗未生效"行+击杀结果流水)· E11〔清图 buff〕→AC-11(B4 半)+OOS B1×② · E12→OOS B1×④(clamp)+AC-14 分支 1(power 供给)· E13→AC-17(b4_dangling_effect 条件性夹具)· E14→AC-15 · E15→OOS B1×①(授予先于判定的段序半)+AC-10 分支 2/AC-13 分支 3(可构造序弱承载注记)+OOS D1×③⑤(消亡语境注记)· E16→AC-18 分支 2(attack_up 行合法——复活口径)· E17→AC-13 分支 1/2 · E18→AC-12 分支 3/AC-10 分支 3 · E19→API 面(清单外 null/false + 诊断)· E20→API 面(stock 受理域封闭)· E21→API 面(枚举序 = stock 受理序——D1 呈现序契约) |
|
||||
| 上游承接 | A4①→AC-19 分支 2(夹具对账型,升级缺口预检 2)· A4②③→MVP 休眠显式宣告(依赖节)+ OOS B1 强制检查点 · A3 条款④恒非空→AC-10 分支 1(兑付面)+AC-17 分支 4(表侧)· B3 dangling_ref 首引激活→AC-17 分支 6+AC-20④ · 奖励身份预读→AC-2/AC-15(呈现→OOS D1×①)· attack_up 行合法性→AC-18 分支 2(复活口径)· A3 条款⑤支配性→OOS B1 强制检查点(预警⑤⑧观测) |
|
||||
| 覆盖口径 | 21 条 EC 中 E8/E15 两处非 G-W-T 形态,分别以 API 负空间与 B1×① 段序 deferral 承载;其余全部映射 AC 或显式 OOS(deferral 生效条件 = B1×6/D1×5 义务清单登记);"负空间"学说的边界如实登记:封闭枚举防住"没有的入口",不自动防住"有入口、语义未裁"——E18–E21(重复受理族/清单外坐标/stock 域/枚举序)为评审批补裁的输入域语义;今后新增 API 入口须随附全输入域语义表(实现期 ADR 检查项) |
|
||||
|
||||
## 附录 E:验收执行规格(测试口径 / 夹具与种子 / 致命 manifest——原文验收标准节执行 machinery,AC 表引用的夹具根名与 manifest 行名以此为准)
|
||||
|
||||
### 测试口径
|
||||
|
||||
| 口径 | 要点 |
|
||||
|---|---|
|
||||
| 测试载体 | B4 是 Core 层数据/逻辑系统——非 UI、无场景依附;冒烟载体 = `godot --headless --script`(脚本 extends SceneTree 以获得 quit(code),ConfigDB/RngService autoload 由脚本显式实例化);映射容器/库存容器/RewardTable schema 经 class_name 直引实例化(每用例全新实例、无跨用例状态;AC-21 扫描对该路径豁免) |
|
||||
| 被测面 | B1 未设计——冒烟直接驱动 B4 最小 API 面并扮演编排方(B2/B3 先例);B4 冒烟零 B2/B3 实例化(施加面/存活集/血量全部归 B1 OOS,StatusEffectTable/HeroTable 仅经 ConfigDB 读值);资格格清单程序构造(真实来源 = B1 义务⑥——冒烟构造等价,零 A1/A2 接线) |
|
||||
| 时序口径 | "一次 board install" = roll_board 恰一次的构造窗口;"cleared 轮" = grant_clear 构造调用;"battle_over" = clear_inventory(+retire_mapping)构造调用;结算段序骨架与使用窗口编排 = B1 域——冒烟以构造序扮演、不断言编排正确性;σ 到达机制:D2 全新 RngService 首个 open_stream 恒为 scope 0——到达 scope=σ 须先 `open_stream("reward_roll")` ×σ 丢弃预推进(AC-7 分支 1 按此执行) |
|
||||
| 纸面契约子集 | 凡依赖 Ψ(σ)/Φ(σ)/σ*/重 roll 轨迹登记值的 THEN,在取号约定实现期 ADR 落地前不视为可执行(受影响:AC-1 分支 1 非雾格值、AC-7 分支 2/3、AC-10 分支 1、AC-12 登记序列);雾格单行退化分支例外(r 无关,现即可执行) |
|
||||
| 只读观测量 | 映射投影(reward_id/category——引用级)· 库存实例投影(item_id/来源/快照/状态)· 流 scope 计数器(install 恰一 scope 的观测面);相位无字段观测量:Unrolled/Ready/Retired 由受理返回值推断;Cleared = 逻辑失效态(失效句柄查询返回空 + 诊断、作用接口拒绝);实例不变式(Ready 后映射零写入 / Used 不可逆 / 库存条目仅存关卡域)= debug 断言自守——违规路径不可由封闭 API 构造,不经冒烟断言;行为级证据 = AC-1/AC-2/AC-9/AC-14 |
|
||||
| 期望值推导纪律 | weight/power/tier/T_fog_min/K_dmg/N_draft 全 provisional——各 AC 的 THEN 具体数值按当前表读值/夹具登记值推导、不写死(记号:w_i/t_i/p_i/T_f/K/N);结构定值断言合法:category 五值封闭、pool_tag MVP 二值封闭、use_timing 单值、清图恒正当量校验存在性;权重比例与数值不作定值断言(provisional 归 C3) |
|
||||
| 拍板语义承载 | 道具段照常消耗(AC-14 分支 3——不采信任何"拒绝不消耗"旧读法)· 清图槽允许 buff 行(AC-11)· 窗口锚点 = 授予段后(B4 冒烟不断言编排时点,构造序扮演) |
|
||||
| 登记常数协议 | 期望格身份映射 Ψ(σ)、清图身份 Φ(σ)、重 roll 草稿数轨迹、A4① 对账对——入版本库;失效处置 = 先复核登记、登记无误即实现缺陷;登记后安排第二人独立推导复核 |
|
||||
| 测试种子取号协议 | master=42;σ 取号 = 每 roll_board 调用恰一 scope(install 批含格批 + 清图批尾;retire 后新 install = 新 scope);期望轨迹经 `derive_at("reward_roll", σ)` 纯函数测试通道推导(不推计数器);黄金向量 m=42 scope0=7422916049646135537(D2 向量表复用——推导起点锚) |
|
||||
| out-of-scope(覆盖声明) | deferral 生效条件 = B1 义务 6 项 + D1 义务 5 项登记(均缺项即 blocking):B1×① 段序骨架与调用序 ∥ B1×② 受理分流 + 满层"奖励未生效"行协议 + 聚合计数字段 ∥ B1×③ clear_reward 授予路径 ∥ B1×④ 窗口与道具段编排(usable_now 组装、满血守卫、零效果判定、逐件"已消耗未生效"行、击杀结果进流水、治疗 clamp、"恒定表值不吃修正"纪律)∥ B1×⑤ 生命周期编排恰一次 ∥ B1×⑥ roll_board 恰一次 ∥ D1×①…⑤ 呈现(不可 G-W-T)∥ 另有:B3 满层拒绝原子(B3 AC 跨引);A4 约束②③(MVP 休眠)与 A3 条款⑤对账闭合(B1 强制检查点);attack_up 复活联动(OQ1);C3 数值与失衡预警①–⑧(playtest 域);未开格身份呈现深度(OQ2/A5+D1) |
|
||||
|
||||
### 夹具与种子策略
|
||||
|
||||
| 夹具根 | 登记内容 |
|
||||
|---|---|
|
||||
| 默认根 | B4 回填的 RewardTable MVP 行集(design「默认根内容行」节八行)+ RewardConfigTable T_fog_min=2 / N_draft=32 / P_min=8 / K_dmg=0(现行默认)——结构断言、F6 供给与方向预检 |
|
||||
| b4_golden | D2 全表清单拷贝 + 权重/tier 冻结登记值(刀 w=2 t=1 / 治疗包 w=1 t=1 / defense_up w=1 t=3 / clear_default 单刀行 w=1)——黄金载体与默认根内容调参解耦(C3 重调默认权重不触动本根;雾池 = {defense_up t3} 单行退化——雾格分支 r 无关现即可执行) |
|
||||
| b4_reroll | T_fog_min=1 / K_dmg=1 / N_draft=32 / p_min=4(刀 p=4 须过 F5 加载护栏 (i),随全局 P_min=8 生效);safe_cell = 刀 w=1 t=1 / 治疗包 w=3 t=1 / defense_up w=3 t=2;clear_default 单刀行 w=1 p=4——满足全部加载校验(活 buff 行 ✓ / 雾池非空 ✓ / 清图正当量 ✓);重 roll 可达(首稿零刀 P ≈ (6/7)³ ≈ 0.63)而耗尽经验稀有(≈4×10⁻⁷/σ)——取号约定 ADR 落地后复核可达性拆分、失效即重制 |
|
||||
| b4_fog_gate | tier 布置使雾池唯一活行 = 高档行 H、非雾池含低档行 L(登记) |
|
||||
| b4_fog_gate_hot | 同表 + T_fog_min=8 表值烤入——雾态池空加载致命(AC-6 分支 4 致命分支载体——R3 override 不触发加载校验,D2 边界⑤) |
|
||||
| b4_clear_buff | clear_default 唯一活行 = defense_up |
|
||||
| b4_reloaded | power/tier 各 +1(effect_id 不动——登记) |
|
||||
| b4_nofloor | safe_cell 无刀行 + K_dmg=0 |
|
||||
| b4_attackup_row | safe_cell 追加 attack_up 引用行(attack_up 复活后的正向夹具) |
|
||||
| 致命根 ×8 | manifest(见下表;含 b4_floor_supply / b4_nodamage) |
|
||||
| 程序构造 | RewardTable + RewardConfigTable schema 直引(AC-16);资格格清单 b4_list_A(3 格含 1 雾)/ b4_list_B(4 格)/ b4_list_single(1 格)坐标入版本库 |
|
||||
|
||||
- 注入通道:行为夹具根经 `--data-root=` 注入(仅 debug、不入 `data/tables/`——D2 夹具纪律);标量 knob 单变分支(T_fog_min=1、K_dmg=2)经 R3 debug override(域内值、运行时态);加载致命分支一律烤入根承载、不经 override;两通道每夹具恰一登记。
|
||||
|
||||
### 致命类收窄豁免与 runner manifest
|
||||
|
||||
| 类别 | manifest 行 | 触发条件 | 断言 |
|
||||
|---|---|---|---|
|
||||
| 加载期 ×8 | pool_empty_safe | safe_cell 全 0 权 | 独立 headless 进程非 0 退出 |
|
||||
| 加载期 | pool_empty_fog | 全行 tier < T_fog_min(雾态空) | 非 0 退出 |
|
||||
| 加载期 | clear_empty | clear_default 池空/全 0 权 | 非 0 退出 |
|
||||
| 加载期 | clear_no_value | clear_default 唯一活行 = power 0 道具行(恒非空的可判定形式——A3 条款④表侧兑现) | 非 0 退出 |
|
||||
| 加载期 | no_live_buff_row | safe_cell 有活行但零活 buff 行(tier_min_buff 无定义——F1 对偶致命) | 非 0 退出 |
|
||||
| 加载期 | dangling_effect | buff 行 effect_id = "ghost_buff"(B3 StatusEffectTable 无此行;条件性夹具:默认根已含 effect_id 引用行 ⇒ 悬空校验已激活——dangling_ref_policy 首引兑现点) | 非 0 退出 |
|
||||
| 加载期 | floor_supply_missing | K_dmg ≥ 1 ∧ safe_cell 池无 power ≥ P_min 活刀行(F5 加载护栏 (i)——根 b4_floor_supply) | 非 0 退出 |
|
||||
| 加载期 | no_damage_row | K_dmg = 0 ∧ safe_cell ∪ clear_default 全池零活刀行(F5 加载护栏 (ii) 零伤害世界后闸——根 b4_nodamage,B2 OQ9 并案) | 非 0 退出 |
|
||||
| 运行期 ×2 | floor_exhaust | roll_board 保底耗尽 | 调用后退出码非 0 |
|
||||
| 运行期 | empty_eligible | roll_board(∅) debug 断言中止(release 构建语义 = push_error 致命路径——实现期 ADR 登记) | 非 0 退出 |
|
||||
|
||||
- 其余致命类别(通用枚举域/域校验/R1 类)由 D2 AC-2 同类别 loader 夹具承载(表无关,豁免声明收窄);每用例先 `reset_diagnostics()`(D2 冒烟协议,全局声明)。
|
||||
|
||||
## 附录 D:去向映射(零丢失可审计证据)
|
||||
|
||||
| 原文章节 | 落点 |
|
||||
|---|---|
|
||||
| 头部(状态/版本/支柱/一句话) | design 头部 |
|
||||
| 速览(定位/拥有/不拥有/上游/下游/硬约束 + 缺位后果) | design 设计目的定位 + 系统范围 + 依赖与输出;缺位后果展开 → analysis「体验锚点」 |
|
||||
| 体验锚点(四行 + 反向护栏 + 参考感受) | design 设计目的体验承诺 1–5 + 反向护栏表;参考感受与预读行为论证 → analysis「体验锚点」 |
|
||||
| 全局流程(奖励授予字符画 + 出口分发表) | design 核心循环(字符画 + 出口分发表) |
|
||||
| 全局流程(库存生命周期字符画) | design 规则 4 + 状态表 + E7/E15(事实全部保留,字符画不重复) |
|
||||
| 核心规则 1–10(人话 + 举证) | 人话 → design 各领域章节编号规则(括注原规则号);举证中的公式/校验 → design 对应 F 节与表格;论证 → analysis 对应问题节 |
|
||||
| 规则 2 实现参照(install 期预分配表) | 事实并入 design F1 表达式 + 边界表 + API 面 roll_board 行(表格不重复) |
|
||||
| 规则 5 结算顺序表 | 事实并入 design 核心循环字符画 + 规则 5 + B1×① + 调参表非 knob 清单(表格不重复) |
|
||||
| 规则 1/3 实现参照(两级奖励分流表) | design「奖励类型」节分流表(与 category 枚举表合并) |
|
||||
| 规则 5/7 实现参照(道具使用窗口表) | design「道具使用窗口」节表格 |
|
||||
| 枚举(category 五值 + 预留值) | design「奖励类型与数据表」 |
|
||||
| RewardTable schema(九字段) | design「RewardTable schema」节 |
|
||||
| 默认根内容行(八行 + 归一占比/雾池/对账对注记) | design「默认根内容行」节 |
|
||||
| F1–F6 结论 + 推导代码块 + Variables + 验算边界(Example/Output Range/边界) | design 对应 F 节(结论先行 + 表达式 + Variables + 边界表) |
|
||||
| F2 锚性质 / AC-19 失效面注记 | analysis「清图与雾区奖励如何定价」 |
|
||||
| F4 attack_up 口径论证(复活史、锚参照迁移) | analysis「道具伤害吃不吃修正」 |
|
||||
| F5 概率性致命带注记 / 否决案存档 / 保底仅计 damage_item 论证 | analysis「每板刀供给如何保底」 |
|
||||
| F6 供给面口径 / 衔接注记(B2 OQ3) | analysis「默认根数值如何锚定」 |
|
||||
| 方向预检(刀供给期望/击杀需求/预警联动/输入缺口) | analysis「默认根数值如何锚定」 |
|
||||
| 状态(两容器状态表 + 不变式) | design「状态与边界情况」 |
|
||||
| 边界情况 E1–E21 | design 边界情况表(编号 + 条件 + 行为);E10 选定理由、E3 缓解论证 → analysis |
|
||||
| 依赖(上游/下游 + 双向一致性核对) | design 依赖与输出双向表 |
|
||||
| B1 侧义务清单 ×6 / D1 侧义务清单 ×5 | design 依赖与输出(活契约) |
|
||||
| A4 定价硬约束的 MVP 承载状态 | design 依赖与输出;承载论证 → analysis「清图与雾区奖励如何定价」 |
|
||||
| 接口漂移登记 ×6 | analysis 附录 A(历史审计) |
|
||||
| 呈现与 UI 契约 ×10 | design 依赖与输出「呈现数据面契约」 |
|
||||
| Tuning Knobs(9 knob + 非 knob + 交互 + 所有权) | design 调参表 |
|
||||
| 失衡预警清单 ①–⑧ | design 失衡预警表;④的 λ 推导 → analysis「默认根数值如何锚定」 |
|
||||
| 验收标准:测试口径 / 夹具与种子 / 致命 manifest | analysis 附录 E(验收执行规格;夹具根名与 manifest 行名不变,AC 表引用不失联) |
|
||||
| 验收标准:API 面 / AC ×21 | design 验收标准(AC 编号不动、全文保留) |
|
||||
| 覆盖矩阵(Core Rules/Formulas/Edge Cases/上游承接/覆盖口径) | analysis 附录 C |
|
||||
| 缺口预检 ×11 | analysis 附录 B |
|
||||
| 开放问题 OQ1–OQ7 | analysis 开放问题(编号保留)+ NQ-1–NQ-7 待拍板 |
|
||||
| 版本历史(六行) | design 版本历史(原六行 + v2 迁移行) |
|
||||
@@ -0,0 +1,224 @@
|
||||
# D1 HUD 与界面框架 设计推演
|
||||
|
||||
> 状态:concluded(未闭合项见文末「开放问题」)· 本文只装"为什么"——`design/gdd/d1-hud-framework.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
|
||||
## 问题 1:为什么 D1 必须作为独立的零玩法状态呈现层系统存在?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:不设独立呈现层系统,呈现义务散落在各玩法 GDD——收益:少一份文档;代价:27 项跨系统呈现义务没有单一兑付点,A2 的三事件流没有读者、B1 的流水协议没有呈现面,"自动战斗沦为无聊过场"(game-concept 已识别风险 #1)的防线无人承载。
|
||||
- 候选 B:呈现层自持部分玩法状态(如本地缓存棋盘、自判合法性)——收益:刷新链路短;代价:与核心双事实源,呈现失真(雾格显影 / 拒绝吞掉 / 格态混淆)直接杀死 P1"我算对了"的感知面。
|
||||
- 候选 C(采纳):独立 D1,零玩法状态、零写、零 RNG,只读经成文呈现面、写经组合根。
|
||||
|
||||
### 深度分析
|
||||
|
||||
垂直切片两起呈现层崩溃暴露"已定稿 AC 全覆盖 core、呈现层零测试承载"的系统性盲区:① 窗口载荷缺字段直接崩溃(信号参数无运行时类型检查);② battle_finished 后读已销毁对象。这两起不是偶发 bug,而是"呈现层没有成文契约"的结构性后果——信号载荷 schema、场景级测试、信号时点状态可见性必须升格为系统级硬性要求。
|
||||
|
||||
美术侧同理:art-bible §4.6 图标键契约已冻结(键与通道分配定稿、终稿美术归样张批),样张未制作不阻塞 D1 的前提,是呈现层以程序化占位先行并在契约层登记键位映射——这也只有独立系统文档能承载。
|
||||
|
||||
### 综合判断
|
||||
|
||||
D1 独立成系统,定位 Layer 4 Presentation、零玩法上游假设。design 件的系统范围、规则 1–4 / 17–20 与 27 项义务台账即本结论的落点。
|
||||
|
||||
## 问题 2:为什么界面只当翻译不当裁判、听消息只走中转、读数走白名单?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 订阅形态候选:呈现层直订 A2/A3 事件(收益:链路短;代价:违反 ADR-0001,呈现层与玩法系统多点耦合,事件语义漂移直接打进视图)vs 只订 B1 步骤流 + runner 信号、其余经组合根转发(采纳)。
|
||||
- 刷新形态候选:纯事件驱动(代价:旗插拔/移动/AP/RAP/库存等动作零事件外发或零推送,纯事件驱动必然漏刷新)vs 命令式回执双通道(采纳:动作调用一返回,组合根立刻重查只读面刷新界面,不干等通知)。
|
||||
- 取数形态候选:自由读核心字段(代价:封装破碎、接口漂移不可追踪)vs 成文读数白名单、登记 registry `d1_presentation_surface`(采纳)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
ADR-0001 明确"信号参数无运行时类型检查"——契约只能靠成文 schema + 消费侧逐字段断言兜底,这是规则 17 十三项载荷表双重用途(实现契约 + 消费断言)的直接成因。battle.md §Events Fired 的"呈现订阅 A2 三事件"表述与 ADR-0001 有措辞差,本系统按 ADR-0001 收窄为"经组合根转发或命令式回执"(冲突清单⑥,battle.md 正文不改动,复检批对齐)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 1–4、17、18 即本结论:零玩法数值字面量、零规则逻辑、零核心写调用(唯一发生在组合根)、零 RNG、零直订 A2/A3、禁回读核心生命周期状态。
|
||||
|
||||
## 问题 3:移动路径预览为什么是"合法性指示"而不是穿行动画?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:穿行动画轨道——收益:方向感强;代价:移动免费且高频,每次移动都付动画时间税,违反点击摩擦护栏(P4 ≤2 观测假设的承载面)。
|
||||
- 候选 B(采纳):悬停即画 `compute_move_path` BFS 路径蓝细线点迹(合法性指示)+ 执行时 ≤150ms 短滑。
|
||||
- 关联候选:点击远格自动"先移动再挖"复合意图——不采纳:移动免费高频,两击的摩擦符合观测假设;留 playtest 验证(A2 评估项留痕)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
预览与执行必须同源(同一 `compute_move_path`,不可达返回空即预览不显示 + 禁止光标),否则"画出来的路"与"走出来的路"可能不一致,合法性指示反而成了谎言。F4 语义序仲裁退为防御性兜底,是因为单意图帧 + stop 终结当帧收集的纪律使生产面造不出会乱序的输入(联合清图让位条款生产面不可达)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 7、8 即本结论;短滑时长留痕 playtest 观测(battle.md OQ5),旋钮 = move_slide_ms,若反馈"移动太瞬"再议。
|
||||
|
||||
## 问题 4:棋盘格尺寸为什么是两档定值而不是一条闭式公式?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:单一闭式 floor(可用高度 ÷ N)——收益:一处公式;代价:固定边距下无法同时得出 36 与 45 两档(见深度分析)。
|
||||
- 候选 B(采纳,评审后用户裁决方案 A):cell(12)=36px、cell(10)=45px 两档定值(battle.md 拍板),公式退为装板期可行性校验器(违例 fail-fast)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
反证:cell=36 要求可用高度 ∈ [432,443]、cell=45 要求 ∈ [450,459]——两区间不相交,任何固定 pad 的闭式都无法同时落进两个区间。两档值来源是 battle.md 拍板("格 36–45px 见方"两端),不是几何推导的产物;因此 F1 的正当形态是界限断言 + 可行性校验,而非闭式导出。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件 F1 节即本结论:两档定值 + floor(min(D_w − pad_h, D_h − ap_bar_h − pad_v) ÷ N) ≥ cell(N) 且 cell(N) ∈ [30,45] 装板期断言;数字字号 = max(18, ceil(cell × 0.5))。
|
||||
|
||||
## 问题 5:结算明细为什么逐行念账、未生效行为什么不静默、极性为什么按键判?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 明细形态候选:聚合摘要(收益:干净;代价:玩家无法把每一分收益对回自己哪一步扫雷决策,P2 规划延迟兑现的呈现半边断裂)vs 逐行流水 + 每行来源标注(采纳)。
|
||||
- 未生效行候选:静默吞掉(代价:voided 不提示 = 读感欺骗;零值行被吞 = 兑现不可对账)vs 聚合计数呈现 + 形状冗余(采纳——防逐行惩罚轰炸,且非色相独载)。
|
||||
- 极性判别候选:按 magnitude 符号(反例:负值增益存在)或按 pool 归属(反例:enemy_output 池两向并存)vs 键级极性表(采纳:attack_up/defense_up/weaken 有利、ambush 有害)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
效果行 value 与 pool_value 必须两列分示、禁相加——否则"−130%×2 行 = −260%"的误读必然发生。P2 裁剪判据的最后半米由呈现层走完:行协议 13 类封闭枚举(B1 Core Rule 14)已经把归因字段备齐,呈现层唯一不能做的就是"替玩家省略"。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 11、12 及其实现参照表即本结论;高光使用规则 = 事件型用独立高光行、属性型强调用行字段标记,庆祝不打在空兑现上(完美排雷首份即零兑付不发高光)。
|
||||
|
||||
## 问题 6:轮末道具窗口为什么在道具栏原地亮起、有库存恒弹?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:中央弹窗——代价:打断结算流的视线连续性,与"结算期原地展开明细"的双舞台常驻形态矛盾。
|
||||
- 候选 B:常驻库存条非模态——代价:窗口锚点的"至多选一件"承诺感消失,选用/跳过不成决策节点。
|
||||
- 候选 C:仅可用品触发——代价:usable_now 之外的库存信息(未选用件政策注记)失去例行曝光位。
|
||||
- 候选 D(采纳):E 区原位激活、MVP 有库存恒弹(battle.md 布局决策 D2);候选 B/C 归垂直切片留痕(B4 D1 义务②注记)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
原位激活的配套纪律来自切片教训:窗口激活期间必须跳过常读条全量重建——全量刷新会冲掉窗口态(entry 36);空库存直接 skip 不弹窗、窗口标记照常登记(回放输入完整性归 B1),结算零停顿。去饱和 + 金橙色相偏移是 art-bible §2 明度恒定硬规则的合规化实例:锁输入的表达只经色相/饱和,不靠变暗。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 13 即本结论:原位激活、至多选一件、提交窗口条目位置序(非库存句柄——切片缺陷④契约修正)、跳过恒在、政策注记常驻。
|
||||
|
||||
## 问题 7:零合法板为什么只做诚实提示?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:提示(采纳)——B1 上抛非法产物标记 → toast 诚实提示(非模态、不打断)。
|
||||
- 候选 B:补偿——补偿逻辑归 B1 域外,D1 无权发明玩法补偿。
|
||||
- 候选 C:确定性回退已知好种子——实现期 ADR 候选(A1 OQ2 关联),不是 MVP 面向玩家的形态。
|
||||
|
||||
### 深度分析
|
||||
|
||||
玩家永不卡死已由 A1 验收三分支保证,D1 面对的不是"救场"问题而是"诚实"问题:非法产物到达玩家眼前时,静默是读感欺骗,提示是体验债的诚实兜底(原"玩家不可见遥测域"口径由本条承接闭合)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
边界情况表"零合法板"行即本结论:MVP 面向玩家的形态 = 仅提示(B1×3③ / A1 EC5,AC-19 注入腿承载)。
|
||||
|
||||
## 问题 8:体验锚点与美术解耦如何论证?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 参考感受:Into the Breach 的格内信息分层(预告上格——威胁画在格子上)+ 杀戮尖塔的逐卡结算反馈。
|
||||
- 美术解耦候选:等终稿美术再开工(代价:样张批阻塞整个呈现层)vs 程序化占位先行(采纳:用代码按冻结色板与形状规则直接画出临时图形,终稿到位后原位替换、数据层零改动、零运行时换图)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
P1 感知面:规则层的诚实(A2 数字恒真、三源拒绝)必须由呈现层原样送达——任何呈现失真(雾格显影 / 拒绝吞掉 / 格态混淆)= P1 的死亡体验。P2 呈现半边:逐行归因是"这个结果是我哪步扫雷带来的"的唯一兑现形态。P4 容器:挖掘期画面无杂音(能量 2/10,唯一在动 = 悬停呼吸微光)→ 结算期金橙光带逐行横扫(7/10)→ 清图金粒喷泉短促丰收(8/10)→ 失败暮蓝最静一拍(1/10),§2 能量档与明度恒定硬规则由 D1 的转场与反馈系统承载。高光节拍是 P2 爆发兑现节点(创意风险 #2 落点):完美排雷全屏喝彩 + 标中旗金框行 + H2 金框。
|
||||
|
||||
反向护栏:界面绝不替玩家思考(不预判合法点击以外的东西)、绝不静默改判(voided 不提示 = 读感欺骗)、绝不用装饰伪装逻辑差异(art-bible 原则三)——玩家对 D1 的正确感觉是"一块干净的玻璃":看穿它直接看到棋局与战果,玻璃本身不添乱。占位图同样过硬指标的理由:色板参数域从结构上保证(底足够亮、墨足够深),数字可读性 ≥4.5:1 对程序化占位同样适用;样张定稿 = 砖面形态与色板的冻结闸、终稿资产开工的前置,样张批不阻塞 D1 其余全部验收。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件设计目的的五条体验承诺、规则 19、规则 22 与 Visual/Audio 执行锚点表即本结论。
|
||||
|
||||
## 附录 A:切片教训三条硬性要求落位表(entry 17——门禁评审核对项,缺项即 blocking)
|
||||
|
||||
| # | 硬性要求 | 落位 |
|
||||
|---|---|---|
|
||||
| ① | 面向呈现的信号载荷成文 schema | 规则 17(13 项载荷表——A2 三事件/B1 行协议引用 + D1 自有遥测成文 + 零事件外发命令式刷新面成文) |
|
||||
| ② | 场景级 headless 测试进 AC | AC-19 起场景级硬性块(真实实例化战斗屏场景 + 驱动完整对局 + 断言零脚本错误;载体 = 场景探针,ADR-0004 双载体、gdUnit4 deferred) |
|
||||
| ③ | 信号时点状态可见性规则 | 规则 18(销毁前捕获 / 载荷自包含 / 禁回读核心生命周期态)+ AC-20 断言 |
|
||||
|
||||
## 附录 B:覆盖矩阵(门禁评审用——编号沿用 design 件现行节名)
|
||||
|
||||
| 类别 | 映射 |
|
||||
|---|---|
|
||||
| Core Rules | 1–4→AC-19/24/25 · 5→AC-1 · 6→AC-10 · 7→AC-6/7 · 8→AC-6 · 9→AC-4/5 · 10→AC-9 · 11→AC-12/15 · 12→AC-11 · 13→AC-13 · 14→AC-14 · 15→AC-4/11 · 16→AC-8/16/17 · 17→AC-24 · 18→AC-20 · 19→AC-15(键位)/样张引用 · 20→AC-25 · 21→AC-21 · 22→AC-23/26 |
|
||||
| Formulas | F1→AC-2 · F2→AC-3 |
|
||||
| Edge Cases | 全表→AC-4/6/8/10/11/13/14/16/17/21/22/23/15(拒绝与 voided→AC-8 及探针负例;零合法板→AC-19 注入腿;双雾区→AC-4/11 腿) |
|
||||
| 义务台账 | 27 项→design 件「呈现义务台账逐项落位表」逐行 |
|
||||
| 切片教训 | 3 项→AC-19/20/24 + 规则 17/18 |
|
||||
|
||||
## 附录 C:发现冲突清单(列示待裁决——不改已定稿 GDD 正文与提案)
|
||||
|
||||
| # | 冲突 / 待对齐项 | D1 侧处置 |
|
||||
|---|---|---|
|
||||
| ① | game-concept 视觉锚原则 1"暗色地牢底色" vs art-bible 明亮底色反转 | 在案(entry 41)——概念侧注记待概念层修订批;D1 全部取色按 art-bible |
|
||||
| ② | B2 GDD 敌种键 {grub, ambusher} vs 切片 DND 更名 {goblin, bugbear, ogre_chief} | 键位映射表以 GDD 键集为锚(§4.6.4 冻结);切片更名随 B2/C3 修订批对齐 |
|
||||
| ③ | B4 GDD 默认根 clear_knife vs 切片供给控制器批 clear_blast + active_inject 池 | 徽章键按 reward_id 冻结、池归属不影响键(§4.6.2 注记);clear_blast 键并列预留、启用随 B4 修订批 |
|
||||
| ④ | 极性提案 §3.5 跨文档回写清单全部待实施批(B3 四行→七行、B4 schema 扩列、A2 OQ1 关闭、D1 义务条目正式登记〔未开格类型图标/极性视觉语言/负向文案族〕) | 本 GDD 已按 §4.6 冻结键预留槽位;义务条目登记随提案实施批入 systems-index D1 台账 |
|
||||
| ⑤ | art-bible §4.6.3"全部未开格呈现类型徽章"(提案 R3)vs B4 Rule 8"未开格身份 MVP 不呈现" | D1 裁决:MVP 格面徽章只在已开格呈现(B4 Rule 8 为现行锁定规则);未开格预读随极性提案实施批(其机制前提 = cell_type/pool_tag 扩列)随批修订 |
|
||||
| ⑥ | battle.md §Events Fired"呈现订阅 A2 三事件"表述 vs ADR-0001 订阅纪律(呈现层只订 B1/runner) | 本 GDD 按 ADR-0001 收窄(规则 2);battle.md 复检批对齐措辞(正文不改动) |
|
||||
| ⑦ | A3 只读观测量(ap/rap/phase/last_round_end)缺轮内已用刷新次数——刷新按钮"本轮剩 N 次"读数无上游供给 | 接口漂移登记义务(OQ2):A3 随批补只读观测量;落地前按钮显示退化为"RAP−{rap_refresh_cost 表读值} · 每轮至多 2 次"静态文案 |
|
||||
| ⑧ | 切片已实现的 B1/B2 呈现面 API 未在 owner GDD 登记契约:B1 面 `presentation_snapshot` / `is_battle_live` / `stock_count` / `query_reward_identity` / `submit_window_selection` + `settlement_snapshot` 信号、B2 面 `hero_unit` / `all_enemies`(registry `d1_presentation_surface` 已成文——owner=D1,切片事实转正) | OQ3:现行消费以 registry 条目为契约(D1 消费 = 步骤流判定行 + `presentation_snapshot()`,零阻塞);回 B1/B2 修订批补登记 API 面(接口漂移) |
|
||||
|
||||
## 附录 D:审计注记(评审元数据,不入 design 正文)
|
||||
|
||||
- 复核注记:solo 模式下 creative-director(体验锚点情绪定位——与 battle.md Purpose & Player Need 同源,design 件设计目的为其系统级转写)与 art-director(Visual/Audio 与 art-bible 一致性)未经咨询——生产前人工复核。呈现义务承载依据 = `design/ux/battle.md`(APPROVED,§13 台账 27 项经 ux-review 实存验证)+ `design/art/art-bible.md` §1–4。
|
||||
- 上游状态:A1–B4/B1 + D2 全部 Approved(C3 为 Designed 未经评审——D1 零玩法消费;battle.md APPROVED · art-bible §1–4 定稿)——项目首个零玩法上游假设的表现层系统。
|
||||
- 归属声明:屏级布局、组件形态、交互细节、动画时长的裁决权威 = `design/ux/battle.md`(APPROVED)——本 GDD 引用其裁决不重复论证,只做三件事:① 升格为系统级规则与 AC;② 补齐 spec 之外的系统级契约(信号载荷 schema / 订阅纪律 / 程序化占位 / 命名统一 / 遥测);③ 逐项落位 27 项门禁义务。
|
||||
- 命名统一核销 = session-state entry 35(AC-25 grep 断言承载);读接口白名单转正 = 封装收口批 entry 39/40;敌卡就地更新与窗口态 stomped 教训 = 切片 entry 36。
|
||||
|
||||
## 开放问题
|
||||
|
||||
| # | 悬案 | owner | 时机 |
|
||||
|---|---|---|---|
|
||||
| 1 | _draw 迁移复议(ADR-0003 Decision 3 的 D1 裁决登记):MVP 维持 GridContainer + 逐格控件(裁决依据:呈现层程序化占位、样张未定稿、雾纹理/终稿表现力需求未冻结、三探针与现形态耦合〔改造 = 隐藏成本〕)——样张定稿后按表现力需求(biome 色板/雾纹理/动效复杂度)复议二选一;若迁移,`Viewport.push_input` 端到端探针从加分项变必需项(ADR-0004) | D1 复议批 | 样张定稿后 |
|
||||
| 2 | A3 轮内刷新次数读数(接口漂移登记):刷新按钮"本轮剩 N 次"需要 A3 暴露轮内已用刷新计数(现只读观测量 ap/rap/phase/last_round_end 未含)——A3 修订批补只读观测量 + AC 前言扩列;落地前按钮退化为静态文案"RAP−{rap_refresh_cost 表读值} · 每轮至多 2 次" | A3 | 正式实现接线批 |
|
||||
| 3 | B1/B2 呈现面 API 契约登记(冲突⑧扩条):切片已实现的 `presentation_snapshot` / `is_battle_live` / `stock_count` / `query_reward_identity` / `submit_window_selection`(B1 面)+ `settlement_snapshot` 信号 + `hero_unit` / `all_enemies`(B2 面)均未在 B1/B2 GDD 登记——registry `d1_presentation_surface` 为现行契约载体;回 B1/B2 修订批补登记 API 面,独立信号需求随批裁决(接口漂移) | B1 / B2 | B5 GDD 前 |
|
||||
| 4 | battle.md 订阅表述对齐(冲突清单⑥):ADR-0001 订阅纪律(呈现层只订 B1/runner)与 battle.md §Events Fired"A2 三事件呈现订阅"的措辞差——本 GDD 按 ADR-0001 收窄;battle.md 复检批对齐 | battle.md 复检 | 下次 /ux-review |
|
||||
| 5 | Gamepad 焦点序(battle.md OQ8 继承):Partial 支持非 MVP——焦点环顺序待 gamepad 批次 | gamepad 批次 | gamepad 批 |
|
||||
| 6 | 相邻域屏 spec(battle.md OQ9 继承):`design/ux/node-reward.md` / `design/ux/level-clear.md`——本 GDD 只锁出口锚点(节点奖励覆盖层 / 关卡结算屏的完整形态归后续 spec) | 后续 spec | 垂直切片后 |
|
||||
| 7 | accessibility-requirements.md(battle.md OQ2 继承):正式分层(文本缩放/色盲模式/按键重映射)待该文档定稿——gate-check Pre-Production 缺口在案 | 该文档定稿批 | 文档定稿 |
|
||||
| 8 | 键集扩容流程锚定:新 effect_id / reward_id / enemy_id / cell_type 上线 → art-bible §4.6 修订 + SettlementTable effect_pool_map 随批登记(接口漂移双登记——本 GDD AC-15 fail-fast 强制暴露漏登记) | art-bible / D2 修订批 | 键集扩容时 |
|
||||
| 9 | 极性提案实施批的 D1 义务条目(冲突清单④):未开格类型图标 / 极性视觉语言 / 负向文案族按提案 §3.5 正式登记入 systems-index D1 台账(本 GDD 已预留键槽位与裁决⑤) | 极性提案实施批 | 提案实施批 |
|
||||
| 10 | 明细带挖掘期常驻摘要(battle.md OQ6 继承):常驻(现方案)vs 结算后收起——playtest 观测回看频率后裁决 | playtest 后裁决 | 垂直切片 playtest |
|
||||
| 11 | D5 教学挂靠(battle.md OQ13 继承):挖到雷=敌方优势 / 旗挡链 / 首次蓄力提示 / 囤刀闭环——toast 体系为落点候选,D5 GDD 批定 | D5 | D5 GDD 批 |
|
||||
| 12 | TunePanel 退役时点(battle.md OQ10 继承):C4 天赋树落位批退役(规则 21 已标注);Playtest 诊断按钮保留 | C4 | C4 落位批 |
|
||||
|
||||
## 去向映射(零丢失可审计证据)
|
||||
|
||||
| 原文章节 / 表 | 落点 |
|
||||
|---|---|
|
||||
| 头部块(状态/版本/支柱/层级/一句话) | design 头部块 |
|
||||
| 头部复核注记 / 上游状态行 | analysis 附录 D |
|
||||
| 速览表(定位/拥有/不拥有/上游输入/下游输出/硬约束) | design 设计目的 / 系统范围 / 依赖与输出 |
|
||||
| D1 的存在理由(四条) | analysis 问题 1 |
|
||||
| 体验锚点表 + 直接承载/参考感受/反向护栏 | design 设计目的(承诺形态)+ analysis 问题 8(论证) |
|
||||
| 全局流程(呈现刷新链路字符画 + 出口分发表) | design 核心循环 |
|
||||
| 核心规则归属声明 | analysis 附录 D(权威优先句入 design 依赖与输出引言) |
|
||||
| 规则 1–4(边界/订阅/读面/写通道) | design「呈现边界与数据通道」 |
|
||||
| 规则 17 / 18 / 20(载荷 schema / 快照纪律 / 命名统一) | design「呈现边界与数据通道」;切片崩溃机理与 ADR 论证 → analysis 问题 2 |
|
||||
| 规则 5 / 6 / 21 + 五区布局表 + 敌卡六件套 + 意图线索映射目录 + 战斗屏状态机 | design「战斗屏布局与组件」 |
|
||||
| 规则 7 / 8 / 9 / 15 + 四种格态 / 光标语义 / hint_id / 拒绝与 voided 映射 | design「挖掘输入与棋盘可读」;穿行动画与复合意图取舍 → analysis 问题 3 |
|
||||
| 规则 10 / 11 / 12 / 13 + 三张实现参照表 | design「信息与归因呈现」;逐行归因/极性判别/窗口候选论证 → analysis 问题 5、6 |
|
||||
| 规则 14 / 16 / 19 / 22 + 终局反馈表 + Visual/Audio 锚点表 + 边界情况表 | design「提示·终局反馈·美术与可访问性」;占位解耦论证 → analysis 问题 8 |
|
||||
| 枚举·ux 遥测行族 | design 规则 17 载荷表 #13(字段与值域在该行展开) |
|
||||
| 数值结论与推导(F1 / F2 / 显式排除声明) | design「呈现几何与可读性判据」;F1 定值 vs 闭式论证 → analysis 问题 4 |
|
||||
| 状态(战斗屏状态机 + 不变式) | design「战斗屏布局与组件·战斗屏状态机」 |
|
||||
| 边界情况表(20 行) | design「提示·终局反馈·美术与可访问性·边界情况」;零合法板三形态选型 → analysis 问题 7 |
|
||||
| 依赖表 + 索引分层注记 | design 依赖与输出 |
|
||||
| 呈现义务台账逐项落位表(27 项,活契约) | design 依赖与输出 |
|
||||
| 意图线索映射目录(B2×4① 成文载体) | design「战斗屏布局与组件」 |
|
||||
| 切片教训三条硬性要求落位表(审计映射) | analysis 附录 A |
|
||||
| 发现冲突清单(8 项) | analysis 附录 C(未闭合项同时以 OQ2/3/4/9 入开放问题) |
|
||||
| Tuning Knobs(8 knob + 非 knob + 性能预算 + 交互 + 调参流程) | design 调参表 |
|
||||
| Visual/Audio 要求 + Asset Spec 注记 | design「Visual/Audio 执行锚点」 |
|
||||
| UI 要求(权威 spec / UX Flag / pattern 库 / accessibility / 场景探针) | design 依赖与输出「屏级 spec 与配套文档」 |
|
||||
| 验收标准(测试口径 + AC-1–26) | design 验收标准(编号不变) |
|
||||
| 覆盖矩阵(门禁评审用) | analysis 附录 B |
|
||||
| 开放问题 OQ1–12 | analysis 开放问题(编号不变) |
|
||||
| 版本历史(v1 / v1.0-lean / v1.1) | design 版本历史(原行全保留,追加 v2 迁移行) |
|
||||
@@ -0,0 +1,196 @@
|
||||
# D2 数据配置与数值表 设计推演
|
||||
|
||||
> 状态:concluded(未闭合项见文末「开放问题」)· 本文只装"为什么"——`design/gdd/d2-data-config.md` 只收本文的结论。
|
||||
> 修订时新增问题节,不删旧节(历史即依据)。
|
||||
|
||||
## 问题 1:为什么要有 D2——数值集中一处、schema 先行、单点发放?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:参数随各系统代码硬编码——收益:少一层间接;代价:调一次难度要改五处代码、战斗无法用固定种子复现、headless 自动化测试无从谈起。
|
||||
- 候选 B:集中数值表但允许多入口读取——代价:副本绕过校验,热重载换新值时副本不知情,单一事实源名存实亡。
|
||||
- 候选 C(采纳):数值表单一事实源 + ConfigDB 单点类型化读取 + schema 先行、数值回填。
|
||||
|
||||
### 深度分析
|
||||
|
||||
schema 先行使 D2 能在设计顺序第 1 位交付而不阻塞下游:结构(自定义 Resource 类,字段带类型/范围/默认/注释)由 D2 定死,数值由 owner 系统 GDD 按设计顺序回填——先有格子、后填数字。本 GDD 只定数据结构、注册表与校验模式,不替任何系统定平衡。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件设计目的、系统范围与规则 1/2/3 即本结论:玩法数值零代码字面量、取数只经 ConfigDB、全部表两件套交付。
|
||||
|
||||
## 问题 2:为什么 fail-fast 无软回退、唯一软着陆只给 debug 热重载?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:软回退(出错用默认值或上一好值带病运行)——代价:错误数值上线比崩溃更伤(P1/P2 信任底线),且放行带病数值会使 CI 冒烟失去意义。
|
||||
- 候选 B(采纳):加载期与运行期一律致命中止;唯一例外 = debug 热重载校验失败时保留旧表停留 Ready——不杀运行中的调试会话。
|
||||
- 校验通道候选:单通道(测试侧无法断言致命路径——Godot 无进程内拦截 push_error/push_warning 的 API)vs 校验双通道 collect_only(采纳:游戏通道致命、测试通道收集不升级,诊断收集器承载冒烟断言与四元组去重状态)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
release 构建的致命表现(引擎默认错误路径的实际行为)尚未验证,显式 deferred 到首次 release 导出 checklist——设计顺序第 1 位时无导出模板可依赖。headless 下走 `--script` 协议独立进程非 0 退出,因为同阶段无主场景可依赖,脚本须 extends SceneTree 以获得 quit(code)、autoload 须由脚本显式实例化。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 6、校验双通道表、状态机 Failed 两路径与 EC16 即本结论;校验严格度不设 knob(fatal 写死)。
|
||||
|
||||
## 问题 3:难度行解析为什么 floor + warning、无兜底无外推?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:default 行兜底——代价:配置缺口被静默吃掉,难度断档不可见。
|
||||
- 候选 B:clamp / 线性外推——代价:超表成长语义是 C3 owner 公式的职责,D2 越权定义成长。
|
||||
- 候选 C(采纳):floor 到不超过请求坐标的最近已有行 + 非精确命中记 warning(四元组去重);实体键精确匹配不近似;越域请求由前置守卫致命拦截。
|
||||
|
||||
### 深度分析
|
||||
|
||||
核心判据:进度坐标可以就近近似,"是哪种敌人"不能近似——身份近似会静默改变遭遇构成、损害 P2 归因。warning 定位是开发期异常信号而非审计工具(防刷屏去重是刻意的);难度审计由离线曲线导出工具承担(headless 导出 resolve(level 1..N × depth 0..M) 矩阵供 diff,C3 期交付——排期倒挂见开放问题 #5)。depth 分量永不 ceil 的保证来自 EC15 锚行校验:防"入口天灾"(入口请求静默 floor 到深行造成难度突刺),写死开、非 knob,重议须走本 GDD 显式修订流程。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件「难度行解析」的 R1 结论与表达式、missing_type 枚举(base_ceil 恒记规则由本分类推导)与 EC4/EC5/EC14/EC15 即本结论。
|
||||
|
||||
## 问题 4:流种子派生为什么是纯函数、为什么不用运行时 hash()?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:运行时 `hash()` 混合流名——代价:Godot 不承诺 hash 跨版本稳定,黄金向量与跨版本复现失去意义。
|
||||
- 候选 B:scope 自增值直接作种子——代价:同 master_seed 下不同流的同序号 scope 互相碰撞。
|
||||
- 候选 C(采纳):`( SALT_s XOR wrap64(master_seed + scope × GOLDEN_RATIO) ) AND 0x7FFFFFFFFFFFFFFF`——每流互异奇盐、黄金比例乘数、wrap64 自然回绕、掩码收尾。
|
||||
|
||||
### 深度分析
|
||||
|
||||
中间积本就越界(乘数 0x9E3779B97F4A7C15 > 2^63,scope=1 即回绕)——这是设计依赖的语义而非缺陷,故禁止 float 中间量(53 位尾数必丢精度)、禁止对中间量用 `%`(带符号取余语义易误用)、禁止"主动修复溢出";三个常量均 ≥2^63,GDScript 十六进制字面量按二补数解析为负,故统一用分段表达式书写。跨 master_seed 的全局单射由鸽笼原理数学排除,不做声明。INT64_MIN 致命而非归一化:abs 在 int64 对 INT64_MIN 恒等回绕,输出掩码抹掉 bit 63 使其与 0 静默别名(实测与 0 在全流种子逐一相等——掩码本身是规约的一部分);负 scope 同理会与 scope+2^63 经掩码别名,故 debug 断言中止。计数器永不重置、不随关卡/图序重置——否则不同关卡的同序号图会得到相同种子;set_master_seed 仅许全流计数器全零时调用——冒险中途重播种会静默清零计数器,击穿同冒险无碰撞前提与 D3 快照语义。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件 R2 结论、公式、实现级规约三行、黄金向量表(AC-3 常量依据,经独立复算验证)即本结论;状态线独立不变式(reload 不触碰 RNG——若按状态机对称性在 reload 时重置 RNG 将击穿 AC-4)同理成立:派生只依赖盐/master_seed/scope,与表数据无关。
|
||||
|
||||
## 问题 5:RNG 为什么封闭三流、增流为什么要过 P1 评审?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 候选 A:各系统自建 RandomNumberGenerator / `randomize()`——代价:不可复现,回放/审计/自动化测试全废。
|
||||
- 候选 B:流自由注册——代价:流复用破坏可复现隔离,未知名流静默产生。
|
||||
- 候选 C(采纳):封闭具名流(board_gen / reward_roll / encounter),增流 = 改代码 + P1 支柱评审(随机须有界、可见或可推理)——有意设卡。
|
||||
|
||||
### 深度分析
|
||||
|
||||
三流的 scope 事件绑定是各自消费者契约的一部分:board_gen = 每次生成新扫雷图(A1 换图时);reward_roll = 每次 board install 批(格奖励批 + 清图奖励批,B4 AC-1 为契约源);encounter = 每场战斗实例化恰一 scope(begin_battle 实例化期、扫雷开始前——unit_count 区间均匀骰在挖掘决策域之外,P1 合规;C3 遭遇随机化批增流,registry 已登记)。`derive_at` 纯函数不推计数器——预览取数不污染正式序列,杜绝预览类取数的平衡 Heisenbug。同帧多系统请求同一流允许(EC13):Godot 主线程玩法逻辑单线程假设成立,`open_stream` 各自取号按调用顺序串行生效,不引入锁。玩法随机(如结算浮动)D2 不预置——任何系统若需要,自带方案走增流通道并通过 P1 评审(原 R4 显式排除裁决:玩法平衡公式与玩法随机都不在 D2,归 owner 系统 GDD)。
|
||||
|
||||
### 综合判断
|
||||
|
||||
规则 5、封闭流表、取数入口表与 EC12/EC13 即本结论;combat_var 类玩法随机预置流不设基础设施。
|
||||
|
||||
## 问题 6:debug override 链为什么是这五条边界?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 覆盖位置候选:各系统自读 override 源——代价:gameplay 可见 override 来源、多点校验漂移;采纳 = 覆盖判定与存储内聚 ConfigDB(规则 2 单点)。
|
||||
- key 空间候选:任意路径含进度表行寻址(如 `difficulty.(2,0).hp`)——v1 收窄为仅单行全局表字段,行寻址语法登记为后续扩展。
|
||||
- release 形态候选:运行时碰巧不生效——采纳 = 结构性不存在(不加载、不注册任何 override 源,恒等是结构保证)。
|
||||
|
||||
### 深度分析
|
||||
|
||||
override 值类型与范围复用 schema 校验逻辑——防止 debug 会话注入越界值污染平衡基线(EC11);未知 key 同样 warning + 忽略。debug 谓词做成可注入形式(`OS.is_debug_build()` 之外引入 feature 标签闸,例 `sim_release`),AC-8 的模拟以此为基础;"release 不加载 override 源"的结构保证验证本身 deferred 到首次 release 导出 checklist(AC-18)。override 仅为运行时状态,永不回写 .tres。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件 R3 结论与边界五条即本结论。
|
||||
|
||||
## 问题 7:体验锚点论证——"玩家永远不该注意到的地基"凭什么撑 P1/P2?
|
||||
|
||||
### 广度分析
|
||||
|
||||
- D2 无专属玩家幻想:P1"我算对了"的掌控感来自 A1/A2 可推理设计,P2 的延迟兑现感来自 B1 可见结算;D2 只提供三种消极保障。
|
||||
- 手感稳定("改数字不改代码"):全部影响手感的数字集中一处可调 + 热重载即改即验——"测试数据驱动平衡"的开发方式,任何"这轮玩起来不对劲"都能快速修正且不引入新毛刺。
|
||||
- 公平可信("同决策必同结果"):可复现是开发侧信任底线(回放/审计/自动化测试),不等于玩家侧可推理;玩法随机零预置(走增流通道 + P1 评审)。
|
||||
- 难度可信(P4,"越下越险由结构保证"):数值表天生带(关卡序号, 节点深度)两维——难度曲线可审计、可回溯,而非散落各处的魔法数字。
|
||||
|
||||
### 深度分析
|
||||
|
||||
难度第三轴"精英/Boss 修饰"已定稿难度 = f(关卡序号, 节点深度, 精英/Boss 修饰)(game-concept),但修饰语义归 C1/C3——D2 只做 DifficultyTable 的 elite_/boss_ 前缀命名空间预留与 Boss=Dmax 行约定,不定义任何修饰数值、不预写修饰枚举;两键定不了精英性的节点形态(如分支地图同深度并存精英与普通节点)允许改键,按接口漂移修订规则回写(与 MetaTable 同等豁免待遇);A1 OQ6 是 C1 定稿时的强制重审门。DifficultyTable 乘数域 [0.1,10] 已 registry 预登记;越域 clamp+warning 是 registry 登记的显式例外——组合事故非配置事故,非 fail-fast 场景。
|
||||
|
||||
### 综合判断
|
||||
|
||||
design 件设计目的四条承诺、规则 4 轴归宿表与 DifficultyTable 占位行即本结论。
|
||||
|
||||
## 问题 8:已裁决争议与数值锚定论证汇总
|
||||
|
||||
### 广度分析
|
||||
|
||||
- 单行全局表先例链:ActionEconomyTable 立先例 → HeroTable / RewardConfigTable / SettlementTable 沿用(无成长语义的表允许只放一行);MetaTable 为元进度轴豁免,C4 可改键。
|
||||
- weaken = −65(值域 [60,85]——B1 F0 裁决,条款 2 锚闭合);defense_up = −30(减伤墙批 C3 投值,叠满两层 −60 帽——B3/registry 同批)。
|
||||
- HeroTable atk = 6 原型锚(provisional 归 C3);atk = 0 加载拒绝——"0 基线 × 百分比增益恒零"死锁自 schema 层杜绝(基础攻击恒存在,消费面 = 主角战斗段先手攻击)。
|
||||
- RewardConfigTable 标定:active_p0 = 0.4(供给控制器注入概率初值,首件之后每张新板——E[战斗获取] ≈ 1 标定目标,归 C3);active_decay = 0.5 指数递减 0.4→0.2→0.1→…(加难杠杆候选 0.6 随 C3 OQ7 扫描);p_min = 8(默认根最低刀 power——K≥1 供给闸刀力下界 floor_supply_missing);k_dmg = 0 = F5 断言关闭——刀保底语义由供给控制器战斗首件保证取代,no_damage_row 后闸托底。
|
||||
|
||||
### 深度分析
|
||||
|
||||
两处溯源缺口在案:EnemyTable MVP 行值(goblin 18HP / 4ATK 等)出自原型 REPORT、出处待查(义务 #5);HeroTable max_hp MVP 值出处待查(义务 #6)。provisional 值在 owner 定稿前不视为平衡事实;定稿后删除调参表清单对应条目,值的事实登记归 owner GDD 与 registry——已定稿占位参考值(标中旗 / 清图奖励 / 状态四行 / 奖励池等)已随各 owner 定稿清退。
|
||||
|
||||
### 综合判断
|
||||
|
||||
数值事实留 design 调参表与 registry,锚定论证收于本节;胜场成长机制去留(+25% HP / +1 ATK——反雪球问题)仍待 C3 裁决(义务 #7,在案未闭合)。
|
||||
|
||||
## 附录 A:评审与审计元数据
|
||||
|
||||
- 评审:lean 门禁 systems-designer / qa-lead;full 评审 + 同日 re-review 含 game-designer / creative-director,CD-GDD-ALIGN 终裁 Approved——评审日志 `design/gdd/reviews/d2-data-config-review-log.md`。
|
||||
- 双向一致性核对明细(与 systems-index 依赖分层表核对一致):A1←A4,D2 · B2←D2 · B4←D2 · B1←A3,B2,B3,B4,D2 · C2←C3,D2 · C4←D3,C2,D2 · C3←D2,B2 · Foundation 含 D2;C2 / B1 / B4 / C4 ← D2 四条边已补入索引依赖分层表;B4←D2 边已按 B4 定稿收窄——A2 事实经 B1 转化零直接接口、B3 为验收锚关系非运行时边。
|
||||
|
||||
已闭环对账义务(历史审计,design 不再列):
|
||||
|
||||
| 编号 | 内容 | 对侧 | 状态 |
|
||||
|---|---|---|---|
|
||||
| 1 | ActionEconomyTable 跨字段校验(任一动作成本 ≤ ap_per_round)条件性夹具登记 | A3 | 已登记(schema 类别承载,随 A3 冒烟) |
|
||||
| 2 | VariationTable 跨字段校验 hide_numbers⇒safe_nonzero 夹具 variation_mask_constraint | A4 | 已激活 |
|
||||
| 3 | StatusEffectTable effect_id 悬空引用校验(条件性夹具——首个含引用字段的 owner 回填时补) | B3 / B4 | 已激活(B4 defense_up 首引,夹具 b4_dangling_effect) |
|
||||
| 12 | 双向一致性四条边补入索引依赖分层表(C2 / B1 / B4 / C4 ← D2) | systems-index | 已完成 |
|
||||
|
||||
## 开放问题
|
||||
|
||||
| # | 问题 | owner |
|
||||
|---|---|---|
|
||||
| 1 | headless 测试载体终稿:MVP 用 `--headless --script` 冒烟(本 GDD 决策);gdUnit4 是否在 Technical Setup 引入并迁移冒烟用例 | Technical Setup 阶段(systems-index 门禁增补记录项) |
|
||||
| 2 | 编辑器内表文件热重载自动化(当前仅 debug 键触发;低优先) | 未指派 |
|
||||
| 3 | 数值表显示名的本地化 | D6 |
|
||||
| 4 | C4 MetaTable 并入 ConfigDB 还是独立 autoload(倾向并入) | C4 GDD |
|
||||
| 5 | 难度曲线导出工具(R1 审计的离线载体):headless 导出 resolve 矩阵脚本,C3 期交付——排期倒挂:BoardGenTable 可推理率曲线自 A1(第 5 位)起回填,A1 定稿前须有临时抽查载体(入 systems-index 门禁记录) | C3 GDD 登记排期 |
|
||||
| 6 | systems-index 树形概要行仍写"九张表单一事实源",与本 GDD 现行十张表 schema 目录(AuxItemTable 转正后)不一致——索引行归 systems-index 维护批修订,本件不代改 | systems-index 维护批 |
|
||||
|
||||
## 去向映射(零丢失可审计证据)
|
||||
|
||||
| 原文章节 / 表 | 落点 |
|
||||
|---|---|
|
||||
| 头部块(状态/版本/支柱/层级/一句话) | design 头部块;评审行 → analysis 附录 A |
|
||||
| 速览表(定位/拥有/不拥有/上游/下游/硬约束) | design 设计目的 / 系统范围(含硬约束行)/ 依赖与输出 |
|
||||
| 存在理由·策略·定位三行 | design 设计目的 + analysis 问题 1、7 |
|
||||
| 体验锚点表 | design 设计目的四条承诺;论证 → analysis 问题 7 |
|
||||
| 全局流程(三链路字符画 + 出口分发表) | design 核心循环 |
|
||||
| 核心规则 1 / 2 | design「统一取数与调试覆盖」规则 1 / 2 |
|
||||
| 核心规则 3 / 4 + 表形状 / 轴归宿两表 | design「表结构与回填」 |
|
||||
| 核心规则 5 + 流表 / 取数入口表 | design「随机数服务」 |
|
||||
| 核心规则 6 / 7 / 8 + 错误两类表 | design「加载·校验·热重载」 |
|
||||
| 规则 6 实现参照——校验双通道表 | design「加载·校验·热重载·校验双通道」 |
|
||||
| 枚举·十张表目录 / 未回填占位表 / MVP 内容行 | design「表结构与回填」三个子节 |
|
||||
| 枚举·RNG 流 | design「随机数服务·封闭流与取数入口」(与规则 5 流表去重合并,内容一致) |
|
||||
| 枚举·missing_type | design「难度行解析·missing_type」 |
|
||||
| 枚举·致命错误类别 | 并入 design 规则 6 错误两类表(段序违例/池映射悬空/p_perfect 越域三覆盖项并入加载期行) |
|
||||
| 枚举·override key 空间 | 并入 design R3 边界②(key 形态与支持域内容完全重合) |
|
||||
| 数值结论与推导 R1(结论/推导/变量/Example/去重键) | design「难度行解析」(结论 + 表达式 + 变量 + 验算);取舍与审计论证 → analysis 问题 3 |
|
||||
| 数值结论与推导 R2(结论/公式/实现级规约/变量/黄金向量) | design「随机数服务·R2 流种子派生」;机理与候选论证 → analysis 问题 4 |
|
||||
| 数值结论与推导 R3(结论 + 边界五条) | design「统一取数与调试覆盖·调试覆盖链」;候选取舍 → analysis 问题 6 |
|
||||
| 数值结论与推导 R4 显式排除 | design 系统范围不负责清单 + 规则 5 增流通道;论证 → analysis 问题 5 |
|
||||
| 状态(状态机表 + 不变式) | design「加载·校验·热重载·状态机」 |
|
||||
| 状态·RNG 生命周期 / 快照三行 | design「随机数服务·RNG 生命周期与快照」 |
|
||||
| 边界情况 EC1–EC16 | design「加载·校验·热重载·边界情况」(编号不变) |
|
||||
| 依赖表 + 三行注记 | design 依赖与输出;双向一致性核对明细 → analysis 附录 A |
|
||||
| 登记与对账义务 #4–#11(在案) | design 依赖与输出·登记与对账义务表 |
|
||||
| 登记与对账义务 #1 / #2 / #3 / #12(已闭环) | analysis 附录 A |
|
||||
| 呈现与 UI 面 | design「呈现与 UI 面」 |
|
||||
| Tuning Knobs·D2 自身 knobs + 交互 / 清退注记 | design 调参表·D2 自身 knobs |
|
||||
| Tuning Knobs·九张表逐表字段行 | design 调参表·表 schema 逐表字段行 |
|
||||
| 验收标准·测试口径 + AC-1–AC-18 | design 验收标准(编号不变) |
|
||||
| 开放问题 1–5 | analysis 开放问题(编号不变);#6 为本次迁移新登记的跨文档不一致 |
|
||||
| 数值锚定论证(weaken/defense_up/atk/active_p0/p_min/k_dmg 等) | analysis 问题 8(数值事实本身留 design 调参表与 MVP 内容行表) |
|
||||
| 版本历史全部行 | design 版本历史(原行全保留,追加 v2 迁移行) |
|
||||
Reference in new issue
Block a user