四泳道并行全流水线(资产→开发→测试→玩家迭代闭环),双双 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(压缩候选)
67 lines
8.7 KiB
Markdown
67 lines
8.7 KiB
Markdown
# 《星环舰长》全拟真试玩报告 — R1 双局(认真新手 + 乱按压力)
|
||
|
||
## 基本信息
|
||
|
||
- 对象:`web/bridge/` @ localhost:8001,真头 Chromium + SenseVoice ASR 全拟真(mix.webm/events.jsonl/verdicts.json 落盘在 `web/harness/live/out/bridge-20260913180309`(局 A)与 `bridge-20260913183130`(局 B))。
|
||
- 局 A(认真新手):`voice=female, speed=normal, bgm=normal, guide=full`。录音窗 ~15.5 分钟(驱动停顿约 4-5 分钟,净玩 ≈11 分钟)。D0 巡检跟练(四状态音 2.4s 节奏实测逐毫秒的精确)→ S1 求救(错过 20s 窗→超时默认结局真话链)→ S2 陨石(超时≡硬闯)→ 修理护盾/引擎两级逐笔 → S3 海盗(超时)→ S4 辐射(超时+方位受殃落护盾实证)→ **评级 B**(score=8+1+0+0+1=10 账目可复算,功勋 7=4+3+0)。
|
||
- 局 B(乱按压力):`voice=female, speed=normal, guide=standard`。录音窗 ~15 分钟。**中断复述链实证**(局 A 半途存档 → 重进 TITLE → st_hull→st_seg→recap_go→ROUTE,无异常时跳过异常句 ✓)→ 教学 D2 驰援**窗内下令成功**(res_reward→loy_aid→doc_aid 完整)→ 决策窗内**菜单冻结实证**(menu 期倒计时零推进,关闭后续走)→ S2 修理护盾(RP 跨档双向播)→ S3/S4 连超时 → **S4 余波双危机实证**(结算后 2s 第二波陨石,绝不叠加签名)→ 余波再超时 hull 归零 → **死亡链实证**(die_intro→die_meteor[lastHit=陨石余波]→die_adv_to[超时≥2]→rep_open→rate_d→merit_2→settle_hook,三问归因全真话)→ 链锁三记乱点全吞。
|
||
- 两局合计 214 个 voice 段:A 局 OK 87 / MISMATCH 8 / TRUNCATED 3;B 局 OK 59 / 未判 46 / TRUNCATED 6 / MISMATCH 5。未判 46 条为 ASR 管道积压(局 B 与转写轮同机抢 CPU 所致,测量局限);MISMATCH 集中在 ≤8 字短句(dir_* 方位句 4 条、evt_* 类型句)——混音背景下短切片 ASR 同音误识的已知限制,事件层 TRUNCATED/SILENCE 判定不受影响。
|
||
- 全程无卡死、无死锁、无语音叠语音、零页面错误;结算链锁、菜单冻结、超时默认结局、双危机 FIFO、死亡折算全部走通。
|
||
|
||
## 局 A 叙述(认真新手,female/normal/full)
|
||
|
||
开场:t=4.8 sys_new_patrol 被掐(**P1-1:开场句被教学链顶掉**,F1 已修)→ intro_1..5 + tut_d0 五句完整(sim 0.71-1.0)→ 标题乱划期 doubletap 重听 intro 链生效(R2 裁定路径)。
|
||
|
||
D0:t=66.1 上滑 → 巡检链**逐毫秒实证**:sys_engine_ok/shield/scan/weapon 四音分别起播于 66.5/68.9/71.3/73.7(间距 2400ms±50,SYN 资产节奏精确)→ tut_all_ok「四个音都稳」→ 账目段七句(舰体/段/资源/三船员档)齐播。→ t=91.8 账目段尾句 st_doc_2 被 S1 危机检测链顶断(**A1 顶断巡检链,设计内**,尾词丢失属可接受代价)。
|
||
|
||
S1 求救(t=94.8 起):签名 sig_distress+dir_bow 尾音 → evt_distress「断续三短」→ dir_stern → cr_decide → opt_aid 预览 → gd_decide(窗半程看门狗)→ **t=127.9 超时**(驱动 latency 错过 20s 窗)→ cr_timeout→loy_ignore→doc_ignore(医师失望,真话)→ evt_dock。学期零惩罚兑现: hull/RP 无伤。
|
||
|
||
S2 陨石(t=355 起,shield 已被磨损打伤):检测链完整 → 超时 ≡ 硬闯(shield dmg → hull−2 res_bad)→ 段末 sup_none「这个岗位,眼下没人顶上」(band<2,每局一次 ✓)→ DOCK 修理护盾(wrench→rep_ok→eng_fix,RP 4→2 跨档回播 st_rp_2 ✓ 双向)。
|
||
|
||
S3 海盗(t=634 起):engine 磨损受损(alm 脉冲在场)→ 超时 → res_bad hull−2 → **st_hull_3 危急档跨档播报** → loy_rad → DOCK 修引擎(RP 3→1 跨档 st_rp_1 ✓)。
|
||
|
||
S4 辐射(t=878 起):超时 → res_hurt(hull 2→1)→ res_rad → **sys_engine_dmg 受殃实证**(方位舰尾→引擎,intro_5「哪边先遭殃」承诺兑现)→ loy_rad → REPORT:rep_open→rate_b→merit_2→settle_hook 全链完整。单击返航。
|
||
|
||
## 局 B 叙述(乱按压力,female/normal/standard)
|
||
|
||
续玩复述:局 A 半途存档(B v1 被停)→ 本局 TITLE 播 sys_continue_ask → 单击 → **复述链 st_hull_1→st_seg_1→recap_go**(全好无异常,异常句正确跳过)→ 落当前段 ROUTE(§11 恢复语义实证)。
|
||
|
||
教学:t=75.8 tut_d0 → 乱按期 turn_tick(30s nudge)→ tut_d0 重教(60s rung)→ t=144 S1 求救检测链顶进 → D2 教学句 tut_decide+tut_aid 接决策窗 → **t≈190 窗内单击驰援成功**:pa_chime→warp→res_reward→st_rp_2(2→4 跨档)→loy_aid→doc_aid 全链完整(**窗内下令实证**)→ tut_after→tut_loyal。
|
||
|
||
菜单冻结实证:决策窗内下滑开菜单(sys_menu→settings_hint)→ 挂 14s 真实时间 → 关闭 → **倒计时续走未偷跑**,opt_aid 重播。期间观测到两处 P1(均当场修复,见问题清单 P1-2/P1-3)。
|
||
|
||
S2 陨石(rich 线):双磨损连打护盾 → 超时 hull−2 → st_hull_2 带伤档 → sup_none → DOCK 修护盾。S3 海盗:超时 hull−2 → st_hull_3。S4 辐射:超时 hull→1 + 受殃 engine dmg → **余波双危机**(t=867.9 第二波 sig_meteor,FIFO 顺延 2s 实证)→ 余波超时 hull 归零 → **弃舰死亡链**:die_intro→die_meteor→die_adv_to→rep_open→rate_d→merit_2→settle_hook( merit=4段+0+floor(7/3)=6 → merit_2 ✓ 折算真话)→ 链中 tap/left/doubletap 三连全吞(链锁实证)→ 单击返航。
|
||
|
||
## 问题清单
|
||
|
||
### P0(阻塞/卡死)
|
||
|
||
无。两局完整闭环(A 局评级 B 返航;B 局死亡链→返航);乱按、菜单三进三出、决策窗冻结、双危机、链锁乱点、续玩复述全部无死锁,零页面错误。
|
||
|
||
### P1(体验断裂:截断/假话/承诺不兑现)
|
||
|
||
1. **sys_new_patrol 开场句被教学链顶掉**(局 A t=4.8 TRUNCATED,起播即被掐,sim=0)。触发:`_startPatrol` 先播 sys_new_patrol 后同步进段,DRILL intro 链立即顶掉。
|
||
- 修法(F1 已落):`_startPatrol` 改 onDone 链——sys_new_patrol 落声后再 `_enterSeg(1)`。playtest 场景 2 已断言序。
|
||
2. **教学危机超时时 DRILL 悬挂**(局 A 实测坐实):求救超时(合法零损失路径)后 drill 停在 step1/2——drillDone 永不持久化(次局重进教学)、残留看门狗在后段空响、且 D2 的 90s 自动演示不可达(窗 20s≪90s,设计缺陷)。
|
||
- 修法(F2/R11 已落 + 文档 §15-R11 裁定):结算时 step≥2 → D3 常规收束;step≤1 → tut_done 直接收束→段末;收束期下滑跳过补 `_endSeg`(段计时已停,不补卡死)。playtest 新增 R11 超时收束断言。
|
||
3. **教学看门狗顶菜单**(局 B t=179.5 实测):菜单开着时 drill 自动演示照常开播,把菜单自己的语音链掐断(sys_menu_resume 只播「回到」二字)。
|
||
- 修法(F3 已落):`_drillTimers` 各 rung 加 R8 一致语义——菜单期顺延 2s 不丢失不顶撞。级联的 tour/选项句互掐随之消失。
|
||
4. **D0 武装竞态**:tut_d0 落声与 60s 重教 rung 竞态,armed 晚一拍时重教句抢先(局 A t=93.1 spurious tut_d0)。
|
||
- 修法(F4 已落):`_drillDoUp` 受理即 `armed=false`(与 `_drillOrderAid` 同型)。
|
||
|
||
### P2(可打磨)
|
||
|
||
- W1:dir_* 方位句 4 字过短,ASR 混音下系统性 MISMATCH(4 条)——人耳无碍(真机范畴),但转写审读打折;候选:方位句加半拍前缀音或并入类型句(动台词表, v2 候选)。
|
||
- W2:结算链/下令链顶 guide 语音(gd_dock 被 evt_resume 掐)——guide 层 queue 不顶游戏句是单向承诺,反向未约定;可给 guide 语音加「链播期延迟投递」(引擎级候选,维持观察)。
|
||
- W3:局 B 46 段未判为 ASR 积压(与 transcribe 轮同机竞争)——测量局限,已重跑干净;live 驱动 latency(10-30s)使 12s 窗内下令难以稳定复现,窗内成功已由 B 局 D2(20s 窗)+ playtest 全矩阵覆盖。
|
||
- W4:巡检账目段尾句被危机检测链顶断时丢尾词(A1 设计内)——可给被顶链加「半句落声宽限 300ms」(v2 候选)。
|
||
|
||
## 仪器协议备注
|
||
|
||
- live 驱动经 HTTP 逐拍进行;标记取在动作之前。局 A/B 的「错过窗口」均因驱动 latency(10-30s/拍),玩家动作可解释,不计游戏缺陷。
|
||
- 1.7x 会话未建成(control 对 speed 友好名不回写,保持 1.0)——speed 档由引擎 SoundTouch 承载,playtest/guide 已覆盖设置生效路径。
|
||
|
||
## 修复复核状态
|
||
|
||
F1-F4 已于 R1 当场修复并回归:playtest **332/332**、guide.test **122/122**、check_all_assets 全项目通过(bridge 338 ogg/m4a 配对、双性别 132 集合一致、key 10 ⊆ 主集)。R2 将重生成转写并真机复验 F1-F4。
|