refactor: production 解散+docs 并入 design+tests 归 game 三层收敛——active.md/roadmap/stage/review-mode 升根目录;qa 报告→design/qa(gate-checks/alpha 验收/任务书→research);docs/→design/dev+registry 并档+散提案→research;tests/→game/tests(空架子 README+示例,真测试在 game/smoke);game/tools→tools+样例输出→sim-data;qa-data→sim-data;design/ux→gdd/ux;删 loop-dashboard.html(可再生成)+route_overlay_preview(零引用);钩子三件+loop_dashboard/balance_verifier/render_sample_sheet 路径随迁;断链修复 12 文件,余 7 条全为搬前幽灵链
This commit is contained in:
1 parent
97e20d51fb
commit
7f24b640ea
179 files changed
+81
-579
No files matched your search
@@ -0,0 +1,150 @@
|
||||
# 验收读数重测批——判读报告(初稿,真人位留空)
|
||||
|
||||
- **日期**:2026-09-19
|
||||
- **口径依据**:`docs/acceptance-ap6-ac.md` v1.0(定稿判读规则全文照搬执行)
|
||||
- **被测构建**:master @ d236d9f(技能池新效应词汇批后;乘区接线+削弱续时+甲效换装+充能退役+rider 五次数值行为变更叠加后的首次全量重测)
|
||||
- **执行环境**:独立 worktree `D:\code\g-plan2-acceptance-rerun`(分支 `acceptance-rerun-20260919`)——绕开主工作区并行会话未提交改动
|
||||
- **数据源状态**:① 模拟批 ✅ 完成(两关 × N=30 × 种子 4200+30 × 策略 both,共 1200 局)② 日志批 ✅ 完成 ③ **真人批 ⬜ 缺位**(3–5 局基线档待用户补跑,k 系数待并入)——按口径「三数据源全部跑完再判读」,本报告全部结论为**初稿**,终稿待真人批合入
|
||||
- **前置验证**:worktree 冒烟 317 项 0 失败(run_smoke 三闸全过)✅
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 核心发现:窄种子窗 × 复用放大——掷点统计失真(本批最重要产出;2026-09-19 深勘后根因已修正定稿)
|
||||
|
||||
**一句话**:d20 掷点流的派生公式本身是均匀的,但「30 个连续种子 × 每局只消费头部 ~17~40 个 scope × 每种子被复用 ~40 局」的组合,把头部窗口自身的面值彩票放大 ~40 倍灌进全部聚合统计——验收的档位分布/EV gate 读数因此失真。**修正记录**:本报告首稿曾定性为"派生种子首输出缺陷、真实玩家体验受损",经 2000 种子全局对照与跨步种子对照推翻——公式无恙、玩家单局影响≈机会涨落水平,真实受害者是测量有效性。
|
||||
|
||||
### 证据链(可复现,探针脚本形态见附录)
|
||||
|
||||
1. **逐位比对**:种子 4227 首局前 23 个日志掷点与 `rng.open_stream("armor_roll")` 逐 scope 首输出序列**完全一致**——日志掷点 = 派生种子首输出,无其他变换。
|
||||
2. **逐种子失真**:真实日志按种子聚合 18 点数 0→131(种子 4211 = 0、4227 = 120);二项分布下 n≈700 的 σ≈6,此散布远超抽样涨落——复用放大实锤(每局重吃同一种子的头部窗口,窗口彩票 ×40)。
|
||||
3. **全局均匀对照**:2000 个跨步种子 × 头部 31 scope 等权聚合,χ²=22.8(19df 95% 临界 30.1)——**派生公式全局无偏**;splitmix 混淆版同样干净(χ²=23.5),混淆不解决本问题(问题不在公式)。
|
||||
4. **窗口彩票对照**:MC 实际窗口(连续 30 种子 × 头部 41 scope)18 点 +35% 集中在高权重头部;同规模跨步种子窗口 χ²=26 正常——特定窗口运气 × 复用 = 失真。
|
||||
5. **真实消费模式复现**:按「30 种子 × 40 局 × 每局 8~31 掷」聚合,复现 18 点 +57%(1876/23822)的日志签名。
|
||||
6. **排除项**:纯随机种子首输出均匀(4 万次最大偏差 2.7σ)——引擎 PCG 本体无恙。
|
||||
|
||||
### 影响面评估(修正后)
|
||||
|
||||
- **玩家单局体验:≈无**。一局只有 ~17~40 次掷点,即使种子头部窗口有偏,也与普通骰子运气无法区分(17 次均匀掷点本身就有 ±10pp 级涨落)。**首稿"玩家体验随种子漂移"的说法降级为理论可能性**(只有在单局掷点数大幅增长的未来内容里才可能被感知)。
|
||||
- **测量有效性:实害**。验收掷点面(档位分布/EV/nat20)与任何基于这 30 个种子的聚合统计,都被窗口彩票 ×40 放大污染——本批阶段一两个 gate FAIL 由此归因,不能算到机制或数值头上。**同构隐患**:五条流(board_gen/reward_roll/encounter/armor_roll/behavior_roll)共享此消费模式,窄种子窗 + 短消费窗 + 复用的分析面都会中招。
|
||||
- **潜在陷阱(非现行故障)**:若未来种子外露(种子分享玩法)或单局掷点数大增,窄窗彩票从测量问题升级为体验问题。
|
||||
|
||||
### 修复方向(三案,均已评估;探针级验证见附录)
|
||||
|
||||
- **方案 A(推荐,零游戏代码)**:掷点统计面改用宽种子带——如 4200 起步长 7919 取 ≥100 个种子(保留 4200–4229 子段则历史坐标仍可比),窗口彩票按 1/√种子数摊平;实现 = MC 工具加一档「掷点扫描批」参数。承伤/通关率等压力读数同理受益。
|
||||
- **方案 B(可选加固,一处小改)**:`rng_service.gd` 派生前对 master 做一次非线性混淆(如 splitmix64 finalizer)——任何窄种子窗表现如随机抽样,根治"连续小整数种子"陷阱。逐 scope 回放语义不变;代价 = 黄金向量重登记 + 冒烟回归。全局均匀性已被证明,此案是防御性投资,不紧急。
|
||||
- **方案 C(用户提案:真随机 + 逐次记录)**:技术上可行但代价不成比例——存档序列化快照契约(master_seed)、反事实重算工具(analyze_playtest 依赖确定性重模拟)、逐次可回放语义全部重做,记录文件随局数无限增长;而它解决的问题 A/B 已以小得多的代价覆盖。不推荐,除非未来设计转向"非确定性掷点"价值观。
|
||||
- **共性注记**:无论何案,单局 17~40 掷的"运气窗"本身(某局恰好 18 点多)是骰子本性,修复对象是"系统性放大"而非"运气存在"。
|
||||
|
||||
### B 案落地结果(2026-09-19 用户拍板 B 案,同日实施收口)
|
||||
|
||||
- **实现**:`rng_service.gd` R2→R3——derive = mix64(SALT XOR wrap64(master + scope×GOLDEN)),splitmix64 finalizer 变体(乘数 0xBF58476D1CE4E5B9 / 0x94D049BB133111EB、加数同 GOLDEN_RATIO);**全程 63 位掩码**(有符号 int64 算术移位在正值域与逻辑移位逐位一致——与 Python 参考实现对齐的关键)。逐 scope 复放语义/计数器契约/存档快照契约不变。
|
||||
- **黄金向量**:8 常量全量重登记(冒烟 R3 向量断言 + registry stream_seed_derivation 条目 + Formulas-R3 指向),Python 参考实现与 GDScript 实现逐位交叉验证一致;R2 旧向量作废。
|
||||
- **冒烟**:316 项 0 失败三闸全过(317→316 = 一条"探针首掷恰好暴击才触发"的条件断言在新序列下不触发,良性)。
|
||||
- **R3 版模拟批重跑(1200 局)验证**:
|
||||
- 18 点异常**消失**(1740→846,期望 1010,残差回落到 30 种子窗口彩票的理论噪声带 ≈2σ_eff);
|
||||
- nat20 暴击率 5.92%(带内 PASS);主角→敌全额率 100% PASS;
|
||||
- **敌→主角 EV 减免 25.6% 仍高于理论 21.25%——但现在是干净读数**:档位分布 ×0.25 档 16.6%(理论 10%)、全额 50.0%(理论 55%),指向主角有效 AC 被护甲强化(ac_up)供给抬高 ~1.2 点。这是 B 案清除 RNG 噪声后**首次可见的真实设计信号**,归调参批处置(护甲强化供给是合法杠杆位);
|
||||
- 压力面结论对 RNG 改版稳健:L1 完美档基线格 87% 通关/承伤均 17.0/p90 24,与改版前同方向同量级——阶段二"压力不足"判定不变,仍顺延调参批;
|
||||
- 同种子历史坐标随 R3 改版整体作废(预期内,已登记 registry 批注)。
|
||||
- **遗留提示**:B 案消除的是"窄窗彩票被系统性放大",30 种子的窗口彩票噪声本身仍在(档位分布 gate 若按 ±2σ 独立样本口径判读仍会误报)——**建议阶段一正式重跑时叠加 A 案**(掷点统计面用宽种子带,如 4200+i×7919 × ≥100 种子),两案正交不冲突。
|
||||
|
||||
### A 案叠加落地结果(2026-09-19 用户拍板 A/B 叠加,同日实施收口)
|
||||
|
||||
- **实现**:`level_monte_carlo.gd` 增第 5 参种子模式 `shared|unique`(缺省 shared = 旧行为零变更,保留同种子 A/B 对照用法;unique = 逐局独立种子 seed0+全局序号)。unique 模式下每个 (种子, scope) 恰消费一次 → 聚合掷点统计回归标准二项分布,±2σ gate 口径重新有效——这是 A 案的本质:消除复用权重,而非换种子段。
|
||||
- **A+B 版模拟批重跑(两关 1200 局,逐局独立种子)验证**:
|
||||
- d20 直方图**全面干净**:20 面值全部落在期望 1011 的 ±2.3σ 内(对照:R2 版 18 点 +57%≈20σ);
|
||||
- nat20 暴击率 5.12%(带内 PASS);主角→敌 / 敌→主角暴击率 5.13%/5.09% 双向对齐理论;
|
||||
- **敌→主角档位分布失真仍在但已是干净设计信号**:全额 50.9%(理论 55%,-7.6σ)、×0.25 档 15.0%(理论 10%,+15σ)——指向主角有效 AC 被护甲强化(ac_up +1×2 层)供给抬高 ~1.5 点,EV 减免 24.59% 同源。此偏差**真实且显著**,归调参批裁决(重新校准 gate 把 AC 增益期计入理论模型,或调护甲供给);
|
||||
- 压力面第三次复测稳如磐石:L1 完美档基线格 87% 通关/承伤 16.8/p90 24——R2/R3/A+B 三批同向同量级,"压力不足"判定与 RNG 无关焊死;L2 完美档 87%/13.9·21;
|
||||
- 弃图率读数稳定(完美档 0.02-0.10 次/局,normal 0)。
|
||||
- **A+B 叠加后的验收口径状态**:掷点面 gate 判读从此有效;阶段一正式重跑数据 = 本批(T220949/T221847 两文件);同种子历史坐标已三重作废(R3 改版 + unique 模式),坐标可比性锚改为「本批 A+B 数据」。
|
||||
|
||||
---
|
||||
|
||||
## 阶段一:机制验收(日志批,gate 判读——全部受发现①污染,仅记录现状)
|
||||
|
||||
数据:两份 MC 日志共 318,626 行、1200 局、20,945 次掷点。
|
||||
|
||||
| 指标 | 读数 | 期望带 | 判读 | 注记 |
|
||||
|---|---|---|---|---|
|
||||
| 零承伤轮(窄口径) | 0 / 8076 攻击落地轮 | 0 | ✅ PASS | 伤害下限 1 生效 |
|
||||
| 零掉血轮(宽口径) | 6706 / 13364 敌战轮(50.2%) | observe | 记录 | 与真人旧读数对照待真人批 |
|
||||
| nat20 暴击率 | 4.53% | 5%±2pp | ✅ PASS(带污染注记) | 种子头部偏置使逐种子暴击率漂移大 |
|
||||
| 档位分布(敌→主角) | 全额 50.8%/×0.75 15.0%/×0.5 21.6%/×0.25 12.6% | 55/15/20/10 各±2σ | ❌ FAIL | 归因=RNG 偏置为主 + 护甲强化增益抬 AC 混入(全额缺口方向与增益一致,但幅度超增益可解释范围) |
|
||||
| 玩家侧全额率 | 主角→敌 EV 减免 0.00% | 100% 全额 | ✅ PASS | 敌 AC 关内 0 生效 |
|
||||
| EV 减免(敌→主角) | 23.98% | 21.25%±2pp | ❌ FAIL | 同上归因 |
|
||||
| Boss 血量锚 | 表值 hp=58(蛛化卓尔精灵) | r_boss=150÷153.5≈0.98 | ⚠️ 锚过期 | 口径写于压缩批与卓尔加血前(150→÷3→58);锚值重校准归调参批,本批记录现状 |
|
||||
| 增益战斗期复原 | 三类可复原(attack_up/weaken/减伤族) | observe | ✅ 记录 | 复原面工作正常 |
|
||||
| 快照 buffs 非空 | **8790/14402** | 恒空(盲区口径=0) | ⚠️ 盲区口径已破 | rider/状态批后快照开始携带 buffs(疑 duration-2 状态使衰减段后仍有存留)——**好消息**(盲区闭合),口径文档需改写该节 |
|
||||
| 数据质量·解析失败 | 0 | 0 | ✅ PASS | |
|
||||
| 数据质量·未配对 battle_end | **1200(系统性 1/局)** | 0 | ⚠️ 行序伪影 | 每局恰 1 条 battle_end 落到 run 行切分点之后(level_end 先于 battle_end 落盘);不影响核心统计(分析器不依赖 battle_end),行序归因待核 |
|
||||
|
||||
## 阶段二:压力验收(模拟批基线格,初稿判读——顺延至掷点修复后终判)
|
||||
|
||||
### 第一关(生死带主判据格:MC perfect 基线格 atk+0%/hp+0%,n=30)
|
||||
|
||||
| 指标 | 读数 | gate | 判读 |
|
||||
|---|---|---|---|
|
||||
| 整关承伤分布 | p10=13.0 / p50=18 / p90=25.0 / max=28 | p10∈[35,45] 且 p90∈[55,65] | ❌ FAIL(远低于带下沿——压力不足方向) |
|
||||
| 通关率 | 87% | [35%, 65%] | ❌ FAIL(越上界) |
|
||||
| 通关余量 | 胜局剩余 HP 均 7.4 | p90≤13 且 p10≥3(收敛后 gate) | observe(未收敛) |
|
||||
| 平均轮数 | 16.4 | observe | 记录 |
|
||||
| 盲挖档(normal 基线格)通关率 | 73% | observe(生死带下 0% 为预期态) | 记录——73% 与生死带预期相悖,同证压力不足 |
|
||||
|
||||
### 第二关(对照面,无独立 gate)
|
||||
|
||||
| 指标 | 读数 |
|
||||
|---|---|
|
||||
| 完美档基线格通关率 / 承伤 p50/p90 | 87% / 15.5 / 21.2 |
|
||||
| 盲挖档基线格通关率 | 83% |
|
||||
| 台阶倒挂 | L1 87% vs L2 87%——倒挂消失(旧读数 65vs90→65vs80→本批持平),方向性好转 |
|
||||
|
||||
### F4 满配格(gate:普通场 ≤20% / Boss 场 ≤50% 生效 max_hp)
|
||||
|
||||
| 关卡 | 普通场 | Boss 场 | 判读 |
|
||||
|---|---|---|---|
|
||||
| L1 | 6.5% | 15.7% | ✅ PASS |
|
||||
| L2 | 5.9% | 22.8% | ✅ PASS |
|
||||
|
||||
### 战斗级承伤带(普通 ≤20% / Boss ≤50%,全网格聚合)
|
||||
|
||||
全部 9 个(关×类型×深度)分组 ✓ PASS;Boss 战单独出列读数:L1 Boss 场均承伤 26.7% max_hp / 5.9 轮,L2 Boss 35.7% / 5.0 轮——Boss 承伤占比显著高于普通场(设计方向:Boss 是主要伤害来源),无不可控死法迹象(败北节点全部集中于 Boss 位,普通位败北为 0)。
|
||||
|
||||
### 阶段二初稿结论
|
||||
|
||||
双 gate(承伤带 + 通关率)双败,方向一致=**压力不足**(完美档太容易通关、承伤远低于生死带)。按归因规则本应走 §4e 阶梯(敌方输出侧),但发现①属实现缺陷且优先级在前(§4e 边界 1)——**建议顺序:掷点修复批 → 阶段一重跑 → 阶段二调参批**。附带提醒:修复掷点会轻微改变承伤/通关读数(掷点分布变了),调参批应在修复后的重测读数上工作。
|
||||
|
||||
---
|
||||
|
||||
## 07⑦ 刷新经济监控——基线读数(本批搭车项,2026-09-19 首批基线)
|
||||
|
||||
分析器已新增两读数(`log_analysis.py` 关卡级统计:弃图率=每局受理刷新次数,与 MC 刷新/局同口径;每轮刷新率=刷新次数÷结算轮数)。**首批基线**:
|
||||
|
||||
| 数据面 | 弃图率(次/局) | 每轮刷新率 | 样本 |
|
||||
|---|---|---|---|
|
||||
| MC L1 完美档基线格 | 0.23 | — | 30 局 |
|
||||
| MC L2 完美档基线格 | 0.03 | — | 30 局 |
|
||||
| MC 全网格 L1 完美档 | 0.08 | 0.006 | 300 局 |
|
||||
| MC 全网格 L2 完美档 | 0.01 | 0.001 | 300 局 |
|
||||
| MC 全网格 normal 档(两关) | 0.00 | 0.000 | 600 局 |
|
||||
| 真人日志参照(并行会话今日 600 局模拟,非本批数据) | 完美档 0.12 | 0.008 | 供交叉参照 |
|
||||
|
||||
解读起点(供调参批参考,非结论):完美档低频弃图(~0.1 次/局量级)、normal 档零弃图——与「完美档卡死才刷新」的口径一致(auto_player 刷新=卡死解除手段);normal 档零使用提示 1 RAP 定价对普通玩家可能偏贵或无感知,真人批数据将回答。**阈值数字仍归调参批**(口径不变:现在定是拍脑袋)。
|
||||
|
||||
**顺带核查项**:07⑥ 速杀退化预警的读数(战斗结束未开资格格占比)经核对**现役日志不可推导**——battle_end 行仅含 result+hero_hp,无格面开格状态面。采集义务需等埋点(board 状态入结算快照或独立行),本批不硬做,注记后延。
|
||||
|
||||
---
|
||||
|
||||
## 待办与回流
|
||||
|
||||
1. **真人批**(用户):基线档 3–5 局 → k 系数 + 零掉血轮宽口径真人对照 → 本报告终稿。
|
||||
2. **掷点测量修复**(待拍板选案):方案 A(宽种子带,零代码)/方案 B(master 混淆加固,黄金向量重登记)/方案 C(真随机+记录,不推荐);选 A 则登记 06 待办为「验收掷点扫描种子带改造」,选 B 则为 rng_service 加固批;阶段一在修复后重跑。
|
||||
3. **口径文档连带修订**(归合并批):`docs/acceptance-ap6-ac.md` 快照 buffs 盲区节改写、Boss 血量锚参照值重校准(58 现值)、§2 消费读数行补刷新两读数;`06-待办清单`「刷新经济性监控」条目保留至调参批定阈值。
|
||||
4. **曲线调参批门**:确认改为「掷点测量修复 + 阶段一重跑后」起跑(原门=验收读数)。
|
||||
|
||||
## 附录:探针脚本(复现用)
|
||||
|
||||
本批全部 RNG 探针为一次性 `/tmp` 脚本(rng_probe*.gd),核心复现路径:
|
||||
① 从日志抽种子 4227 首局前 23 掷与 `open_stream("armor_roll")` 逐 scope 首输出逐位比对;
|
||||
② `SALT_ARMOR_ROLL ^ (seed + scope×GOLDEN) & 0x7FFF…` 直喂 `RandomNumberGenerator.randi_range(1,20)` 画头部直方图;
|
||||
③ 按 30 种子×40 局×8~31 掷聚合复现失真签名。诊断用工程内探针 `smoke/rng_face_probe.gd` 已随批删除,不留残留。
|
||||
@@ -0,0 +1,104 @@
|
||||
# 数值验证报告(20260922-200721)
|
||||
|
||||
- 采集规模:直入口每格 100 局 · 基线冒险 60 局/画像 · 战役 60 局/画像 · 种子 8000 起逐局独立 · 锻造花费策略 = hp_first
|
||||
- 切片版本:e8d8d60 · 表状态:判定带与表值溯源见 tools/balance_verifier.py 文件头
|
||||
|
||||
## ① 直入口基线通关率(验收带判定)
|
||||
|
||||
| 层 | 画像 | 通关/局数 | 通关率±95%CI | 验收带 | 判定 |
|
||||
|--------|--------|-----------|--------------|---------|------------------------------|
|
||||
| 第一层 | 普通档 | 59/100 | 59.0% ±9.6 | [35,55] | 越上界(高于 55% 达 4.0 点) |
|
||||
| 第二层 | 普通档 | 50/100 | 50.0% ±9.8 | [25,45] | 越上界(高于 45% 达 5.0 点) |
|
||||
| 第三层 | 普通档 | 24/100 | 24.0% ±8.4 | 未定 | 带未定(只测不判) |
|
||||
| 第一层 | 完美档 | 70/100 | 70.0% ±9.0 | [35,65] | 越上界(高于 65% 达 5.0 点) |
|
||||
| 第二层 | 完美档 | 46/100 | 46.0% ±9.8 | [35,65] | 落带 [35,65] ✓ |
|
||||
| 第三层 | 完美档 | 22/100 | 22.0% ±8.1 | 未定 | 带未定(只测不判) |
|
||||
|
||||
## ② 零永久强化冒险:止步分布与败退节点(用户判据③)
|
||||
|
||||
### 普通档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 20(33%)、止步第2层 4(7%)、止步第3层 11(18%)、通关 25(42%)
|
||||
- 第一层通过率(冒险口径交叉核对):66.7%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第一层·节点6·Boss ×17
|
||||
- 第三层·节点9·Boss ×11
|
||||
- 第二层·节点9·Boss ×4
|
||||
- 第一层·节点4·战斗 ×2
|
||||
- 第一层·节点3·战斗 ×1
|
||||
|
||||
### 完美档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 22(37%)、止步第2层 2(3%)、止步第3层 7(12%)、通关 29(48%)
|
||||
- 第一层通过率(冒险口径交叉核对):63.3%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第一层·节点6·Boss ×13
|
||||
- 第三层·节点9·Boss ×7
|
||||
- 第一层·节点4·战斗 ×6
|
||||
- 第一层·节点3·战斗 ×2
|
||||
- 第二层·节点9·Boss ×2
|
||||
- 第一层·节点1·战斗 ×1
|
||||
|
||||
## ③ 营地循环爬升(用户判据④:5 次通关 → 下一层可过)
|
||||
|
||||
### 普通档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 2166 · 终态余额 12 · 锻造终态 = 生命+27/攻击+9/护甲+9
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 1 局、探巢摆钟 第 1 局、地穴全图卷 第 2 局、爆破工兵包 第 2 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 45% 达 55.0 点)(触发时注入 = 生命+15/攻击+3/护甲+1)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+15/攻击+3/护甲+1)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 8 | 100%(n=1) | 100%(n=1) | 0%(n=1) | 止步第3层 |
|
||||
| 第4局 | 血12/攻2/甲0 | 13 | 100%(n=4) | 100%(n=4) | 75%(n=4) | 通关 |
|
||||
| 第7局 | 血15/攻4/甲1 | 2 | 100%(n=7) | 100%(n=7) | 86%(n=7) | 通关 |
|
||||
| 第10局 | 血15/攻4/甲4 | 4 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第13局 | 血18/攻5/甲4 | 14 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第16局 | 血18/攻6/甲5 | 49 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第19局 | 血18/攻6/甲6 | 84 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第22局 | 血21/攻6/甲6 | 83 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第25局 | 血21/攻7/甲6 | 82 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第28局 | 血21/攻7/甲7 | 81 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第31局 | 血21/攻7/甲7 | 26 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第34局 | 血24/攻7/甲7 | 134 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第37局 | 血24/攻8/甲7 | 79 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第40局 | 血24/攻8/甲7 | 24 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第43局 | 血24/攻8/甲8 | 132 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第46局 | 血24/攻8/甲8 | 240 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第49局 | 血27/攻8/甲8 | 104 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第52局 | 血27/攻8/甲8 | 212 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第55局 | 血27/攻9/甲8 | 76 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血27/攻9/甲8 | 184 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
|
||||
### 完美档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 2143 · 终态余额 233 · 锻造终态 = 生命+27/攻击+9/护甲+8
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 2 局、工兵令 第 2 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 2 局、爆破工兵包 第 2 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 65% 达 35.0 点)(触发时注入 = 生命+12/攻击+4/护甲+2)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+12/攻击+4/护甲+2)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血12/攻1/甲0 | 0 | 75%(n=4) | 100%(n=3) | 100%(n=3) | 通关 |
|
||||
| 第7局 | 血12/攻4/甲2 | 1 | 86%(n=7) | 100%(n=6) | 100%(n=6) | 通关 |
|
||||
| 第10局 | 血15/攻5/甲3 | 5 | 90%(n=10) | 100%(n=9) | 100%(n=9) | 通关 |
|
||||
| 第13局 | 血18/攻5/甲4 | 40 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第16局 | 血18/攻6/甲4 | 26 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第19局 | 血18/攻6/甲6 | 61 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第22局 | 血21/攻6/甲6 | 60 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第25局 | 血21/攻7/甲6 | 59 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第28局 | 血21/攻7/甲7 | 58 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第31局 | 血21/攻7/甲7 | 3 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第34局 | 血24/攻7/甲7 | 111 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第37局 | 血24/攻8/甲7 | 56 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第40局 | 血24/攻8/甲7 | 1 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第43局 | 血24/攻8/甲8 | 109 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第46局 | 血24/攻8/甲8 | 217 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第49局 | 血27/攻8/甲8 | 81 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第52局 | 血27/攻8/甲8 | 189 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第55局 | 血27/攻9/甲8 | 53 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血27/攻9/甲8 | 161 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
@@ -0,0 +1,105 @@
|
||||
# 数值验证报告(20260923-043341)
|
||||
|
||||
- 采集规模:直入口每格 100 局 · 基线冒险 60 局/画像 · 战役 60 局/画像 · 种子 8000 起逐局独立 · 锻造花费策略 = hp_first
|
||||
- 切片版本:3309aae · 表状态:判定带与表值溯源见 tools/balance_verifier.py 文件头
|
||||
|
||||
## ① 直入口基线通关率(验收带判定)
|
||||
|
||||
| 层 | 画像 | 通关/局数 | 通关率±95%CI | 验收带 | 判定 |
|
||||
|----|------|-----------|--------------|--------|------|
|
||||
|
||||
## ② 零永久强化冒险:止步分布与败退节点(用户判据③)
|
||||
|
||||
### 普通档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 29(48%)、止步第2层 26(43%)、止步第3层 5(8%)
|
||||
- 第一层通过率(冒险口径交叉核对):51.7%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第二层·节点9·Boss ×13
|
||||
- 第一层·节点4·战斗 ×12
|
||||
- 第一层·节点6·Boss ×12
|
||||
- 第二层·节点1·战斗 ×8
|
||||
- 第一层·节点3·战斗 ×5
|
||||
- 第二层·节点6·战斗 ×4
|
||||
- 第三层·节点1·战斗 ×3
|
||||
- 第二层·节点0·战斗 ×1
|
||||
- 第三层·节点9·Boss ×1
|
||||
- 第三层·节点0·战斗 ×1
|
||||
|
||||
### 完美档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 6(10%)、止步第2层 41(68%)、止步第3层 13(22%)
|
||||
- 第一层通过率(冒险口径交叉核对):90.0%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第二层·节点9·Boss ×25
|
||||
- 第二层·节点1·战斗 ×13
|
||||
- 第三层·节点1·战斗 ×7
|
||||
- 第一层·节点4·战斗 ×6
|
||||
- 第三层·节点9·Boss ×3
|
||||
- 第二层·节点6·战斗 ×3
|
||||
- 第三层·节点0·战斗 ×2
|
||||
- 第三层·节点6·战斗 ×1
|
||||
|
||||
## ③ 营地循环爬升(用户判据④:5 次通关 → 下一层可过)
|
||||
|
||||
### 普通档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1614 · 终态余额 153 · 锻造终态 = 生命+21/攻击+6/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 2 局、工兵令 第 2 局、探宝罗盘 第 4 局、探巢摆钟 第 4 局、地穴全图卷 第 5 局、爆破工兵包 第 5 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 45% 达 25.0 点)(触发时注入 = 生命+6/攻击+1/护甲+0)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+2/护甲+2)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血0/攻0/甲0 | 6 | 50%(n=4) | 0%(n=2) | — | 止步第2层 |
|
||||
| 第7局 | 血6/攻0/甲0 | 7 | 71%(n=7) | 20%(n=5) | — | 止步第2层 |
|
||||
| 第10局 | 血6/攻1/甲0 | 7 | 60%(n=10) | 33%(n=6) | 50%(n=2) | 通关 |
|
||||
| 第13局 | 血9/攻2/甲1 | 10 | 80%(n=10) | 44%(n=9) | 75%(n=4) | 通关 |
|
||||
| 第16局 | 血9/攻2/甲2 | 0 | 80%(n=10) | 60%(n=10) | 50%(n=6) | 止步第3层 |
|
||||
| 第19局 | 血12/攻2/甲2 | 12 | 100%(n=10) | 70%(n=10) | 38%(n=8) | 止步第3层 |
|
||||
| 第22局 | 血12/攻3/甲3 | 36 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 止步第3层 |
|
||||
| 第25局 | 血12/攻4/甲3 | 26 | 100%(n=10) | 80%(n=10) | 10%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血12/攻4/甲4 | 41 | 100%(n=10) | 90%(n=10) | 10%(n=10) | 通关 |
|
||||
| 第31局 | 血12/攻4/甲4 | 23 | 100%(n=10) | 90%(n=10) | 20%(n=10) | 通关 |
|
||||
| 第34局 | 血15/攻4/甲4 | 31 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第37局 | 血15/攻5/甲5 | 39 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第40局 | 血15/攻5/甲5 | 134 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第43局 | 血18/攻5/甲5 | 79 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第46局 | 血18/攻6/甲5 | 37 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第49局 | 血18/攻6/甲5 | 145 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血18/攻6/甲6 | 90 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血18/攻6/甲6 | 198 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第58局 | 血21/攻6/甲6 | 81 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
|
||||
### 完美档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1922 · 终态余额 11 · 锻造终态 = 生命+21/攻击+7/护甲+7
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 2 局、爆破工兵包 第 2 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 65% 达 25.0 点)(触发时注入 = 生命+9/攻击+1/护甲+0)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+0)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
|
||||
| 第4局 | 血3/攻1/甲0 | 8 | 100%(n=4) | 50%(n=4) | 0%(n=2) | 止步第3层 |
|
||||
| 第7局 | 血9/攻2/甲0 | 12 | 100%(n=7) | 57%(n=7) | — | 止步第2层 |
|
||||
| 第10局 | 血9/攻3/甲1 | 12 | 100%(n=10) | 70%(n=10) | 43%(n=7) | 通关 |
|
||||
| 第13局 | 血9/攻3/甲3 | 62 | 100%(n=10) | 90%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第16局 | 血12/攻3/甲3 | 10 | 100%(n=10) | 90%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第19局 | 血12/攻4/甲4 | 38 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第22局 | 血12/攻4/甲4 | 33 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第25局 | 血15/攻5/甲4 | 28 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血15/攻5/甲4 | 23 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
|
||||
| 第31局 | 血15/攻5/甲5 | 118 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第34局 | 血18/攻5/甲5 | 76 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
|
||||
| 第37局 | 血18/攻5/甲5 | 34 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第40局 | 血18/攻6/甲5 | 142 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第43局 | 血18/攻6/甲6 | 100 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第46局 | 血18/攻6/甲6 | 195 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第49局 | 血21/攻6/甲6 | 78 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血21/攻6/甲6 | 173 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第55局 | 血21/攻7/甲6 | 56 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第58局 | 血21/攻7/甲6 | 164 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
@@ -0,0 +1,103 @@
|
||||
# 数值验证报告(20260923-050222)
|
||||
|
||||
- 采集规模:直入口每格 100 局 · 基线冒险 60 局/画像 · 战役 60 局/画像 · 种子 8000 起逐局独立 · 锻造花费策略 = hp_first
|
||||
- 切片版本:3309aae · 表状态:判定带与表值溯源见 tools/balance_verifier.py 文件头
|
||||
|
||||
## ① 直入口基线通关率(验收带判定)
|
||||
|
||||
| 层 | 画像 | 通关/局数 | 通关率±95%CI | 验收带 | 判定 |
|
||||
|----|------|-----------|--------------|--------|------|
|
||||
|
||||
## ② 零永久强化冒险:止步分布与败退节点(用户判据③)
|
||||
|
||||
### 普通档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 29(48%)、止步第2层 30(50%)、止步第3层 1(2%)
|
||||
- 第一层通过率(冒险口径交叉核对):51.7%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第一层·节点4·战斗 ×12
|
||||
- 第一层·节点6·Boss ×12
|
||||
- 第二层·节点1·战斗 ×12
|
||||
- 第二层·节点9·Boss ×12
|
||||
- 第一层·节点3·战斗 ×5
|
||||
- 第二层·节点6·战斗 ×5
|
||||
- 第二层·节点0·战斗 ×1
|
||||
- 第三层·节点1·战斗 ×1
|
||||
|
||||
### 完美档(60 局)
|
||||
|
||||
- 止步分布:止步第1层 6(10%)、止步第2层 45(75%)、止步第3层 8(13%)、通关 1(2%)
|
||||
- 第一层通过率(冒险口径交叉核对):90.0%
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第二层·节点1·战斗 ×17
|
||||
- 第二层·节点9·Boss ×17
|
||||
- 第二层·节点6·战斗 ×11
|
||||
- 第一层·节点4·战斗 ×6
|
||||
- 第三层·节点1·战斗 ×4
|
||||
- 第三层·节点6·战斗 ×2
|
||||
- 第三层·节点0·战斗 ×1
|
||||
- 第三层·节点9·Boss ×1
|
||||
|
||||
## ③ 营地循环爬升(用户判据④:5 次通关 → 下一层可过)
|
||||
|
||||
### 普通档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1553 · 终态余额 92 · 锻造终态 = 生命+21/攻击+6/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 2 局、工兵令 第 2 局、探宝罗盘 第 4 局、探巢摆钟 第 4 局、地穴全图卷 第 5 局、爆破工兵包 第 5 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 45% 达 5.0 点)(触发时注入 = 生命+6/攻击+1/护甲+0)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+2)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血0/攻0/甲0 | 6 | 50%(n=4) | 0%(n=2) | — | 止步第2层 |
|
||||
| 第7局 | 血3/攻1/甲0 | 7 | 71%(n=7) | 20%(n=5) | 0%(n=1) | 止步第3层 |
|
||||
| 第10局 | 血6/攻1/甲0 | 7 | 60%(n=10) | 33%(n=6) | 50%(n=2) | 通关 |
|
||||
| 第13局 | 血9/攻2/甲1 | 15 | 80%(n=10) | 33%(n=9) | — | 止步第2层 |
|
||||
| 第16局 | 血9/攻2/甲2 | 30 | 80%(n=10) | 40%(n=10) | 50%(n=4) | 止步第3层 |
|
||||
| 第19局 | 血9/攻3/甲2 | 42 | 100%(n=10) | 50%(n=10) | 33%(n=6) | 止步第3层 |
|
||||
| 第22局 | 血9/攻3/甲3 | 12 | 100%(n=10) | 60%(n=10) | 33%(n=9) | 通关 |
|
||||
| 第25局 | 血12/攻3/甲3 | 57 | 100%(n=10) | 70%(n=10) | — | 止步第2层 |
|
||||
| 第28局 | 血12/攻4/甲3 | 59 | 100%(n=10) | 80%(n=10) | 10%(n=10) | 止步第3层 |
|
||||
| 第31局 | 血12/攻4/甲4 | 87 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 通关 |
|
||||
| 第34局 | 血15/攻4/甲4 | 95 | 100%(n=10) | 90%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第37局 | 血15/攻5/甲4 | 3 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第40局 | 血15/攻5/甲5 | 98 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第43局 | 血15/攻5/甲5 | 18 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第46局 | 血18/攻5/甲5 | 126 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第49局 | 血18/攻6/甲5 | 84 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第52局 | 血18/攻6/甲5 | 29 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血18/攻6/甲6 | 137 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第58局 | 血18/攻6/甲6 | 20 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
|
||||
### 完美档(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1935 · 终态余额 24 · 锻造终态 = 生命+21/攻击+7/护甲+7
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 2 局、爆破工兵包 第 2 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——越上界(高于 65% 达 35.0 点)(触发时注入 = 生命+9/攻击+1/护甲+0)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+2/护甲+1)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
|
||||
| 第4局 | 血3/攻1/甲0 | 8 | 100%(n=4) | 50%(n=4) | 0%(n=2) | 止步第3层 |
|
||||
| 第7局 | 血9/攻2/甲0 | 4 | 100%(n=7) | 71%(n=7) | 20%(n=5) | 止步第3层 |
|
||||
| 第10局 | 血9/攻2/甲2 | 11 | 100%(n=10) | 80%(n=10) | 25%(n=8) | 止步第3层 |
|
||||
| 第13局 | 血9/攻3/甲3 | 61 | 100%(n=10) | 100%(n=10) | 40%(n=10) | 止步第3层 |
|
||||
| 第16局 | 血12/攻3/甲3 | 9 | 100%(n=10) | 100%(n=10) | 40%(n=10) | 止步第3层 |
|
||||
| 第19局 | 血12/攻4/甲4 | 50 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第22局 | 血15/攻4/甲4 | 45 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第25局 | 血15/攻5/甲4 | 40 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血15/攻5/甲5 | 48 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第31局 | 血15/攻5/甲5 | 118 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 止步第3层 |
|
||||
| 第34局 | 血18/攻5/甲5 | 76 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第37局 | 血18/攻5/甲5 | 34 | 100%(n=10) | 90%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第40局 | 血18/攻6/甲5 | 142 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第43局 | 血18/攻6/甲6 | 100 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第46局 | 血18/攻6/甲6 | 195 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第49局 | 血21/攻6/甲6 | 78 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血21/攻6/甲6 | 186 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血21/攻7/甲6 | 69 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血21/攻7/甲6 | 177 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
@@ -0,0 +1,36 @@
|
||||
# 战斗舞台 Node2D 迁移 · 信号与演出等价证明(循环 1 T4,2026-09-26)
|
||||
|
||||
> 计划书 T4 验收件:时序常量逐字对照旧实现 + 写路径逐行同构(Phase A 先例成文化)+ 调用点 grep 对比零 diff。
|
||||
> 对比基线 = T0 提交 `3db7e87`(迁移前现行态);迁移后 = worktree battle-stage-node2d-20260926 T3 提交。
|
||||
|
||||
## 1. 调用点 grep 对比(零 diff 实证)
|
||||
|
||||
| 面 | 命令 | 结果 |
|
||||
|---|---|---|
|
||||
| main.gd → stage 调用点(9 处:set_effects_cleared_feedback ×2 / gray_all_enemies ×2 / on_step_row_fx / enemy_standee_center / hero_standee_center / set_settle_focus / set_round_text) | `grep -E "stage\.(hero_standee\|enemy_standee_center\|on_step_row_fx\|gray_all_enemies\|set_round_text\|set_settle_focus\|clear_enemies)"` 老新对拍 | **逐字节一致**(行号 309/310/439/441/475/495/503/768/770 全同) |
|
||||
| hud_presenter.gd → hero_standee 投喂(4 处:set_hero ×2 / set_effects ×2) | 同法对拍 | **逐字节一致**(行号 53/54/79/80 全同——单投喂结构零变) |
|
||||
| hud_presenter.gd / main.gd / core/** 文件级 | `git diff 3db7e87..HEAD --stat` | **零行变更**(投喂链零改动实证;核心层零接触) |
|
||||
|
||||
## 2. 时序常量逐字对照(旧 StandeeView → 新 StandeeBody)
|
||||
|
||||
| 演出 | 旧(Control + tween) | 新(Node2D + tween) | 判定 |
|
||||
|---|---|---|---|
|
||||
| 血条递减 | `motion(0.15)` tween bar value | `motion(0.15)` tween hp_value 属性 | 同 |
|
||||
| 意图弹入 | scale 1.6→ONE,`motion(0.10)`/`motion(0.16)` | `_intent_scale` 1.6→1.0 同时长 | 同 |
|
||||
| 立绘前倾 | rotation 4.0→0.0,`motion(0.10)`/`motion(0.14)` | `_glyph_rot` 同值同时长(旧仅转字形 Label——贴图态无动画,新等价保持) | 同 |
|
||||
| 死亡摇摆 | modulate (0.62,0.62,0.62,0.9);rotation 2.5→−1.5→0.0,`motion(0.12)`/`(0.1)`/`(0.08)` | 逐字同 | 同 |
|
||||
| 受击闪白 | modulate (1.6,1.4,1.2) `motion(0.08)` → 白/死灰 `motion(0.2)` | 逐字同(终色按 _dead 分支同构) | 同 |
|
||||
| 复活复位 | modulate 白、rotation 0 | 同 | 同 |
|
||||
| 清空反馈微文案 | 1.2s 停留 + `motion(0.8)` 淡出 | 同(载体挂壳层伴随件父层——T3 代拍板③) | 同 |
|
||||
|
||||
## 3. 写路径逐行同构(旧 battle_stage_view.gd → 新)
|
||||
|
||||
- `on_step_row_fx(row)`:type!=""damage" 早退 / target=="hero"|""早退 / `_card_by_name(target)` 空退 / `flash_hit()` + killed→`mark_dead()`——逐行同构;`_card_by_name` 内部实现由「子件 `_name_label.text` contains」改「本体 `display_name()` contains」(语义等价,函数内部实现细节=§9 白名单)。
|
||||
- `set_enemies(cards_data)`:数量分叉(重建 vs 就地 set_data)结构逐行同构;重建侧由 StandeeView.new 改 StandeeBody.new+伴随件挂接(T3 代拍板①④)。
|
||||
- `clear_enemies()` / `gray_all_enemies()` / `set_round_text()` / `set_settle_focus()`:逐行同构(遍历对象 Control→本体)。
|
||||
- 弹道落点:`hero_standee_center()`/`enemy_standee_center()` 签名不变,实现 = 旧「本体 get_global_rect 中心」改 `world_to_shell(本体.position + box*0.5)`——**壳层口径保持(C4:结算演出 SettlementFxView 在 SubViewport 之外)**,返回值语义=站桩盒几何中心不变。
|
||||
- `set_effects/set_effects_cleared_feedback/set_hero`(投喂面):本体转发伴随件(slot_row),调用方零改造。
|
||||
|
||||
## 4. 已登记的结构性差异(非漂移,改判记录见台账 170/171)
|
||||
|
||||
1. 站桩本体载体 Control→Node2D(本批目标本身);2. slot_row 伴随件挂壳层;3. enemy_box HBoxContainer→Control 伴随件容器;4. 血条呈现由引擎默认 ProgressBar 改世界直角矩形(色值近似平移——目检清单列「血条观感」项);5. ui_probe 敌站桩断言改本体探针出口(呈现口径逐字保持)。
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,296 @@
|
||||
# 数值验证报告(20260923-084327)
|
||||
|
||||
- 采集规模:基线冒险 100 局/画像 · 战役 60 局/画像 · 种子 8000 起逐局独立 · 锻造花费策略 = hp_first
|
||||
- 切片版本:7fd6fbd · 口径:逐关读数 = 冒险条件口径(单关直入口口径已退役 2026-09-23,带待重锚只测不判——重锚归曲线调参批) · 换算率表值(meta.tres 启动解析):生命上限每级平移6点 · 基础攻击每级平移9点 · 护甲等级每级平移1点
|
||||
|
||||
## ① 逐关条件通关率(冒险口径——打通 k-1 关才到达第 k 关;带待重锚只测不判)
|
||||
|
||||
| 层 | 画像 | 通关/到达 | 条件通关率±95%CI | 验收带 |
|
||||
|--------|--------|-----------|------------------|--------|
|
||||
| 第一层 | 普通档 | 53/100 | 53.0% ±9.8 | 未定 |
|
||||
| 第二层 | 普通档 | 1/53 | 1.9% ±3.7 | 未定 |
|
||||
| 第三层 | 普通档 | 0/1 | 0.0% ±0.0 | 未定 |
|
||||
| 第一层 | 完美档 | 86/100 | 86.0% ±6.8 | 未定 |
|
||||
| 第二层 | 完美档 | 15/86 | 17.4% ±8.0 | 未定 |
|
||||
| 第三层 | 完美档 | 0/15 | 0.0% ±0.0 | 未定 |
|
||||
|
||||
## ② 零永久强化冒险:止步分布与败退节点(用户判据③)
|
||||
|
||||
### 普通档(100 局)
|
||||
|
||||
- 止步分布:止步第1层 47(47%)、止步第2层 52(52%)、止步第3层 1(1%)
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第二层·节点1·战斗 ×23
|
||||
- 第一层·节点4·战斗 ×20
|
||||
- 第一层·节点6·Boss ×20
|
||||
- 第二层·节点9·Boss ×19
|
||||
- 第二层·节点6·战斗 ×8
|
||||
- 第一层·节点3·战斗 ×7
|
||||
- 第二层·节点0·战斗 ×2
|
||||
- 第三层·节点1·战斗 ×1
|
||||
|
||||
### 完美档(100 局)
|
||||
|
||||
- 止步分布:止步第1层 14(14%)、止步第2层 71(71%)、止步第3层 15(15%)
|
||||
- 败退节点分布(失败局归因):
|
||||
- 第二层·节点1·战斗 ×28
|
||||
- 第二层·节点9·Boss ×27
|
||||
- 第二层·节点6·战斗 ×16
|
||||
- 第一层·节点4·战斗 ×11
|
||||
- 第三层·节点1·战斗 ×7
|
||||
- 第三层·节点6·战斗 ×5
|
||||
- 第三层·节点9·Boss ×2
|
||||
- 第一层·节点6·Boss ×2
|
||||
- 第一层·节点3·战斗 ×1
|
||||
- 第三层·节点0·战斗 ×1
|
||||
|
||||
## ③ 营地循环爬升(用户判据④:5 次通关 → 下一层可过)
|
||||
|
||||
### 普通档 · 生命优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1262 · 终态余额 26 · 锻造终态 = 生命+18/攻击+6/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+1/护甲+0,表值平移 +15.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
|
||||
| 第7局 | 血3/攻0/甲0 | 17 | 43%(n=7) | — | — | 止步第1层 |
|
||||
| 第10局 | 血3/攻0/甲0 | 8 | 40%(n=10) | 0%(n=4) | — | 止步第2层 |
|
||||
| 第13局 | 血3/攻1/甲0 | 19 | 40%(n=10) | — | — | 止步第1层 |
|
||||
| 第16局 | 血6/攻1/甲0 | 11 | 40%(n=10) | 0%(n=7) | — | 止步第2层 |
|
||||
| 第19局 | 血6/攻1/甲1 | 12 | 70%(n=10) | 10%(n=10) | 0%(n=1) | 止步第3层 |
|
||||
| 第22局 | 血6/攻2/甲2 | 15 | 80%(n=10) | 10%(n=10) | — | 止步第2层 |
|
||||
| 第25局 | 血9/攻2/甲2 | 4 | 100%(n=10) | 30%(n=10) | 33%(n=3) | 止步第3层 |
|
||||
| 第28局 | 血9/攻3/甲3 | 29 | 100%(n=10) | 50%(n=10) | 40%(n=5) | 止步第3层 |
|
||||
| 第31局 | 血9/攻3/甲3 | 32 | 100%(n=10) | 60%(n=10) | 43%(n=7) | 通关 |
|
||||
| 第34局 | 血12/攻3/甲3 | 10 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
|
||||
| 第37局 | 血12/攻4/甲4 | 38 | 100%(n=10) | 70%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第40局 | 血15/攻4/甲4 | 33 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第43局 | 血15/攻4/甲4 | 28 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第46局 | 血15/攻5/甲5 | 23 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第49局 | 血15/攻5/甲5 | 131 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
|
||||
| 第52局 | 血18/攻5/甲5 | 76 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
|
||||
| 第55局 | 血18/攻5/甲5 | 21 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第58局 | 血18/攻6/甲5 | 129 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
|
||||
### 完美档 · 生命优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1810 · 终态余额 124 · 锻造终态 = 生命+21/攻击+7/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+1/护甲+0,表值平移 +21.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+2/护甲+2,表值平移 +32.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
|
||||
| 第4局 | 血6/攻0/甲0 | 16 | 100%(n=4) | 25%(n=4) | — | 止步第2层 |
|
||||
| 第7局 | 血6/攻2/甲0 | 3 | 100%(n=7) | 43%(n=7) | 0%(n=3) | 止步第3层 |
|
||||
| 第10局 | 血6/攻2/甲2 | 30 | 100%(n=10) | 50%(n=10) | 0%(n=5) | 止步第3层 |
|
||||
| 第13局 | 血9/攻2/甲2 | 19 | 100%(n=10) | 60%(n=10) | 14%(n=7) | 通关 |
|
||||
| 第16局 | 血9/攻3/甲2 | 19 | 100%(n=10) | 60%(n=10) | 12%(n=8) | 止步第3层 |
|
||||
| 第19局 | 血12/攻3/甲3 | 60 | 100%(n=10) | 70%(n=10) | 40%(n=10) | 通关 |
|
||||
| 第22局 | 血12/攻4/甲3 | 8 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第25局 | 血12/攻4/甲4 | 90 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血15/攻4/甲4 | 98 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第31局 | 血15/攻5/甲4 | 93 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第34局 | 血15/攻5/甲5 | 101 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第37局 | 血18/攻5/甲5 | 59 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第40局 | 血18/攻5/甲5 | 17 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第43局 | 血18/攻6/甲5 | 112 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
|
||||
| 第46局 | 血18/攻6/甲6 | 70 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第49局 | 血18/攻6/甲6 | 178 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血21/攻6/甲6 | 61 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血21/攻6/甲6 | 169 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血21/攻7/甲6 | 52 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
|
||||
### 普通档 · 攻击优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1311 · 终态余额 75 · 锻造终态 = 生命+18/攻击+6/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+2/护甲+0,表值平移 +24.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
|
||||
| 第7局 | 血0/攻1/甲0 | 17 | 43%(n=7) | — | — | 止步第1层 |
|
||||
| 第10局 | 血0/攻1/甲0 | 16 | 40%(n=10) | 25%(n=4) | 0%(n=1) | 止步第3层 |
|
||||
| 第13局 | 血0/攻2/甲0 | 7 | 40%(n=10) | 20%(n=5) | — | 止步第2层 |
|
||||
| 第16局 | 血3/攻2/甲0 | 9 | 40%(n=10) | 14%(n=7) | — | 止步第2层 |
|
||||
| 第19局 | 血6/攻2/甲1 | 24 | 70%(n=10) | 20%(n=10) | 0%(n=2) | 止步第3层 |
|
||||
| 第22局 | 血6/攻2/甲2 | 27 | 90%(n=10) | 20%(n=10) | — | 止步第2层 |
|
||||
| 第25局 | 血6/攻3/甲2 | 16 | 100%(n=10) | 30%(n=10) | 25%(n=4) | 止步第3层 |
|
||||
| 第28局 | 血9/攻3/甲3 | 41 | 100%(n=10) | 50%(n=10) | 33%(n=6) | 止步第3层 |
|
||||
| 第31局 | 血9/攻4/甲3 | 44 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 通关 |
|
||||
| 第34局 | 血12/攻4/甲3 | 46 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 止步第3层 |
|
||||
| 第37局 | 血12/攻4/甲4 | 74 | 100%(n=10) | 90%(n=10) | 40%(n=10) | 通关 |
|
||||
| 第40局 | 血12/攻5/甲4 | 82 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第43局 | 血15/攻5/甲4 | 77 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 通关 |
|
||||
| 第46局 | 血15/攻5/甲5 | 72 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
|
||||
| 第49局 | 血15/攻5/甲5 | 30 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第52局 | 血15/攻6/甲5 | 125 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
|
||||
| 第55局 | 血18/攻6/甲5 | 70 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第58局 | 血18/攻6/甲5 | 28 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
|
||||
### 完美档 · 攻击优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1798 · 终态余额 112 · 锻造终态 = 生命+21/攻击+7/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+2/护甲+0,表值平移 +24.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+6/攻击+3/护甲+2,表值平移 +41.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
|
||||
| 第4局 | 血0/攻2/甲0 | 16 | 100%(n=4) | 25%(n=4) | — | 止步第2层 |
|
||||
| 第7局 | 血3/攻2/甲0 | 11 | 100%(n=7) | 29%(n=7) | 0%(n=2) | 止步第3层 |
|
||||
| 第10局 | 血6/攻2/甲1 | 3 | 100%(n=10) | 40%(n=10) | 0%(n=4) | 止步第3层 |
|
||||
| 第13局 | 血6/攻3/甲2 | 7 | 100%(n=10) | 50%(n=10) | 17%(n=6) | 通关 |
|
||||
| 第16局 | 血9/攻3/甲2 | 7 | 100%(n=10) | 60%(n=10) | 14%(n=7) | 止步第3层 |
|
||||
| 第19局 | 血9/攻4/甲3 | 48 | 100%(n=10) | 70%(n=10) | 40%(n=10) | 通关 |
|
||||
| 第22局 | 血12/攻4/甲3 | 63 | 100%(n=10) | 80%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第25局 | 血12/攻4/甲4 | 78 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血12/攻5/甲4 | 86 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第31局 | 血15/攻5/甲4 | 81 | 100%(n=10) | 100%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第34局 | 血15/攻5/甲5 | 89 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第37局 | 血15/攻6/甲5 | 47 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第40局 | 血15/攻6/甲5 | 5 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第43局 | 血18/攻6/甲5 | 100 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
|
||||
| 第46局 | 血18/攻6/甲6 | 58 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第49局 | 血18/攻6/甲6 | 166 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血18/攻7/甲6 | 49 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血18/攻7/甲6 | 157 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血21/攻7/甲6 | 40 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
|
||||
### 普通档 · 护甲优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1145 · 终态余额 59 · 锻造终态 = 生命+18/攻击+5/护甲+6
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 3 局、工兵令 第 3 局、探宝罗盘 第 5 局、探巢摆钟 第 5 局、地穴全图卷 第 6 局、爆破工兵包 第 6 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+0/护甲+1,表值平移 +7.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 0 | 0%(n=1) | — | — | 止步第1层 |
|
||||
| 第4局 | 血0/攻0/甲0 | 15 | 25%(n=4) | — | — | 止步第1层 |
|
||||
| 第7局 | 血0/攻0/甲1 | 17 | 43%(n=7) | — | — | 止步第1层 |
|
||||
| 第10局 | 血0/攻0/甲1 | 8 | 40%(n=10) | 0%(n=4) | — | 止步第2层 |
|
||||
| 第13局 | 血3/攻0/甲1 | 8 | 30%(n=10) | — | — | 止步第1层 |
|
||||
| 第16局 | 血3/攻0/甲1 | 19 | 20%(n=10) | — | — | 止步第1层 |
|
||||
| 第19局 | 血3/攻0/甲2 | 11 | 40%(n=10) | — | — | 止步第1层 |
|
||||
| 第22局 | 血3/攻1/甲2 | 13 | 50%(n=10) | 0%(n=9) | — | 止步第2层 |
|
||||
| 第25局 | 血3/攻1/甲3 | 12 | 60%(n=10) | 20%(n=10) | 50%(n=2) | 止步第3层 |
|
||||
| 第28局 | 血6/攻2/甲3 | 27 | 70%(n=10) | 30%(n=10) | 33%(n=3) | 止步第3层 |
|
||||
| 第31局 | 血9/攻2/甲3 | 40 | 90%(n=10) | 40%(n=10) | 50%(n=4) | 通关 |
|
||||
| 第34局 | 血9/攻3/甲3 | 40 | 100%(n=10) | 40%(n=10) | 40%(n=5) | 止步第3层 |
|
||||
| 第37局 | 血9/攻3/甲4 | 55 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
|
||||
| 第40局 | 血12/攻3/甲4 | 16 | 100%(n=10) | 80%(n=10) | 40%(n=10) | 止步第3层 |
|
||||
| 第43局 | 血12/攻4/甲4 | 99 | 100%(n=10) | 90%(n=10) | 60%(n=10) | 通关 |
|
||||
| 第46局 | 血12/攻4/甲5 | 94 | 100%(n=10) | 90%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第49局 | 血15/攻4/甲5 | 2 | 100%(n=10) | 90%(n=10) | 80%(n=10) | 通关 |
|
||||
| 第52局 | 血15/攻5/甲5 | 97 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 止步第3层 |
|
||||
| 第55局 | 血15/攻5/甲6 | 42 | 100%(n=10) | 100%(n=10) | 70%(n=10) | 止步第3层 |
|
||||
| 第58局 | 血15/攻5/甲6 | 0 | 100%(n=10) | 100%(n=10) | 80%(n=10) | 通关 |
|
||||
|
||||
### 完美档 · 护甲优先(60 局战役)
|
||||
|
||||
- 钥石:全程入账 1674 · 终态余额 213 · 锻造终态 = 生命+18/攻击+6/护甲+7
|
||||
- 道具工坊解锁时点(魔法道具面,局内效果未实装只报不判):显影尘 第 1 局、工兵令 第 1 局、探宝罗盘 第 2 局、探巢摆钟 第 2 局、地穴全图卷 第 3 局、爆破工兵包 第 3 局
|
||||
|
||||
- 判据:累计通过第一层 5 次后,第二层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+3/攻击+0/护甲+2,表值平移 +8.0 点——带重锚后随平移判)
|
||||
- 判据:累计通过第二层 5 次后,第三层条件通关率(滑窗 10 局)——带未定(只测不判)(触发时注入 = 生命+9/攻击+3/护甲+3,表值平移 +48.0 点——带重锚后随平移判)
|
||||
|
||||
| 局 | 注入(flat) | 钥石 | 第1层率(窗) | 第2层率(窗) | 第3层率(窗) | 终局 |
|
||||
|--------|--------------|------|-------------|-------------|-------------|-----------|
|
||||
| 第1局 | 血0/攻0/甲0 | 15 | 100%(n=1) | 0%(n=1) | — | 止步第2层 |
|
||||
| 第4局 | 血0/攻0/甲1 | 8 | 100%(n=4) | 0%(n=4) | — | 止步第2层 |
|
||||
| 第7局 | 血3/攻0/甲2 | 9 | 100%(n=7) | 14%(n=7) | — | 止步第2层 |
|
||||
| 第10局 | 血6/攻1/甲2 | 12 | 100%(n=10) | 10%(n=10) | — | 止步第2层 |
|
||||
| 第13局 | 血6/攻2/甲2 | 16 | 100%(n=10) | 30%(n=10) | 33%(n=3) | 通关 |
|
||||
| 第16局 | 血6/攻2/甲3 | 4 | 100%(n=10) | 20%(n=10) | — | 止步第2层 |
|
||||
| 第19局 | 血9/攻3/甲3 | 41 | 100%(n=10) | 50%(n=10) | 33%(n=6) | 通关 |
|
||||
| 第22局 | 血9/攻3/甲4 | 44 | 100%(n=10) | 60%(n=10) | 38%(n=8) | 止步第3层 |
|
||||
| 第25局 | 血12/攻3/甲4 | 46 | 100%(n=10) | 80%(n=10) | 30%(n=10) | 止步第3层 |
|
||||
| 第28局 | 血12/攻4/甲4 | 87 | 100%(n=10) | 90%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第31局 | 血12/攻4/甲5 | 82 | 100%(n=10) | 100%(n=10) | 50%(n=10) | 通关 |
|
||||
| 第34局 | 血15/攻4/甲5 | 65 | 100%(n=10) | 90%(n=10) | 70%(n=10) | 通关 |
|
||||
| 第37局 | 血15/攻5/甲5 | 73 | 100%(n=10) | 90%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第40局 | 血15/攻5/甲5 | 31 | 100%(n=10) | 90%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第43局 | 血15/攻5/甲6 | 126 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 止步第3层 |
|
||||
| 第46局 | 血18/攻5/甲6 | 84 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第49局 | 血18/攻6/甲6 | 42 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第52局 | 血18/攻6/甲6 | 150 | 100%(n=10) | 100%(n=10) | 90%(n=10) | 通关 |
|
||||
| 第55局 | 血18/攻6/甲6 | 33 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
| 第58局 | 血18/攻6/甲7 | 141 | 100%(n=10) | 100%(n=10) | 100%(n=10) | 通关 |
|
||||
|
||||
## ④ 换算率标定(OFAT 注入档 vs 白板,同种子配对逐关条件通关率差)
|
||||
|
||||
### 生命上限(每级 flat +3)
|
||||
|
||||
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|
||||
|------------|--------|--------|----------|----------------|-------------|---------------|
|
||||
| +3(1 级) | 普通档 | 第一层 | 100 | 53.0→60.0 | +7.0 ±2.6 | +7.0 ±2.6 |
|
||||
| +3(1 级) | 普通档 | 第二层 | 100 | 1.9→6.7 | +4.8 ±2.8 | +4.8 ±2.8 |
|
||||
| +3(1 级) | 普通档 | 第三层 | 100 | 0.0→25.0 | +25.0 ±18.4 | +25.0 ±18.4 |
|
||||
| +3(1 级) | 完美档 | 第一层 | 100 | 86.0→90.0 | +4.0 ±2.0 | +4.0 ±2.0 |
|
||||
| +3(1 级) | 完美档 | 第二层 | 100 | 17.4→26.7 | +9.2 ±3.2 | +9.2 ±3.2 |
|
||||
| +3(1 级) | 完美档 | 第三层 | 100 | 0.0→12.5 | +12.5 ±6.7 | +12.5 ±6.7 |
|
||||
| +6(2 级) | 普通档 | 第一层 | 100 | 53.0→65.0 | +12.0 ±3.2 | +6.0 ±1.6 |
|
||||
| +6(2 级) | 普通档 | 第二层 | 100 | 1.9→20.0 | +18.1 ±4.9 | +9.1 ±2.4 |
|
||||
| +6(2 级) | 普通档 | 第三层 | 100 | 0.0→7.7 | +7.7 ±7.1 | +3.8 ±3.6 |
|
||||
| +6(2 级) | 完美档 | 第一层 | 100 | 86.0→94.0 | +8.0 ±2.7 | +4.0 ±1.3 |
|
||||
| +6(2 级) | 完美档 | 第二层 | 100 | 17.4→34.0 | +16.6 ±3.9 | +8.3 ±2.0 |
|
||||
| +6(2 级) | 完美档 | 第三层 | 100 | 0.0→18.8 | +18.8 ±7.1 | +9.4 ±3.5 |
|
||||
|
||||
### 基础攻击(每级 flat +1)
|
||||
|
||||
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|
||||
|------------|--------|--------|----------|----------------|-------------|---------------|
|
||||
| +1(1 级) | 普通档 | 第一层 | 100 | 53.0→68.0 | +15.0 ±3.9 | +15.0 ±3.9 |
|
||||
| +1(1 级) | 普通档 | 第二层 | 100 | 1.9→16.2 | +14.3 ±4.3 | +14.3 ±4.3 |
|
||||
| +1(1 级) | 普通档 | 第三层 | 100 | 0.0→18.2 | +18.2 ±11.5 | +18.2 ±11.5 |
|
||||
| +1(1 级) | 完美档 | 第一层 | 100 | 86.0→88.0 | +2.0 ±2.8 | +2.0 ±2.8 |
|
||||
| +1(1 级) | 完美档 | 第二层 | 100 | 17.4→30.7 | +13.2 ±4.5 | +13.2 ±4.5 |
|
||||
| +1(1 级) | 完美档 | 第三层 | 100 | 0.0→22.2 | +22.2 ±8.2 | +22.2 ±8.2 |
|
||||
| +2(2 级) | 普通档 | 第一层 | 100 | 53.0→84.0 | +31.0 ±4.8 | +15.5 ±2.4 |
|
||||
| +2(2 级) | 普通档 | 第二层 | 100 | 1.9→21.4 | +19.5 ±4.4 | +9.8 ±2.2 |
|
||||
| +2(2 级) | 普通档 | 第三层 | 100 | 0.0→16.7 | +16.7 ±8.6 | +8.3 ±4.3 |
|
||||
| +2(2 级) | 完美档 | 第一层 | 100 | 86.0→95.0 | +9.0 ±2.8 | +4.5 ±1.4 |
|
||||
| +2(2 级) | 完美档 | 第二层 | 100 | 17.4→40.0 | +22.6 ±4.8 | +11.3 ±2.4 |
|
||||
| +2(2 级) | 完美档 | 第三层 | 100 | 0.0→18.4 | +18.4 ±6.2 | +9.2 ±3.1 |
|
||||
|
||||
### 护甲等级(每级 flat +1)
|
||||
|
||||
| 注入档 | 画像 | 层 | 配对局数 | 条件率 白板→档 | 差(点) | 折每级(点/级) |
|
||||
|------------|--------|--------|----------|----------------|-----------|---------------|
|
||||
| +1(1 级) | 普通档 | 第一层 | 100 | 53.0→53.0 | +0.0 ±0.0 | +0.0 |
|
||||
| +1(1 级) | 普通档 | 第二层 | 100 | 1.9→1.9 | +0.0 ±0.0 | +0.0 |
|
||||
| +1(1 级) | 普通档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
|
||||
| +1(1 级) | 完美档 | 第一层 | 100 | 86.0→89.0 | +3.0 ±1.7 | +3.0 ±1.7 |
|
||||
| +1(1 级) | 完美档 | 第二层 | 100 | 17.4→18.0 | +0.5 ±1.2 | +0.5 ±1.2 |
|
||||
| +1(1 级) | 完美档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
|
||||
| +2(2 级) | 普通档 | 第一层 | 100 | 53.0→55.0 | +2.0 ±1.4 | +1.0 ±0.7 |
|
||||
| +2(2 级) | 普通档 | 第二层 | 100 | 1.9→3.6 | +1.7 ±1.8 | +0.9 ±0.9 |
|
||||
| +2(2 级) | 普通档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
|
||||
| +2(2 级) | 完美档 | 第一层 | 100 | 86.0→89.0 | +3.0 ±1.7 | +1.5 ±0.9 |
|
||||
| +2(2 级) | 完美档 | 第二层 | 100 | 17.4→20.2 | +2.8 ±2.0 | +1.4 ±1.0 |
|
||||
| +2(2 级) | 完美档 | 第三层 | 100 | 0.0→0.0 | +0.0 ±0.0 | +0.0 |
|
||||
|
||||
### 三行汇总与建议投值
|
||||
|
||||
| 属性 | 现行表值(点/级) | 实测每级(点/级, 合并) | 建议投值 | 状态 |
|
||||
|----------|-----------------|-----------------------|----------|--------------|
|
||||
| 生命上限 | 6 | +6.0 ±0.7 | 6 | 与表值一致 ✓ |
|
||||
| 基础攻击 | 9 | +8.8 ±0.8 | 9 | 与表值一致 ✓ |
|
||||
| 护甲等级 | 1 | +1.2 ±0.4 | 1 | 与表值一致 ✓ |
|
||||
- 折算语义:每级该属性强化 ≈ 通关率带平移量(百分点)——配对同种子读数,护甲行即解锁后实测(强条目)
|
||||
- 合并口径:逆方差加权跨(档位×画像×层,配对 bootstrap SE);带平移为线性单值近似——近带顶/带底的读数受天花板压缩,判读看 ④ 明细表
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
# 换算率标定批·全量采集脚本(2026-09-23)
|
||||
# 10 次采集顺序执行:7 个 OFAT 注入档直入口(n=100×双画像×两层,同 seed0 配对)
|
||||
# + 3 个花费序战役(k=60×双画像)。产物 = production/qa/conversion-calibration/ 下
|
||||
# 各档 .log/.vjson + 合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
|
||||
set -u
|
||||
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
|
||||
SLICE=/d/code/g-plan2-conversion-calibration/game
|
||||
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
|
||||
mkdir -p "$QA"
|
||||
cd "$SLICE" || exit 1
|
||||
|
||||
run() {
|
||||
local name=$1; shift
|
||||
local t0=$(date +%s)
|
||||
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
|
||||
local rc=$?
|
||||
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
|
||||
local rows=$(wc -l < "$QA/$name.vjson")
|
||||
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
|
||||
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
|
||||
}
|
||||
|
||||
echo "=== 换算率标定采集开跑 $(date +%F' '%H:%M:%S) ==="
|
||||
run base n=100 levels=1,2 only=level seed0=8000
|
||||
run hp3 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:3
|
||||
run hp6 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:6
|
||||
run atk1 n=100 levels=1,2 only=level seed0=8000 inject=atk:1
|
||||
run atk2 n=100 levels=1,2 only=level seed0=8000 inject=atk:2
|
||||
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
|
||||
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
|
||||
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
|
||||
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
|
||||
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
|
||||
|
||||
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
|
||||
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
|
||||
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
|
||||
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
|
||||
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
# 换算率标定批·新口径重测采集脚本(2026-09-23)
|
||||
# 前提:单关直入口口径退役 + 冒险条件口径生效 + L2 收紧/关间大奖励 10→5 已落 master——
|
||||
# 首轮(直入口面、旧数值)读数作废,本脚本在冒险条件口径上全量重测。
|
||||
# 10 次采集顺序执行:白板 + 6 个 OFAT 注入档冒险(na=100×双画像,同 seed0 配对)
|
||||
# + 3 个花费序战役(k=60×双画像)。产物合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
|
||||
set -u
|
||||
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
|
||||
SLICE=/d/code/g-plan2-conversion-calibration/game
|
||||
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
|
||||
mkdir -p "$QA"
|
||||
cd "$SLICE" || exit 1
|
||||
|
||||
run() {
|
||||
local name=$1; shift
|
||||
local t0=$(date +%s)
|
||||
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
|
||||
local rc=$?
|
||||
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
|
||||
local rows=$(wc -l < "$QA/$name.vjson")
|
||||
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
|
||||
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
|
||||
}
|
||||
|
||||
echo "=== 新口径重测开跑 $(date +%F' '%H:%M:%S) ==="
|
||||
run adv_base na=100 only=adventure seed0=8000
|
||||
run adv_hp3 na=100 only=adventure seed0=8000 inject=max_hp:3
|
||||
run adv_hp6 na=100 only=adventure seed0=8000 inject=max_hp:6
|
||||
run adv_atk1 na=100 only=adventure seed0=8000 inject=atk:1
|
||||
run adv_atk2 na=100 only=adventure seed0=8000 inject=atk:2
|
||||
run adv_ac1 na=100 only=adventure seed0=8000 inject=armor_class:1
|
||||
run adv_ac2 na=100 only=adventure seed0=8000 inject=armor_class:2
|
||||
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
|
||||
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
|
||||
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
|
||||
|
||||
cat "$QA"/adv_base.vjson "$QA"/adv_hp3.vjson "$QA"/adv_hp6.vjson "$QA"/adv_atk1.vjson "$QA"/adv_atk2.vjson \
|
||||
"$QA"/adv_ac1.vjson "$QA"/adv_ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
|
||||
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
|
||||
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
|
||||
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# 换算率标定批·修复后重采(2026-09-23)
|
||||
# _defender_ac 护甲断链接线修复后,护甲注入两档与三条战役轨迹(甲轴购买后段生效)需重采;
|
||||
# base/hp3/hp6/atk1/atk2 五档注入甲=0、修复逐位不变,沿用首轮产物。
|
||||
set -u
|
||||
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
|
||||
SLICE=/d/code/g-plan2-conversion-calibration/game
|
||||
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
|
||||
mkdir -p "$QA"
|
||||
cd "$SLICE" || exit 1
|
||||
|
||||
run() {
|
||||
local name=$1; shift
|
||||
local t0=$(date +%s)
|
||||
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
|
||||
local rc=$?
|
||||
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
|
||||
local rows=$(wc -l < "$QA/$name.vjson")
|
||||
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
|
||||
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
|
||||
}
|
||||
|
||||
echo "=== 修复后重采开跑 $(date +%F' '%H:%M:%S) ==="
|
||||
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
|
||||
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
|
||||
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
|
||||
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
|
||||
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
|
||||
|
||||
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
|
||||
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
|
||||
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
|
||||
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="
|
||||
@@ -0,0 +1,35 @@
|
||||
# MC 重投基线报告(2026-09-20)
|
||||
|
||||
> 触发:主角增益续时批(台账 102)+ 伏击退役/警觉 + 行动点第八型 + 伤害下限 [1,+∞)(台账 100/101)四批行为变更后,验收重测批旧读数全部失效,按「先有数据→再分析→再方案→再决定」流程重投基线。
|
||||
> 工具:`smoke/level_monte_carlo.gd`(本批新增第 6 参 `baseline`——只跑 atk0/hp0 基线格,大样本精度成本可控)。
|
||||
> 口径:N=300/画像/关 · 逐局独立种子(unique,seed0=7000)· R3 随机流 · 双关双画像。±值为 95% 置信区间。
|
||||
|
||||
## 读数
|
||||
|
||||
| 指标 | 第 1 关 | 第 2 关 | 目标带 | 判定 |
|
||||
|---|---|---|---|---|
|
||||
| 完美档通关率 | 55.7%(±5.6) | 39.7%(±5.5) | [35, 65](不变) | ✅ 双关带内 |
|
||||
| 普通档通关率 | 46.7%(±5.6) | 34.3%(±5.4) | **本批新带 L1 [35,55] / L2 [25,45]** | ✅ 双关带内(旧带 [10,25] 下双越上界) |
|
||||
| 整关承伤均 / p90(普通档) | 15.8 / 21.0 | 13.6 / 20.0 | — | — |
|
||||
| Boss 场承伤%(普通档) | 47.7% | 49.7% | ≤50%(F4) | ✅ 带内贴缘 |
|
||||
| Boss 场承伤%(完美档) | 49.2% | **51.6%** | ≤50%(F4) | ⚠️ L2 带缘微越 1.6 点 |
|
||||
| 平均轮数(完美档) | 14.8 | 11.4 | — | — |
|
||||
|
||||
确定性重放校验:两次独立运行(间隔重跑)通关率逐位一致(47/56/34/40),unique 序列确定性成立。
|
||||
|
||||
## 判读
|
||||
|
||||
1. **完美档通关率双关落带**:改革前 70-100% 越带(mc-scan-2026-09-18、地形变异批 70%/60%)被三批行为变更(地形变异加难、伏击退役+警觉、主角增益削半)合力压回带内。台阶方向理顺(L1 55.7% > L2 39.7%,不再倒挂)。
|
||||
2. **普通档落带靠新带**:旧带 [10,25] 锚定随机点击画像,普通画像换装基础定式后失锚(用户 2026-09-20 拍板分带 L1 [35,55] / L2 [25,45],推导链 = 真人体验换算:模拟 47%/34% 对应真人新手约六成/五成通关率,元进度驱动力保留——新手仍约四成局会输)。
|
||||
3. **残留越带唯一项:L2 完美 Boss 承伤 51.6%**(较地形变异批 55.8% 收敛)。L2 完美档死亡 94% 集中 Boss 战(170/181)——Boss 场仍是第一杠杆位,微调即可入带,归曲线调参批。
|
||||
4. **结构杠杆否决维持**:算术核验(17 血尺度下百分比硬地板 <6% ≡ 平铺下限 1,台账 100 已落 [1,+∞) 下限)+ 通关率落带双重印证——「承伤硬地板」类新机制无立项必要。
|
||||
|
||||
## 逐局死亡分布(完美档)
|
||||
|
||||
- L1:132 败 = 6.boss×85(64%)+ 4.battle×41(31%)+ 3.battle×6
|
||||
- L2:181 败 = 8.boss×170(94%)+ 1.battle×10 + 6.battle×1
|
||||
|
||||
## 工具改动(随批)
|
||||
|
||||
- `level_monte_carlo.gd`:第 6 参 `baseline`(只扫 atk0/hp0 基线格);脚注 F5 带文字随新带同步。
|
||||
- 旧读数处置:地形变异批读数(普通 43/60、完美 70/60)由本批读数取代;两份 JSONL 日志(playtest_7000_20260920T043531/044638)为本次基线原始数据。
|
||||
@@ -0,0 +1,65 @@
|
||||
# Playtest Report — Dungeon Sweeper 战斗阶段垂直切片
|
||||
|
||||
> 判定:**INCOMPLETE**(两次中断的试玩尝试,定性反馈未采集)· Review mode: lean(CD-PLAYTEST skipped — Lean mode)
|
||||
> 技能:/playtest-report(analyze 模式,原始素材 = 本会话用户反馈 + 崩溃日志 + 仪器数据)
|
||||
|
||||
## Session Info
|
||||
- **Date**: 2026-09-10 ~ 2026-09-11(两次中断的试玩尝试)
|
||||
- **Build**: 垂直切片(拍板①–④落地版:atk=6 先手 / 两级奖励 / 库存关内延续 / 窗口单件)
|
||||
- **Duration**: 未完成一场完整战斗(两次均在循环中途中断)
|
||||
- **Tester**: 用户(设计师本人,唯一测试者)
|
||||
- **Platform**: PC · KB+M
|
||||
- **Session Type**: First time ×2(均为中断重试)
|
||||
|
||||
## Test Focus
|
||||
战斗阶段完整循环:开战 → 挖掘/旗/停手 → 七段结算逐行兑现 → 胜负;含 2026-09-11 新机制(主角先手、即时奖励、库存延续)。
|
||||
|
||||
## First Impressions
|
||||
- **未采集**——两次均未撑到可评估的时长。唯一间接信号:用户问"是否有图像"(程序化色块+文字的观感被注意到,属预期内的占位表现)。
|
||||
|
||||
## Gameplay Flow
|
||||
### What worked well
|
||||
- 核心循环链路本身可走通:挖掘、插旗、结算弹出、道具窗口、关卡过渡(第二场试玩已推进到"胜利→库存/HP 带入下一层"节点才崩溃)。
|
||||
- 结算明细逐行输出正常工作(崩溃均发生在呈现层读数,流水内容无恙)。
|
||||
|
||||
### Pain points
|
||||
- **崩溃 #1(High)**:第一轮结算弹道具窗口即假死——窗口数据缺 `round_index` 字段,弹窗构建崩溃但输入锁已上,游戏无声冻结。用户被迫中止。
|
||||
- **崩溃 #2(High)**:胜利/关卡过渡时再次报错——`battle_finished` 信号发出前 `hero` 已被销毁,UI 读 `hp` 崩溃,结算覆盖层未显示。
|
||||
|
||||
### Confusion points
|
||||
- 用户问"是不是设置了断点"——假死无任何提示,玩家无法区分"卡了"与"在等输入"。(呈现层崩溃静默锁输入 = 设计缺陷级体验问题,不只是代码 bug。)
|
||||
|
||||
### Moments of delight
|
||||
- 未采集。
|
||||
|
||||
## Bugs Encountered
|
||||
| # | 描述 | 严重度 | 可复现 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | 道具窗口数据缺 `round_index`,弹窗构建崩溃→输入锁死 | High | 是(固定流程必现) | ✅ 当日修复+字段契约断言入冒烟 |
|
||||
| 2 | `battle_finished` 载荷缺 hero 状态(despawn 先于信号),胜利过渡崩溃 | High | 是(打到胜利必现) | ✅ 当日修复(载荷销毁前捕获)+冒烟适配 |
|
||||
|
||||
**共性根因**:呈现层与核心间"信号载荷/时序"契约未成文;GDScript 编译不查这两类错;冒烟从未执行 main.gd。防复发已登记为 D1 GDD 三条硬性要求(载荷 schema 成文 / 场景级 headless 测试 / 状态可见性规则)。
|
||||
|
||||
## Feature-Specific Feedback
|
||||
### 全部新机制(先手攻击/两级奖励/库存延续/单件窗口)
|
||||
- **未采集**——机制是否"可感受、可归因、有趣"没有任何用户输入。
|
||||
|
||||
## Quantitative Data(注意:来自自动玩家,非人类试玩)
|
||||
- 蒙特卡洛 60 场(30 种子 × L1/L2,理性政策):胜轮均值 1.80、每轮承伤均值 2.1–2.7(max_hp=50 的 0–16%)、每场恰清图 1 次、败北 0。
|
||||
- 与设计意图冲突:**多轮结算仪式感 / RAP 取舍 / 囤刀时机未获得发生空间**(B4 失衡预警⑥定量坐实)。
|
||||
|
||||
## Overall Assessment
|
||||
- **Would play again**: 未采集(用户实际行为 = 两次遇崩即报,信任受影响——"写代码没检查依赖吗")
|
||||
- **Difficulty / Pacing**: 未采集(人类视角);仪器视角 = 过易、过快
|
||||
- **本轮试玩判定:INCOMPLETE**——循环完整性与 P2 归因("这个结果是我哪步扫雷带来的")这两个切片核心验证问题均未得到回答
|
||||
|
||||
## Top 3 Priorities
|
||||
1. **修复后完整重跑一次试玩**(当前 build 冒烟 43/43)——采集首轮真正的定性反馈:归因清晰度、结算节奏、新机制手感
|
||||
2. **难度带拍板**(C3 域):以期望表为靶(期望胜轮带/承伤占比),用 monte_carlo.gd 验算 knob 方案
|
||||
3. **headless UI 冒烟**:真实实例化 main 场景跑完整对局——把"呈现层从未被执行"的盲区关死
|
||||
|
||||
## Action Routing(Phase 3)
|
||||
- Bug ×2:已修复;如需正式追踪 → /bug-report 建档
|
||||
- 平衡项(预警⑥)→ /balance-check + C3 期望表
|
||||
- 设计变更:暂无(人类定性反馈为零)
|
||||
- Polish:占位视觉 → 格子样张测试(art-bible 既有任务)
|
||||
@@ -0,0 +1,93 @@
|
||||
# Playtest Report — Dungeon Sweeper 战斗阶段垂直切片(第 2 次)
|
||||
|
||||
> 判定:**COMPLETE**(首次完整通关的真人局,定性反馈两条,均有遥测坐实)· Review mode: solo(CD-PLAYTEST skipped — Solo mode)
|
||||
> 技能:/playtest-report(analyze 模式,原始素材 = 本会话用户口述 + playtest JSONL 遥测 + 代码/数据核对)
|
||||
|
||||
## Session Info
|
||||
- **Date**: 2026-09-12 20:13(主分析局);20:41 辅助局(调参面板加成后)
|
||||
- **Build**: 垂直切片 · 2026-09-12 五区改造批 + BUG-0001 修复前;数据 = v3 调参批(enemy.tres 18:05:atk 7/5/9/6/9、Boss 150)
|
||||
- **Duration**: 完整一关(7 节点:battle×2 → reward → battle×2 → rest → boss,12 个结算轮)
|
||||
- **Tester**: 用户(设计师本人,唯一测试者)
|
||||
- **Platform**: PC · Win10 · Godot 4.7.2 · seed 42(固定种子)
|
||||
- **Session Type**: Returning(第 3 次尝试,首次跑通全程——09-11 两局均被崩溃阻断)
|
||||
|
||||
## Test Focus
|
||||
两条旧问题的复核:① 道具获取(治疗稀缺性 / 伤害:治疗 9:1 体感);② 难度曲线(到 Boss 房前满血)。
|
||||
|
||||
## First Impressions
|
||||
- 未单独采集(用户直接进入两条旧问题反馈)。
|
||||
|
||||
## Gameplay Flow
|
||||
|
||||
### What worked well
|
||||
- **核心循环首次完整走通**:挖掘 → 结算七段 → 道具窗口 → 关卡节点(reward/rest)→ Boss → level_end victory,全程无崩溃。09-11 报告的两个 High 崩溃与 BUG-0001 软锁家族未复现(BUG-0001 修复批 20:23 落地,主分析局在其之前——悬停路径未触发,属幸存而非验证)。
|
||||
- 窗口 usable_now 投影工作正常:满血下治疗包全程禁选(usable_now:false),玩家实际行为 = 连续 skip,机制按设计执行。
|
||||
|
||||
### Pain points
|
||||
- **P1(旧问题②):全关零承伤**——12 个结算快照 hero hp 恒 50/50,Boss 房前满血、Boss 战后仍满血。对照 C3 F4 目标带(普通场承伤 ≤20%、Boss 场 ≤50%):实测 0%,越带。详见「根因分析」。
|
||||
- **P2(旧问题①):治疗包体感过剩**——Boss 战结束时库存 3 件治疗道具 + 已用 1 把小刀;用户体感"9:1 完全反过来"。实现核对结论:**9:1 配比实现正确,体感由三个结构性放大器制造**(见根因分析)。
|
||||
|
||||
### Confusion points
|
||||
- 未采集。
|
||||
|
||||
### Moments of delight
|
||||
- 未采集。
|
||||
|
||||
## Bugs Encountered
|
||||
| # | 描述 | 严重度 | 可复现 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | **浅深度战斗零敌人**:两场真人局中 d0 战斗(20:13 还含 d1)`unit_count=0`、round 1 即 victory——遭遇骰/spawn 路径疑似缺陷(C3 Rule 8 区间 [unit_count, unit_count_max] 最小值 1,不应掷出 0) | Medium | 两次真人局均现(d0 100%) | 待查——建议 /bug-report 建档 |
|
||||
| 2 | **Boss 攻击拍零兑现**:ogre_chief(pattern [attack, attack, charge, heavy])在两局中共 7 个存活结算轮,快照 beat 轮转正常(advance 在跑)但英雄血量纹丝不动——攻击链对该敌未生效(普通敌在 20:41 局 fresh 池轮正常承伤:d1 r1 −34、d3 r1 −9, ambush 乘区算术精确吻合) | High | 两局均现 | 待查——与下条根因共用一个探针 |
|
||||
| 3 | (轻微)`grant_node_active` 直调 stock、不经 `_supply.notify_granted()`——节点奖励完全绕开供给控制器计数,关卡级供给总量失控的结构性漏洞之一 | Low | 结构性 | 待登记 |
|
||||
|
||||
## 根因分析(本次报告核心增量)
|
||||
|
||||
### 问题②难度:v3 调参为何无效
|
||||
- **防御墙机制**:defense_up = stack 策略 × magnitude −50 × max_stack 2,池 clamp [−100, +100](settlement.tres)→ **同轮叠两层 = 100% 免伤**。它在**授予段生效、先于战斗段**——当轮挖到的减伤当轮即全额兑现。
|
||||
- defense_up 权重 24/75 = 安全格池**最高**单行(32%/grant),每轮 7–14 安全格 × ~44% 授予率 ≈ 3–6 次 grant → 单轮叠满两层的概率常在 25–50% 区间;20:13 主分析局 12/12 轮零承伤。
|
||||
- **结论**:v3 批选的主杠杆"atk +50%"是**乘在 ×0 上的调参**——墙不拆,任何 atk 曲线都无效。C3 F4 的 E[减伤] 估算(0.44 × 50% ≈ 22%)严重低估了 stack-to-clamp 的实际行为(实测 ≈100%)。
|
||||
- **未闭合点**:20:41 辅助局 fresh 池轮普通敌正常承伤(−34/−9 精确吻合 ambush 算术),但 Boss 轮 fresh 池仍零承伤——"防御墙"与"Boss 攻击链缺陷"两嫌疑并存,**一次 instrumented headless 探针即可分割**(逐结算行打印 beat/atk.total/pool/d_tick)。
|
||||
|
||||
### 问题①道具获取:9:1 没有反,但体感是真的
|
||||
- **配比核对(三路径全部正确)**:active_inject 池 knife_t1 60 / knife_adv 30 / heal_pack 10 = 9:1(reward.tres 89–93 行注释明示"治疗资源宝贵");grant_node_active 同池同比;B1 分流正确(即时类当场兑付、道具类入库)。
|
||||
- **本局实测**:4 次可选类获取 = 3 治疗包 + 1 小刀(Boss r6 用刀后剩 3 治疗包——与用户口述完全吻合)。按 9:1 单次 10% 治疗率,该组合概率 ≈ 0.4%——但 **seed 42 固定**,这条 RNG 轨迹每次重开都原样重放,"反过来"的体感被逐次确认。
|
||||
- **三个结构性放大器**(配比正确也挡不住):
|
||||
1. **供给量**:09-11 供给控制器批把可选类从格子权重池改为"每战斗首件保证 + 指数递减"——每关 4 战斗 × 首件保证 + 1 奖励节点 + 递减重注 ≈ 4–5 件/关(P(≥1 治疗包) ≈ 40%),且节点奖励绕开控制器(Bug #3)再放大;
|
||||
2. **满血累积**:难度零压力 → heal_pack 永远 usable_now=false → 只进不出堆在库存里,显著度极高;
|
||||
3. **固定种子**:seed 42 让坏抽变成"每次都一样的坏抽"。
|
||||
- **耦合结论**:问题①与问题②**互为放大器**——20:41 辅助局(有承伤)里奖励节点的治疗包在 70/100 时被立即使用。难度修好后治疗包消耗通道自然打开,体感问题预计大半自行消解。
|
||||
|
||||
## Feature-Specific Feedback
|
||||
### 可选类供给控制器(09-11 批)
|
||||
- 机制按设计运转(首件保证/递减/永不绝育均可在遥测中辨认);但"每战斗"首件保证在 4 战斗关卡结构下的总供给量是否偏离"治疗是稀缺奖励"的原始意图,**归 C3 重新拍板**(候选:首件保证升到关卡域、或 inject 池治疗行单独降权)。
|
||||
|
||||
### 难度(v3 调参批后复测)
|
||||
- 承伤 0% vs 目标带 ≤20%/≤50%:**严重越带**;通关率 100% vs F5 基线带 40–60%:越带。与 enemy.tres v3 注释自认的"难度严重不足"一致——**调参后未复测即判定"已处理"是本问题拖延三轮的直接流程原因**。
|
||||
|
||||
## Quantitative Data(遥测实测,playtest_42_20260912T201317.jsonl)
|
||||
- 12 结算轮 / 7 节点 / level_end victory;hero hp 全程 50/50;ambush_layers 恒 0;buffs[] 恒空。
|
||||
- 敌情:d0/d1 空场;d2 bugbear 40hp(2 轮);d3 bugbear 18hp(2 轮);boss ogre 150hp(6 轮,beat 轮转 attack→attack→charge→heavy→attack,兑付伤害 0)。
|
||||
- 输出侧:charge_dmg_a 7–14/轮(快照键现名 charge_counts/charge_points——2026-09-15 两批(命名统一 → 抽象分离);本行保留当时观测键名),boss 逐轮 −21/−16/−53(含 clear_blast 40)/−16/−24/−20——**英雄输出正常,Boss 3–6 轮内可斩**。
|
||||
- 可选类供给:4 获取(3 heal_pack + 1 knife_t1)/ 1 消耗 / 3 库存残留。
|
||||
- 20:41 辅助局(调参面板 max_hp 100 + atk 加成):普通敌承伤正常(−34/−9),Boss 仍零承伤;治疗包在缺血时正常消耗。证明消耗通道与攻击链在普通敌上健康,Boss 路径存疑。
|
||||
|
||||
## Overall Assessment
|
||||
- **Would play again**: 未采集(用户两轮即时反馈 = 高关注信号)
|
||||
- **Difficulty**: 严重不足(0% 承伤,越带)——**非数值问题,机制性免伤墙 + 疑似 Boss 攻击缺陷**
|
||||
- **Pacing**: Boss 战 6 轮偏拖(输出侧正常但无压力回报)
|
||||
- **本轮判定:COMPLETE**——两个旧问题本轮均拿到机理级解释,不再停留在"感觉不对"
|
||||
|
||||
## Top 3 Priorities
|
||||
1. **一次 instrumented 探针分割零承伤根因**:headless 逐结算行打印 beat / atk.total / hero_defense 池值 / d_tick——区分"defense_up 叠满墙"(设计变更)与"Boss/敌攻击链缺陷"(bug 修复)。**这是两问题的共同前置。**
|
||||
2. **拆墙后重调难度带**:多种子 level_monte_carlo 对 C3 F4/F5 期望表复算(承伤 ≤20%/≤50%、通关率 40–60%),禁止单种子判定;v3 的 atk 值此时才第一次真正参与计算。
|
||||
3. **供给量重拍板 + 节点奖励纳入控制器**:C3 裁决"每战斗首件保证"的总量语义(候选:关卡域首件);grant_node_active 补 notify_granted 上报;评估用种子轮换(seed 42 单轨迹不能作为平衡证据)。
|
||||
|
||||
## Action Routing(Phase 3)
|
||||
- **设计变更**(防御墙语义:stack×2→clamp −100 = 免伤;候选改法:clamp 收紧至 −60/−70、乘法衰减、重击拍穿防)→ `/propagate-design-change design/gdd/b3-status-effect.md`(连带 B1 池 clamp 语义 + C3 F4 估算式修正)
|
||||
- **平衡调整**(墙拆除后:atk 曲线/Boss hp/供给量对 F4/F5 期望表复算)→ `/balance-check`
|
||||
- **Bug**(浅深度空遭遇 #1;Boss 攻击零兑现 #2;节点奖励绕过供给计数 #3)→ `/bug-report` 正式建档
|
||||
- **Polish/观测**:治疗包满血堆积的呈现(现有 usable_now 禁选已正确,难度修复后观测残留量)→ 记入失衡预警②仪表(短缺半)
|
||||
|
||||
## 与既往报告的追踪关系
|
||||
- playtest-2026-09-11(INCOMPLETE):Top2"难度带拍板"→ v3 批(09-12 18:05)只调了 atk、**未复测**→ 本轮证实无效 + 根因前置(防御墙)。状态:**未解决,根因收窄**。
|
||||
- 治疗稀缺化(09-11 两级奖励批):配比 6%→inject 池 10%(9:1)**实现正确**;本轮体感失效根因 = 供给量 + 满血累积 + 固定种子,非配比。状态:**配比已解决,体感未解决,路径已明确**。
|
||||
Reference in new issue
Block a user