Files
SoundGame/research/new8/dungeon/round3/live-player.md
T
xsl 45124a1b9b feat(new8): 批次1收口——radio/dungeon 双双标记可交付(R3 synthesis×2 + H1 热修 + 定向live复验PASS)
- radio:R3 放行(4/4 人设满分档 5/5、愿意玩、P0=0;live 四修坐实+SA3 真声入局)
- dungeon:R1 0/4→R3 4/4 翻案达成;H1 死亡结算链截断根修(真凶=双击窗幽灵 tap 死后回调路由进 SETTLE,800ms 手势死窗;7 断言含旧代码反证)+ 定向 live 复验 PASS(两局含 R3 同款幽灵场景,结算链 7 句逐句完整)
- 章程账本更新:批次 1 验收 ☑(R4-R6 经用户裁定暂停,视上手反馈续;v2 首条=漫游迷路抢救盲区)
- 断言账面:radio 246 / dungeon 1649 / 9 套件全绿
2026-09-03 03:01:45 +08:00

14 KiB
Raw Blame History

《回声地窟》R3 live 确认局报告 — 老陈(认真局)+ 急躁压力局(收口验证)

R3 轮次协议第 3 步:dev 交付 E0-1/E0-2/E1-1/E1-2 + 打磨项后的 1 局 live 确认。红线遵守:未改任何游戏代码/资产/harness 代码;乱按局抢救触发时刻均给 t=(录音时基秒)。

基本信息

  • 身份:老陈,R2 同款细心中年玩家,认真局走完「新手弧线」;另一局换急性子表弟小飞代打乱按压力局。
  • 设置与会话(web/harness/live/out/ 落盘,events.jsonl + verdicts.json + mix.webm + transcript.md 四件套齐全):
    • 局 A0(意外收获局)dungeon-20260902150137:male/normal/normal/full。本想在 D1 教学步停顿读一下说明书,静置 92 秒——被 E0-2 接管当场滚出教学。这个「事故」成了 E0-2 的第一份 live 证据,遂保留。
    • 局 A(认真主局)dungeon-20260902150633:male/normal/normal/full。因 A0 的自动滚出把 drillDone 写进了存档,本局直接跳教开局(恰好覆盖「跳教学路径」);跳教 → L1 → L2 → L3 → Boss 战死亡 → 结算 → 新周目。206 手势,266 段语音事件。
    • 局 B(乱按压力局)dungeon-20260902155741:female/full。注:settings 传 "speed":"1.7" 被引擎规整为 1(本 harness 的 speed 枚举是 1.0/0.3/0,R2 的 1.7x 语速通道本次不可复现——仪器侧,见 P3-2),故 B 局是「同速乱按局」而非 1.7x 局;E0 断言全部依赖事件层时基,不受影响。
  • 手势统计:A0 = 4;A = 206(tap/longpress/swipe×4/doubletap 全用,另用第二 CDP 客户端补了 2 次 1300ms 裸长触,仅仪器手段、未碰代码);B = 56(乱按:longpress/双滑/双击/上滑混撒,刻意不含下滑=跳教学,把「滚出教学」留给看门狗)。
  • 报错:三会话 asset404=0、pageerror/unhandledrejection=0、console.error=0;vend reason=preempt = 0(R1:71 分钟 35,611 次;R2:0;R3:0,连续两轮干净)。

R3 修复逐条现场验证

# R3 修复 结论 现场证据(t=会话内秒)
E0-1 看门狗双轨(无进展轨 30/60/90s:earcon→短句→导航接管;只由状态推进重置) 修好(两局双确认,阶梯逐级实锤) A 局:最后进展=1010.5(走格)→ earcon(confirm 震+tick)1034.8(+24s)→ stair_hint_a 1064.9(+54s)→ nav_s 1094.9(+84s,=90s 档 + 5s 轮询粒度);期间脉冲/手势不断但零进展,无操作轨被喂饱照样升级——「乱按不再饿死」直证。B 局复现:杀怪进展 ≈486 → earcon 517.6 → stair_hint_a 547.7 → nav_e 577.7,30/60/90 三档严丝合缝;导航模式下每走一步重报(2494.1 step→nav_e 随步重指)+60s 周期重报(1094.9→1154.9→…→2438.5,严格 60s)与 R2 L3 带路口径一致。「有真实进展不误触发」:A 局 1094.9 接管后我一路走格/打怪推进,全程无 earcon/短句误发;B 局 697-718 走格+撞墙期间同样零误报,只有随步 nav 重指。**
E0-2 跳教学路径:教学态同享无进展轨,90s 接管=自动滚出教学;跳教后 120s 内必有遭遇或指向语音 修好(两条退出路径都验到,且跳教后 6 秒即有遭遇) 路径①(A0 局,静置型):D1 教学步零输入静置,最后进展 80.7 → tut_skip 172.4(+91.7s) 自动滚出教学进探索——「R2 的 39 分钟」vs R3 的 92 秒。路径②(B 局,乱按型):小飞从 TITLE 起乱撒非下滑手势,教学被「两次做错自动演示通过」快速推进(tut_front_rule 59.7 → tut_side_rule 65.9 → tut_walk 71.7 → tut_turn 80.9 → tut_replay 102.8 → tut_status 111.3 → tut_mob 117.8),卡在 D9 寻路步后:stair_hint_a 171.6 与 194.4 两次短句 → tut_skip 224.4(最后进展 129.6 走格 + 94.8s) 滚出教学。跳教后密度:tut_skip 228.7 播完 → 230.3 蝙蝠扑击接战(+5.9s),远优于「120s 内必有」断言(A 局跳教开局 62.7s 也已有 mob_step 逼近、71.4s 接战)。**
E1-1 踩上楼梯格「到达即报」:自动贴身铁器回声 + 下行提示,不靠玩家脉冲;tap 下潜照常 修好(两个干净样本 + 脉冲射线报铁器也活着) 样本1(A 局 L1,误打误撞全程录到):519.27 longpress 踏上楼梯格 → 同一拍自动 echo_1(519.72)+ mat_stair(519.84)+ tut_stairs_on(519.82,「楼梯就在脚下。单击,下潜。」),零玩家脉冲输入;523.78 tap → stairs_down+evt_descend(3.12s)+st_floor_2,下潜演出照常。样本2(A 局 L2,刻意复现):1371.66 脉冲先听到 echo_1+mat_stair(正前射线铁器回声,R2 D0-2 的「相邻格兑现」同时活着);1377.47 踏格 → 自动 echo_1+tut_stairs_on+mat_stair 三连;1382.04 tap → 下潜 st_floor_3。教学 D9「听到铁器回声再走过去」的承诺第一次在输入层无死锁地兑现(R2 P1-1 当场销案)。**
E1-2 band1(0<金<50)新句 gold_some「带回来一点,不多」,上滑/结算/TITLE 同账本同分档 修好(含 0 金对照,全表面零谎报) A 局上滑:杀怪入账后 meta.gold=6/11/21 三次上滑状态链金币位全部播 gold_some(250.9,ASR「带回来一点不」sim 0.92;642.5 附近 B 局亦同);金到 ≥50 后同一条链换 st_gold_2「有些积蓄」(2545.9)——同一分档函数随账自动升档。0 金对照(B 局开局):129.6/144.5 金币位播 st_gold_1「口袋空空」——0 金说空手、少量说「带回来一点」、攒多说「有些积蓄」,三档句句真话,R2/P2「捡到金币→口袋空空」的谎报结构已消除。结算/TITLE 表面:A 局死亡结算链因新 P1(见下)在 die_intro 即断,_metaGoldVoice 的死亡链样本未能采到;TITLE 面亦未访问——但状态链已实证同一 _goldBand/_stGoldVoice 出口(与 SETTLE/TITLE 共函数),代码面单出口 + live 面三档真话,判修好,仅欠一张死亡链的现场收据。**
打磨 战斗逃跑长按需按满 900ms;短松(<900ms)=取消+区分提示「想逃跑,按住别松手」 修好(两半都实测) 短松取消(harness 长按固定 600ms<900ms):A 局 570.4 → error 震 [60,40,60] + tut_flee_hold(「想逃跑,按住别松手」,ASR「抢逃跑,按住别怂」sim 0.67)✓;且每场战斗只播一次(同场第二次 528.2/1528.8 只震不播,1519.7 新战斗重播——按设计);B 局 2011.7 第三次独立战斗同款复现。按满真逃:第二 CDP 客户端裸触 1300ms(仪器手段)→ A 局 682.5 btl_flee「必成挨一下」(hurt 音随行)+ BGM 战→explore 立即回切 ✓。Boss 禁逃:L3 石甲蟹战裸触 1300ms → 2715.3 btl_flee_boss「退路塌了,跑不掉!」sim=1.0 + 纠错震 ✓。**
整体 教学→2-3 层→战斗→死亡→结算→新周目,零死锁零抢占 基本通过(一处 P1 见下) 三会话合计教学 D0-D9 全步骤台词齐(A0+ B 覆盖);A 局 L1→L2→L3 三层全走(两跳楼梯全是「到达即报」接「单击下潜」);战斗 9 场(蝠×4 鼠×3 蘑菇×3 石甲蟹×1,含格挡成功 btl_parried、击杀升档 btl_lvup×2、自动侧移报位 mob_step_heavy_r、挥空真话 btl_swish「挥空了,他不在你面前」);死亡一场(Boss 重击)+ 结算 tap 直接开出新周目(sys_new_run 2864.1,且因 drillDone 不再进教学,与 R2 口径一致)。零抢占:三会话 vend reason 全部 =kill,preempt=0;零死锁:三会话最大事件空窗逐一归因——A 局 92.7s/91.6s 均为本玩家读代码静置、76.0s 即下述 P1 结算中断;B 局 207.5s 为下述 P2 战斗静置——无一处是游戏卡死。**

局 A 体验叙述(验收视角,第一人称)

跳教开局后上滑第一件事就是听金币位——上一轮还嘴硬「口袋空空」,这局捡了 3 金就改口「带回来一点,不多」,账本子终于说人话。L1 的蝙蝠扑上来,我手一慢吃了下 ACK,反手两刀放倒;第二只扑进来把我上滑状态链拦腰打断——遭遇优先级最高,这个「没礼貌」是对的。真正的高潮在 519 秒:我随手一个长按,脚下突然自己响起贴身铁器回声+「楼梯就在脚下,单击,下潜」——上一轮我用尽办法都听不到的这句教学承诺,这一轮是踏上去自动送来的。L2 重复了一遍(这次我先脉冲听到了正前方的铁器尾音,再踏格、再听一遍到达即报),L3 卡了会儿路,干脆静坐——24 秒后 earcon、54 秒短句、84 秒导航接管准时点名「往东」,导航模式每走一步重报下一步,把我一路带到石甲蟹脸上。Boss 战里短按长按被「想逃跑,按住别松手」劝住,真按满一拍被「退路塌了,跑不掉!」拒绝,两刀换位脚步报位、挥空播「他不在你面前」,最后被重击放倒——然后结算链只说了半句「你倒下了」就哑了,结算屏静坐 76 秒直到我自己单击开出新周目。这是本局唯一一次游戏「说到一半闭嘴」。

局 B 体验叙述(小飞乱按:非下滑混撒)

小飞不识字也不听课:教学 D0-D7 被他的胡乱输入用「两次做错自动演示」一路买通(每步 ~10 秒),卡在 D9 找楼梯时彻底躺平——17 秒后游戏开始喊「找找铁器的回声」,两遍之后一脚把他踹出教学(tut_skip),6 秒后蝙蝠扑脸。进了战斗他又躺平:15 秒一次「轮到你了」喊了一轮之后就再没人理他(见 P2)。他惊醒后乱拍了几刀拍死两只蝠,然后原地脉冲装死——30 秒 earcon、60 秒短句、90 秒导航接管全套准时上演,比 A 局那个假装的「新手」还标准。0 金时状态链老实说「口袋空空」,乱拍捡了 6 金立刻改口「带回来一点」——账本子对乱按党也不撒谎。

新问题清单

P0

无。R2 收敛出的 P0(看门狗饿死)在本轮双局三场景(静置/乱按/导航中推进)全部按新阈值工作。

P1(功能失效/设计违约)

  1. 死亡结算链在 die_intro 处截断,后 6 句全部未播,结算屏静默直至玩家输入(A 局 2786.88)
    • 现场:被石甲蟹重击放倒瞬间,die_intro(dur 1.44s)只播了 0.18s 即被杀(event 层 vend 2787.06 + ASR verdict TRUNCATED sim=0「我。」双证),其后 die_cause_2/die_adv_*/st_floor_3/金币档句/settle_stronger/settle_again 零 fetch 零 vstart,结算屏 76.0s 无任何事件(事件空窗榜第 3 位),直到我 2863.7 单击直接开出 sys_new_run;
    • 后果:归因真话律的死亡链(你死于什么/下次怎么办)在本局一个字没播,E1-2 的死亡链金币句样本也随之丢失;新周目只能靠玩家盲点结算屏;
    • 嫌疑:死亡瞬间与挥空链同 tick(2782.7 btl_swish speakGuarded 链未清 + 2786.7 致命 tel_heavy 同窗),竞态杀掉了 _speakGuarded 结算链;R2 两场死亡全链逐句播完,本条按回归嫌疑处理,建议 dev 用「挥空瞬间被打死」复现;
    • 缓解事实:点击结算屏仍能正确开新周目,不卡死。

P2(不适/可疑)

  1. 战斗中完全静止(不出招也不乱按)超过一轮提示后彻底安静(B 局 248.8 → 456.3,实测事件真空 207.5s):战斗看门狗只有 15s gd_turn+30s tick 两级,之后 disarm;代码面 _stuckCheck 仅在 EXPLORE/DRILL 态运行,无进展轨不进战斗。设计逻辑自洽(乱按会推进战斗回合=进展,不该升级),但「吓得僵住不动」的玩家在战斗里喊一轮「轮到你了」后无人再理——还好回合制敌人也不主动出拳,无实际伤害,体感空。建议:战斗态静止 60s 后重复 gd_turn 或补一句战斗提示。
  2. 导航接管与随步重指短窗叠加(A 局 2494.1 与 2498.5,4.4s 内两条 nav_e):随步重指 + 60s 周期重报在同窗相撞,NAV_MIN_GAP(1.5s)拦不住。 harmless 但听着重复,建议周期重报与随步重指共享节流窗。

P3(建议/仪器)

  1. gd_pulse 被遭遇打断时 vend reason 仍记 kill(A 局 71.2-71.38,verdict TRUNCATED sim=0):引擎把「抢占让位」也走 _killVoice,探针 reason 字段分不出「播完」与「让位」——本局语义正确(遭遇优先),但仪器口径上 R2 的「reason=preempt 计数」可能漏计这类正常让位,建议 vend 增加区分原因。
  2. harness speed 枚举不接受 1.7:{"speed":"1.7"} 被规整为 1,R2 的 1.7x 语速+ASR 盲区压力通道本轮不可复现(仪器侧,未改 harness)。
  3. 未覆盖的 R2 已验项未重测(非本轮范围):自动喝药、D9 教学看门狗 30s stair_hint_a(B 局在真实 D9 中已顺带复现 171.6/194.4)、菜单首项播报。

做得好的地方(实话实说)

  • 30/60/90 无进展阶梯是精确的:两局四个场景,earcon→短句→接管的间隔全部落在阈值+轮询粒度内;且「任何手势都不重置无进展轨」真的做到了——我一边脉冲一边读秒,它照样按点升级。
  • 「到达即报」是本轮最动人的修复:R2 那句我一辈子听不到的「楼梯就在脚下」,现在踏上去就自己响,还带贴身铁器回声;同时脉冲射线报铁器的老路没被拆掉。
  • 两条教学退出路径都是活的:静置 92 秒被请出去,乱按卡 D9 也被请出去,跳教后 6 秒就有蝙蝠来面试——E0-2 的两个断言全都不是压线过。
  • 逃跑三态干净利落:短松=取消+一句教学补课(每场一次不烦人)、按满=真逃挨一下、Boss=拒绝回执 sim=1.0。
  • 金币账本三档全真话:0 金「口袋空空」、少量「带回来一点,不多」、攒多「有些积蓄」,上滑一条链随账自动换档,A/B 两局互为对照。
  • 连续三轮(R1→R2→R3)preempt 从 35,611 → 0 → 0,风暴没有复发。

一句话裁决

R3 四条修复全部在真机上兑现——看门狗终于长了一张按 30/60/90 秒准时报事的嘴、教学留不住赖子也困不住新手、楼梯一踩自己报、金币账本三档全真话、逃跑长按有了手感——唯独死亡结算屏在 Boss 战说了一半「你倒下了」就哑火 76 秒(新 P1),把这条修顺,dungeon 就是可交付状态。