Files
xsl 4b39ae2e49 feat(new8/batch3-4): cipher/teahouse/keeper/bridge 全套交付——new8 八款全部可交付收官
四泳道并行全流水线(资产→开发→测试→玩家迭代闭环),双双 R1-R2 连续达标裁定可交付:
- cipher《暗码》223 断言:摩尔斯解码嵌叙事/四结局矩阵/暴露度逐NIGHT验算/三层兜底;R2 三修(链首标记音/预警震/结局计数句+4句补录)4/4 全满分档
- teahouse《深夜茶馆》205 断言:泡茶时机窗/经济逐晚对账/多晚弧线;连续 2 轮 4/4 愿意玩 P0=0
- keeper《守塔人》257 断言:时空签名教学-兑现/插叙触发回返/trust×truth 档位/4结局;R2 F1/F2 坐实(震型豁免/首播跳句锁)4/4
- bridge《星环舰长》336 断言:巡检节奏逐毫秒/危机×系统态矩阵/仲裁7场景/忠诚差分/评级验算;R1 当场修F1-F4、R2 F5 菜单顺延保护 4/4 上行

公共:index.html 四卡片+profiles.js 四桶+check_all_assets 登记(预接线)、00-program 八款进度账收账、
gen_voice_dual 四游戏段、README/HANDOVER 阵容更新(11 款)、voice_text.json 四游戏键、mureka 台账(累计$1.26/$2.00)

验证:四游戏 playtest 223/205/257/336 全绿 + guide 122/122 + 全项目 15 游戏资产终检绿
遗留:keeper 三代人声滤波人耳试听(最高优先,ASR 对滤波句失明)、bridge 音频 32MB 超软指引 2MB(压缩候选)
2026-09-14 05:48:13 +08:00

36 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 《暗码》R1 全拟真试玩报告
两局都真打完(live harness:真 chromium + SenseVoice ASR 听游戏实况,非 mock;控制端口 8131,游戏服务器 8001)。
## 局 A(主线 · 全译对 · p2左 p4右 p6右 p8右 p9左 → e1「最后一电」)
- 设置:`voice=male, speed=1.0, bgm=normal, guide=full`
- 产物:`live/A/`(events.jsonl 363 行 / mix.webm 6.4MB / transcript.md 474 行 / verdicts.json)
- 语音段:63(vstart/vend 成对);ASR 判定行 86,**OK 83 / MISMATCH 3 / TRUNCATED 0**(事件层截断 0)
- 结局:**e1**,尾声四封点名全 ok 线(ep_med_ok / ep_list_no / ep_hand_ok / ep_spy_ok),结算单击后新夜班正常起播
- 三处 MISMATCH 全部归因 ASR 近失(非游戏缺陷):
- `cand_bay`「货船。」0.66s 短窗 + 静电底噪 → 听成「破铲」(两字词归一化后相似度惩罚极大)
- `r2b_act` sim 0.571(「誊清」听成「同卿」,同音近失,阈值 0.6 线下)
- `gd_tune1` sim 0.545(看门狗句在底噪上)
- 关键机制实录:T4 danger 拍 step_halt@296.9s → 2s 后 rev_spy@298.9s(L2 预警窗精确);d9_send 配 key_send;e1_a 配 dawn_bell;male 侧处长 b_chief 走「性别目录 404→平铺回退」链(radio G3 同款,VERDICT OK sim 0.913,非静默)
- 报错:非资产类 console.error = 0;无死锁、无状态错乱
## 局 B(压力线 · 带噪声 · 抉择全右 → e2「值完这个班」)
- 设置:`voice=female, speed=1.7, bgm=normal, guide=standard`
- 产物:`live/B/`(events.jsonl / mix.webm / transcript.md / verdicts.json)
- 语音段:67;ASR 判定行 90,**OK 81 / MISMATCH 7 / TRUNCATED 2**
- 结局:**e2**(d9_sleep→d9_sleepe 链实录),T2 用密码本提示流(hint_t2 VERDICT OK)——live 实测提示流可行
- 归因(radio 局 B 同款口径):
- 2 处 TRUNCATED(cf_confirm/p8_known)全部可归因到**压力驱动自己的噪声 tap**(T4 浏览期注入的连点触发了两段确认的第 2 击与链末推进,把可跳句掐短)——逐段核对 vend 时长,游戏没有自残;p* 不可跳契约由事件层兜底( armed 后连点只缓存 pendingChoice)
- 7 处 MISMATCH 均为 1.7× 语速 + 底噪下的 ASR 同音近失(誊清→藤青、今夜交接→今液交际),人耳可辨
- guide=standard 档看门狗只震+earcon、提示句由 onEscapade 补播,全程零静默
## 结论
- 四结局矩阵两条线(e1/e2)真机走通;摩尔斯时值、danger 拍、key_send 承诺绑定、NPC 回退链全部实况兑现
- 事件层截断 0(A)/ 2(B,玩家 tap 归因);ASR 层无非归因缺陷
- 基础设施修复(本轮沉淀,惠及全部泳道):
1. `control.mjs` 会话种子补 `localStorage.removeItem('soundgame.progress.<game>')`——共享浏览器 profile 下同源 localStorage 跨会话残留曾导致每局进 ASK 续玩流
2. 驱动侧教训:等待页面 `probe_ready` 再点遮罩(并行负载下页面加载数秒,早 tap 丢失);swipe 手势类型为 `swipeleft/swiperight`;事件 url 匹配用裸 id(`p2` 而非 `voice/p2`,性别目录路径 `voice/male/p2.ogg` 不含后者)