170 lines
19 KiB
Markdown
170 lines
19 KiB
Markdown
# AP6+AC 合并批验收判读口径
|
||
|
||
> 一句话:行动点压速批(每轮 8→6)与护甲等级批(d20 掷点折扣)合并落地后的验收判读标准——三个数据源(MC 双档 / 真人基线 / 日志分析器)、两段制判读、一条四级调参阶梯。
|
||
> 状态:**定稿 v1.0(2026-09-16)**——决策点 a–i 经两轮拍板全部落定,记录见 §4;后续修订走版本历史。
|
||
> 口径裁定前提(2026-09-16 测量口径裁定,已拍板):蒙特卡洛 normal 档 = 盲挖策略 = "不会扫雷的玩家"下界,不承载难度语义;perfect 档(零盲挖/全标旗)≈ 真人水平,是强度上界。
|
||
> 本文档独立成文,不改任何既有文件;落批后的登记义务见 §5。
|
||
|
||
## 0. 设计前提:基线是生死带,天赋是出路(2026-09-16 用户拍板)
|
||
|
||
第一关在**基础数值、零永久天赋加成**时,整关承伤分布必须**跨过主角生命上限(50)**:最坏情况承伤 > 50(会死),最好情况 < 50(能活)——即第一关对零加成的合格玩家有实质失败概率(完美档通关率 gate [35%, 65%])。玩家经多次循环解锁永久天赋获得属性加成后,承伤范围整体下移、生命上限也可能提高,关卡变得可通。**这个"基线生死带 → 天赋解锁 → 压力回落"的落差,就是驱动循环游玩的困难设限点。**
|
||
|
||
工具映射:MC 的 atk%/hp% 网格即模拟天赋加成轴——基线格 atk+0%/hp+0% = 零加成生死带(阶段二主判据格),满配格 atk+100%/hp+100% = 天赋养成后的成人态(F4 舒适带复验格)。
|
||
|
||
## 1. 验收前置条件
|
||
|
||
全部满足才可开跑。任何一条不满足 = 本批未落批,禁止启动验收;也禁止在 AC 批在飞期间预跑——半成品读数会污染同种子历史可比性。
|
||
|
||
| # | 条件 | 判据 |
|
||
|---|---|---|
|
||
| 1 | AC 批 smoke 全绿 | `smoke_all.gd` 零失败(AC 批会话交付后执行) |
|
||
| 2 | 日志分析器可用 | `prototypes/dungeon-sweeper-vertical-slice/tools/log_analysis.py` 可运行;对 AC 落批日志能激活掷点面(FIELD_CANDIDATES 命中,或按其数据质量观测面补一行字段适配) |
|
||
| 3 | MC 双档可跑 | `smoke/level_monte_carlo.gd` 以策略 both 跑通零报错;完美档零踩雷构造断言通过 |
|
||
| 4 | 工作区无半成品 | git status 干净(`core/rng_service.gd` 等在飞改动已收编提交) |
|
||
|
||
## 2. 验收运行配置
|
||
|
||
三个数据源全部跑完再判读,禁止用单一数据源下结论。
|
||
|
||
### 2.1 模拟批(主数据源)
|
||
|
||
- 工具:`prototypes/dungeon-sweeper-vertical-slice/smoke/level_monte_carlo.gd`
|
||
- 配置:N=30、种子 4200+30(4200–4229,逐局 seed0+i)、策略 both(normal + perfect 双档一次跑齐)——与 2026-09-16 历史坐标同种子同口径。
|
||
- 阶段一读数格:基线格 atk+0%/hp+0%(零天赋,生死带判据格)。
|
||
- 阶段二加跑满配格 atk+100%/hp+100%(天赋成人态;F4 复验格,已拍板 i①)。
|
||
- 消费读数行:整关承伤均/p90、通关率、通关剩余 HP 均(胜)、进 Boss HP 均、平均轮数、普通承伤/场%、Boss 承伤%、踩雷/局、刷新/局。
|
||
|
||
### 2.2 真人批(修正锚)
|
||
|
||
- 基线档试玩 3–5 局(已拍板 d=① 方向哨),记录每局种子;每局记整关掉血、零承伤轮、通关与否、体感异常。
|
||
- 用途:真人修正系数 k 观测;只登记不回调,不用真人局判 gate。
|
||
|
||
### 2.3 日志批(机制正确性数据源)
|
||
|
||
- 工具:`tools/log_analysis.py <logs 目录>` 跑验收期产生的全部 JSONL(建议加 `--per-run`)。
|
||
- 消费面:零承伤轮(窄/宽口径)、掷点直方图 / 档位占比 / nat20 率 / EV 减免(按方向)、战斗级承伤带对照、增益战斗期复原、数据质量面。
|
||
|
||
## 3. 指标判读表
|
||
|
||
gate = 不满足即该阶段验收失败(按 §4e 阶梯回滚或登记 06-待办清单,禁静默出带);observe = 记录与对照,不判生死。
|
||
|
||
**两段制(已拍板 h①)**:**阶段一 = 机制验收**——AC 批落批判据(掷点面 / 零承伤轮 / 数据质量等,与压力目标解耦,机制对即闭批);**阶段二 = 压力验收**——调参收敛判据(承伤跨线带 / 通关率 / 通关余量 / F4@满配格),允许经 §4e 阶梯多轮"测–调–重测"直至落带。
|
||
|
||
| 指标 | 口径(档位/数据源) | 期望带 | 判读 | 段 |
|
||
|---|---|---|---|---|
|
||
| 完美档整关承伤分布 | MC perfect 基线格,p10 / p90 | **p10 ∈ [35, 45] 且 p90 ∈ [55, 65]**(已拍板 b=B1;蕴含 p10 < 50 < p90 跨线断言,[40,60]/50 形式化) | gate | 二 |
|
||
| 完美档通关率 | MC perfect 基线格 | **[35%, 65%]**(已拍板 g=独立 gate);偏差归因规则见下方注 | gate | 二 |
|
||
| 完美档 Boss 场承伤占比 | MC perfect 基线格,Boss 战承伤 ÷ 生效 max_hp | observe(生死带的组成部分,可超 50%);单场绝对天花板 ≤100% 生命上限 | observe | 二 |
|
||
| 完美档普通场承伤占比 | MC perfect 基线格,逐普通战承伤 ÷ 生效 max_hp | observe;单场绝对天花板 ≤100% 生命上限 | observe | 二 |
|
||
| 盲挖档通关率 | MC normal | 无 gate、无触发动作,纯记录(已拍板 c=①;基线生死带下 0% 为预期态,见 §0) | observe | 二 |
|
||
| 通关余量(完美档通关者剩余 HP 的 p90/p10) | MC perfect 基线格 | p90 ≤ 13 且 p10 ≥ 3(旧带保留:新设计下幸存者恰为"承伤 <50"的局,余量天然回落该语义域);阶段二收敛复验,收敛前 observe | gate(收敛后) | 二 |
|
||
| 平均轮数(完美档) | MC perfect 基线格 | observe,带值待压力收敛后按新基线回填(旧带 [14,17] 绑定旧压力水平,不适用) | observe | 二 |
|
||
| 满配格承伤占比(F4 复验) | MC perfect 满配格 atk+100%/hp+100% | 普通场 ≤20% / Boss 场 ≤50% 生效 max_hp(原值,已拍板 i① 改挂满配格——基线=生死带、加成=舒适带,两带各司其职) | gate | 二 |
|
||
| 零承伤轮(窄口径) | 日志分析器:有攻击落地且承伤 0 的轮 | 0(AC 伤害全局下限 1 后构造趋零) | gate | 一 |
|
||
| 零掉血轮(宽口径) | 日志分析器:有敌人轮 HP 不降 | observe;真人对照旧读数 8/11、8/10,应显著下行 | observe | 一 |
|
||
| nat20 暴击率 | 日志分析器掷点面(双向合并) | 5% ± 2pp(工具 CRIT_TOLERANCE 既有口径) | gate | 一 |
|
||
| 档位分布 vs 理论(敌→主角) | 日志分析器 by_dir,vs 主角 AC10 | 全额 55% / ×0.75 15% / ×0.5 20% / ×0.25 10%,各 ±2σ 二项(按实际 n 重算;n≈700 预估时约 ±3–4pp) | gate | 一 |
|
||
| 玩家侧全额率(主角→敌) | 日志分析器 by_dir,敌 AC 首关 0 | 全额 100%(出现任何非全额档 = 掷点实现缺陷) | gate | 一 |
|
||
| EV 减免(敌→主角) | 日志分析器 by_dir,口径 = 仅档位乘数、不含 nat20 暴击倍率(与工具一致) | 21.25% ± 2pp(n≈700 预估口径,按实际 n 重算) | gate | 一 |
|
||
| Boss 血量锚 | 敌人表 / registry 表值断言(非运行读数) | r_boss = 150 ÷ 153.5 ≈ 0.98,带 [0.5, 1.1] 内,本批不动;走廊 [1.1, 1.35] 为行值加难级(已拍板 f①)的候选杠杆,启用即越现行带、须走越带登记 | gate(表值断言) | 一 |
|
||
| 增益战斗期复原 | 日志分析器 effect 行复原面 | 增伤/削弱/减伤三类可复原;快照 buffs 恒空盲区口径不破(非空计数 = 0) | observe | 一 |
|
||
| 真人修正系数 k | 真人批 ÷ MC perfect(整关承伤中位比) | observe;预警线 k < 0.3 连续两批(已拍板 d=①) | observe | 二 |
|
||
| 数据质量面 | 日志分析器 | 解析失败行 0;未配对 battle_end 0;step 未知键仅限 AC 掷点新增字段 | gate | 一 |
|
||
|
||
**通关率与承伤分布双 gate 的偏差归因规则(g 拍板附则)**:承伤带过 + 通关率 > 65% → 治疗供给超标,动恢复点收益/治疗量侧,不动敌方输出行值;承伤带过 + 通关率 < 35% → 先查形态带与红档(是否存在不可控死法);承伤带不过 → 敌方输出侧走 §4e 阶梯。两 gate 同时成立才算阶段二落带。
|
||
|
||
理论参照(判读表数字来源,AC10):读数 ≥10 全额(55%,含 nat20);缺口 1–3 → ×0.75(15%);缺口 4–7 → ×0.5(20%);缺口 8+ → ×0.25(10%);EV = 0.7875(减免 21.25%)。nat20 = 5% 双方同规暴击 ×2;主角→敌方向敌 AC 首关 0 → 恒全额。
|
||
|
||
## 4. 决策记录(2026-09-16,两轮拍板)
|
||
|
||
### a. 旧通关率带 [30%, 50%](基线档)——拍板:① 退役重标
|
||
|
||
旧带退役,不另立通关率口径带;新带族 = b 的承伤跨线分布 + g 的通关率 gate,收编批改写期望值带章节时注明退役原因(2026-09-16 测量口径裁定)。未采:完美档单带重定(完美档通关率恒 100% 无分辨力)、双判据(被"退役重标 + 独立通关率 gate"组合取代)。
|
||
联动:06-待办清单「基线通关率越带,加难杠杆扫描未执行」改写——"越带"失义,加难扫描义务升级为 f① 行值加难批的执行义务;冒险结构「大奖励数值随难度曲线联动」复验基准同步换锚。
|
||
|
||
### b. "压力足"主判据——拍板:承伤分布跨生命上限 + B1 分位带
|
||
|
||
方向:基础数值、零永久天赋时,第一关整关承伤最大值 > 主角生命上限 50、最小值 < 50,第一关很有可能无法通关;天赋加成后承伤范围整体下移、生命上限提高,关卡变可通——落差即循环驱动的困难设限点(成文于 §0)。
|
||
判据:**完美档基线格整关承伤 p10 ∈ [35, 45] 且 p90 ∈ [55, 65]**([40,60]/50 的形式化,分位带对 30 局极值噪声稳健)。未采:极值带(min/max 字面口径,死亡率 ≥3% 即几乎必过,区分度弱)、纯通关率带(治疗供给混入判据,与天赋叙事脱节)。
|
||
可达性事实:新带中位 ~50 是 AC 落地预估落点(~17.6)的近 3 倍,AC+行动点旋钮量程上限 ~43——由此产生 f 的行值加难级。
|
||
|
||
### c. 盲挖档地板观察线——拍板:① 不设线
|
||
|
||
盲挖档为纯观察口径,读多少(含 0%)都只记录、无触发动作;基线生死带下 0% 为预期态(§0),文档自身即留痕。未采:登记线、硬 gate(与 b 矛盾)。
|
||
|
||
### d. 真人修正系数标定——拍板:① 方向哨
|
||
|
||
每批真人 3–5 局;日志分析器产出 k = 真人整关承伤中位 ÷ MC 完美档整关承伤中位;只登记 + 预警线(k < 0.3 连续两批 → 触发 b 带复议),不折算 gate 数字。硬折算升级条件(备查):累计 ≥8 局且相邻两批 k 波动 < 20%,届时再拍板是否冻结。
|
||
|
||
### e. 越带回滚阶梯——拍板:四级阶梯(含 f①)+ 四条边界
|
||
|
||
**AC 档位边界 → AC 档位值 → 难度曲线行值加难 → 行动点 6→4**(粒度细→粗、爆炸半径小→大;双向可用:承伤偏低加深压力、承伤偏高放宽折扣)。四条边界:
|
||
|
||
1. "承伤偏高(减免过度)"败向先查实现缺陷(双重乘算、档位映射反向),对照掷点面 EV 减免读数定位,再谈调参。
|
||
2. 动用行值级或行动点级均使同种子历史坐标整体作废,须重立基线、另起验收批。
|
||
3. 敌方 AC 正式值(首关 0)不进本链——归怪物设定批。
|
||
4. 每次调参后全量重跑本验收,并在调参日志留联动检算记录(禁独立调参网络纪律)。
|
||
|
||
### f. 阶梯第四级"难度曲线行值加难"——拍板:f① 加入
|
||
|
||
行值是量程最大、归因最直接的杠杆(AC+行动点两级量程上限 ~43,够不着中位 50)。候选杠杆(06-待办已登记):敌方攻击基线与群战数量上探、Boss 血量锚走廊 [1.1, 1.35](启用即越现行带,须走越带登记)、注入衰减 0.5 → 0.6。行值批自带联动对账义务(关级恒等式 / 挖掘风险不等式 / 清图支配性重跑),与已排期的难度曲线调参批合流——先义务后回退,不动摇刚落地的压速批。未采:不加级(目标形同虚设)、行动点提前(先推翻压速批,无好处)。
|
||
|
||
### g. 完美档通关率独立 gate——拍板:要,[35%, 65%]
|
||
|
||
独立于承伤分布的第二道阶段二 gate(两道须同时成立)。偏差归因规则见 §3 附则:双 gate 打架时按偏差方向归因到治疗供给侧或形态带,不互相覆盖。未采:只 observe(用户要双保险)。
|
||
|
||
### h. 两段制——拍板:h①
|
||
|
||
阶段一 = 机制验收(AC 批落批判据);阶段二 = 压力验收(调参收敛判据,允许多轮迭代)。避免 AC 批在压力收敛前无法闭批、批次边界糊掉。未采:单段制。
|
||
|
||
### i. F4 期望承伤占比带归属格——拍板:i① 改挂满配格
|
||
|
||
F4 原值(普通 ≤20% / Boss ≤50% 生效 max_hp)复验改在满配格 atk+100%/hp+100% 执行,与 GDD 翻倍档 ≥95% 通关率带同格互证;基线格逐场上界降为 observe(单场绝对天花板 ≤100% 生命上限)。基线 = 生死带(b/g 管),加成 = 舒适带(F4 管)。未采:基线格放宽数值(惨烈场贴线误伤)、F4 退役(丢掉唯一单场天花板)。
|
||
|
||
## 5. 与既有验收体系的衔接
|
||
|
||
### 5.1 旧带处置映射
|
||
|
||
| 旧带 / 注记(难度曲线与Boss 期望值带章节) | 处置 | 说明与去向 |
|
||
|---|---|---|
|
||
| 第一关通关率带 基线档 [30%, 50%] | **退役(a)** | 收编批改写期望值带章节,注明退役原因;新带族 = b 承伤跨线分布 + g 通关率 gate |
|
||
| "现行扫描读数 60% 越上界"注记 + 06-待办清单「基线通关率越带」 | 退役 / 改写 | 旧带退役则"越带"失义;加难扫描义务升级为 f① 行值加难批执行义务 |
|
||
| 通关余量带 p90 ≤ 13 / p10 ≥ 3 | **保留** | 新设计(承伤跨 50)下幸存者余量天然落回该语义域,旧值重新成立;阶段二收敛复验,收敛前 observe |
|
||
| 形态带(教学绿 / 中段黄 / Boss 黄不红)与零红档 | 不动 | 口径不变,与"整关生死带"不冲突(教学位绿档 = 第一战必胜,整关仍可死);AC 落批激活"区间带宽补扫"义务(v0.4 既有成文),落收编后的调参批执行 |
|
||
| 期望承伤占比带 普通 ≤20% / Boss ≤50%(provisional,F4) | **归属格改挂满配格(i①)** | 基线格惨烈是设计态,F4 原值在基线格必破带;满配格复验与翻倍档通关率带同格互证 |
|
||
| Boss 血量锚 r_boss = 0.98 | 本批不动 | gate = 表值断言;走廊 [1.1,1.35] 为 f① 候选杠杆,启用即越现行带、须越带登记 |
|
||
| 恒等式奖励输出占比 [15%, 40%] | 不动 | 复测安排见 5.2 |
|
||
| 状态强度 / 克制矩阵 / 充能投桶等表值 | 不动 | 本批唯一新数值层 = AC 掷点 |
|
||
|
||
### 5.2 恒等式奖励占比复测安排
|
||
|
||
- 时点:AC 批落批 + 阶段一机制验收通过之后、压力收敛过程中随行值/行动点调参批一并执行(本清单不跑恒等式对账——level_monte_carlo 不产输出侧占比读数)。
|
||
- 方向预判:敌 AC 首关 0 → 玩家侧基础攻击输出仅因 nat20 暴击 +~5%;奖励侧输出不变 → 占比分母微涨、占比微降,原读数处 15% 下沿则须盯穿带风险。行值加难(f①)同步抬高敌方总生命,恒等式必须联合检算——这正是其禁独立调参联动条款。
|
||
- 义务落点:难度曲线与Boss「验收标准—恒等式闭合」条目不变;复测结论记入调参日志(联动可审计纪律)。
|
||
|
||
### 5.3 登记义务落点(本文档零改动既有文件;以下为落批后的收编义务)
|
||
|
||
- **难度曲线与Boss「期望值带」章节**:收编新带族(§0 生死带前提、b 分位带、g 通关率 gate、c 盲挖不设线、通关余量带保留注记、F4 满配格归属、f① 四级阶梯),注明"等 AC 批落批后收编"。同批改写 v0.4 掷点带宽段的"EV 中性引入"口径——实际落地规格(AC10 → 敌方输出 EV −21.25%)非 EV 中性,两口径冲突须以落批实现为准。
|
||
- **06-待办清单.md**:①「护甲等级掷点形式与数值域」「护甲等级掷点的随机流归属」「护甲等级(armor_class)行值未定」→ 已收口:2026-09-16 AC 批裁决成文于战斗结算 v0.10 与 registry settlement_table 条目,原 06 清单三条件目已按「解决即移除」口径删除(2026-09-19 清理批);②「基线通关率越带」按 a 改写,同时升级为 f① 行值加难批的执行义务;③「真人通关率标定」接 d=① 管道;④「完美策略档的结构性加难杠杆」重估——b 的新带下"承伤带对完美档无分辨力"的前提已反转,该条目大概率转已解决/失义。
|
||
- **registry entities.yaml**:AC 行值与档位参数由 AC 批会话收编,非本清单义务,仅衔接注记。
|
||
- 附带发现(不修,随收编批一并处理):难度曲线与Boss 的「待拍板」存根链接指向 `06-待拍板清单.md`,实际文件已更名 `06-待办清单.md`,断链。
|
||
|
||
## 6. 附录:历史实测坐标(对照基线)
|
||
|
||
| 坐标 | 完美档整关承伤 | 普通场占比 | Boss 场占比 | 平均轮数 | 通关率(完美) | 盲挖通关率 |
|
||
|---|---|---|---|---|---|---|
|
||
| 行动点 8 时代 | 13.1/关 | 2.1% | 18.9% | 13.4 | 100% | 20% |
|
||
| 行动点 6 现行(AC 未落地) | 22.4/关 | 4.2% | 29.8% | 15.3 | 100% | 7%(仅下界观察) |
|
||
| AC 落地预估(非 gate 数字) | 17–20 | ~3.3% | 23–25% | ≈15 | 100% | 上行方向 |
|
||
| **新目标带(定稿)** | p10 ∈ [35,45] / p90 ∈ [55,65] | observe(单场 ≤100% 天花板) | observe(可超 50%) | 待新基线回填 | **[35%, 65%](gate)** | 预期 0%(设计态,不设线) |
|
||
|
||
真人锚:基线通关局两份(种子 5678/1234)整关掉血 6/12 点,零承伤轮 8/11 与 8/10——"回合无伤"是待修的退化解;更早试玩批次实测真人显著强于当时模拟者(真人 100% vs 模拟 80%)。N=30 同种子(4200+30)各代读数逐局可比。**注:新目标带确立后,上表历史坐标属"低压区读数",只作机制面对照;压力对照以收敛后的新基线批为准。**
|
||
|
||
## 版本历史
|
||
|
||
| 版本 | 日期 | 改动 |
|
||
|---|---|---|
|
||
| v0.1 | 2026-09-16 | 草案建账:前置条件 / 运行配置 / 判读表 / 决策点 a–e / 衔接映射 / 历史坐标附录 |
|
||
| v0.2 | 2026-09-16 | 第二轮拍板回填:a=①、d=①、e 确认+四条边界;b 方向改判"承伤分布跨生命上限"(§0 新增设计前提);c 概念解释重写;新增决策点 f/g/h/i;判读表改两段制、通关余量带改判保留、F4 归属格待拍 |
|
||
| v1.0 | 2026-09-16 | **定稿**:b=B1 分位带(p10∈[35,45] / p90∈[55,65])、c=① 不设线、f=f① 行值加难入阶梯(四级阶梯成文)、g=通关率独立 gate [35%,65%](附双 gate 偏差归因规则)、h=h① 两段制、i=i① F4 改挂满配格;§4 改为决策记录,全表与衔接章节按拍板结果收口 |
|