四泳道并行全流水线(资产→开发→测试→玩家迭代闭环),双双 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(压缩候选)
159 lines
13 KiB
Markdown
159 lines
13 KiB
Markdown
# 《守塔人》全拟真试玩报告 — R1 双局(认真新手 + 急性子)
|
||
|
||
> 本文件由 producer agent 依据 live 产物(mix.webm 真实混音 / events.jsonl / verdicts.json
|
||
> SenseVoice ASR 判定)撰写。产物:`web/harness/live/out/keeper-20260913190507`(局 A)/
|
||
> `keeper-<局B ts>`(局 B),已复制到 `research/new8/keeper/round1/live/`。
|
||
> 仪器口径:事件层截断(vend 早于预期自然结束 0.15s+)+ ASR 层相似度(<0.6 MISMATCH);
|
||
> NPC 唱片/电台滤波句 ASR 降级为已知限制(事件层不受影响)。
|
||
|
||
## 基本信息
|
||
|
||
- 对象:`web/keeper/` @ localhost:8001(复用并行泳道静态服务器),真头 Chromium + SenseVoice ASR。
|
||
- 局 A(认真新手):`voice=female, speed=normal, bgm=normal, guide=full`。约 9 分钟净玩(高效听完即点,真人预计 15-25 分钟),31 个手势(tap 22 / swipeleft 9),全走心线(9 左),**结局 e1「灯与归人」**,三段插叙全听、尾声回响八句全收。
|
||
- 判定账(局 A):77 个 voice 段,ASR 行 72 OK / 3 MISMATCH(全部 NPC 滤波句:rev_g1「唱针落下」0.45 / c2_back 0.47 / rev_c4 0.59——滤波+混音下 ASR 同音误识,事件层全部自然结束)/ 1 TRUNCATED(gd_brief:驱动开局重复点按跳过,玩家动作非引擎问题)/ 事件层截断 1(同上)。SFX_BGM_ONLY 26 条 = amb 底噪(风暴/炉火/唱片/引擎常驻)占领的间隙探针,**正是时空签名在工作**,非异常。
|
||
- 全程零 pageerror、零死锁、零语音叠语音。
|
||
|
||
## 局 A 叙述(认真新手,female/normal/full)
|
||
|
||
开场链完整:t=0.1 sys_new_night → gd_brief(操作口令)→ b_open「白角灯塔,风暴夜」→ sys_skip →
|
||
b_rain「浪拍到第七级台阶。雾角两长一短——塔在,我也在」+ **foghorn t=12.9 兑现**(承诺音绑定✓)
|
||
→ b_rule「风暴夜,灯不能灭」→ b_goal「两艘货轮过境」。INTRO 链逐句自然结束(事件层零截断)。
|
||
|
||
C1:c1_tune + radio_tune 调台 → amo_a「……有人吗……顺发号……」→ amo_b + radio_beep 接通 →
|
||
p1(9.0s 完整听完)左滑接住人 → c1_hold「别慌。我在白角」→ c1_holdo「……好,好。你在。我听见了」
|
||
(**首个正反馈:阿澈声音稳住,2.5 分钟处**)→ c1_holde → amo_c「我爷爷,四十年前……白角的灯灭过一下」
|
||
→ p2 左翻暗格 → c1_open + hatch_open(106.9) → **rev_teach 教学**(113.5) → memory_in(119.9) +
|
||
bgm/memory 淡入 → 插叙1(rev_g1 锚入「唱针落下。四十年前」→ rev_g2 祖父唱片声 → rev_g3 →
|
||
rev_g4 锚出)→ memory_out(141.8) + bgm/storm 回 → c1_diary「缺了最后一页」。
|
||
**时空签名四要素全兑现**:唱针落下/风声退后(vinyl 床)/风声回来(storm 回)/锚句在位。
|
||
|
||
CALM(1):foghorn(145.9) + lull_1「风加到十级」+ **tr_half 跨档播报**(149.7,trust=1 thin→half ✓)
|
||
→ 自动进 C2。C2:c2_back + radio_tune → amo_d「水到膝盖了」→ p3 左口诀 → c2_song/o →
|
||
插叙2(rev_f1..f5,父亲唱片声,rev_f4「上满发条能自己转一夜」=p7 知识承诺)→ c2_key「尾盖里卷着一页纸」
|
||
→ amo_e → p4 左真话 → c4_true「我父亲也是守塔人……没有回来」→ c4_trueo → **危机拍1**:
|
||
hull_crack(256.4) 起播 + danger 签名/震同窗,c2_crack 语音 t=258.4 = **精确 2.0s 前置** ✓
|
||
→ amo_f「裂了!」→ p5 左堵漏 → c5_patch/o → CALM(2):foghorn(292.2) + lull_2 + tr_deep 跨档
|
||
(297.2,half→deep ✓)。
|
||
|
||
C3:c3_eye「风眼过了」→ c3_page + flash_click(307.0) → p6 左读完 → 插叙3(rev_c1..c5,祖父忏悔
|
||
「半个时辰,回澜号,七个人」)→ c6_reade「四十年,两代人,一条规矩。今晚,轮到你选了」→
|
||
p7 左(9.3s 全表最长提示句完整听完)→ c7_go + **lamp_mech**(381.6) 满发条兑现 → **危机拍2**:
|
||
wave_wall(389.0) + danger,c3_wall 语音 391.0 = 2.0s 前置 ✓ → p8_boat 左循渔歌 → c8_songo
|
||
「海风那个吹呀——塔!是你吗?」→ c9_return「两个人,一身水,一盏灯」→(rev2 → 无 c3_dark ✓)
|
||
→ 签收 g9_in「风,一层一层退下去」→ g9_knot → **p9a 全真相版**(439.1) → 左说出 → d9_tell_a
|
||
「四十年前守塔的,是我爷爷……回澜号……对不住」(11.6s 完整) → amo_g「我爷爷,就在那七个人里」
|
||
(**amo_c 伏笔回环闭合**)→ d9_telle「天,亮了」→ ENDING(e1):e1_a「他在门厅睡熟,那页纸攥在手里」
|
||
→ e1_b「回澜号的账,翻开了第一页」→ ep_lead → ep_amo_home / ep_lamp_full「父亲的发条,说中了」/
|
||
ep_log_told「旧账见了光」/ ep_dad「老陈,收工了」/ ep_shore + **foghorn(529.0) 第四处兑现** ✓。
|
||
|
||
教学承诺六条全兑现且可被仪器验证:rev_teach 恰一次 ✓ / foghorn 恰四处 ✓ / rev_f4→c7_go ✓ /
|
||
b_goal→ep_shore「航道平安」✓(c3_dark 本局不播,差分正确)/ prog_m 三幕时位句上滑可验 /
|
||
灯三态按 p7×rev2 选播 ✓。尾声逐项点名:阿澈/灯/日志/父亲班次,P2 回响感拉满。
|
||
|
||
## 问题清单(局 A)
|
||
|
||
### P0(阻塞/卡死):无。
|
||
|
||
### P1(体验断裂)
|
||
|
||
1. **gd_brief 被截(t=2.8,事件层截断)**:根因为**驱动开局重复点按**(人工解锁 tap 后驱动
|
||
又发解锁 tap),第二 tap 落在 gd_brief 播放中触发跳句——玩家动作语义内,非引擎/游戏缺陷。
|
||
对照:同链 b_open/sys_skip/b_rain/b_rule 全部自然结束。修复 = 驱动只发一次解锁 tap
|
||
(局 B 已如此),游戏侧无需动作。但暴露一个真实体验点:**开场链播放中点按=跳句**,
|
||
新手在 gd_brief 口令播放中点屏会错过操作教学——radio 同款行为(宪法内),
|
||
由 sys_skip「想跳过这句,单击就行」补偿,维持。
|
||
2. **NPC 滤波句 ASR 三处 MISMATCH(rev_g1/c2_back/rev_c4)**:事件层全部自然结束、
|
||
源资产直转正确,属 README 已知限制(滤波+混音下 ASR 同音误识)。
|
||
**人耳待验项**:祖父/父亲的唱片滤波可读性(「宁窄勿脏」档位 250-2800Hz),
|
||
若人耳复核不可读则回退未滤波原声(staging 保留)。
|
||
|
||
### P2(观察项)
|
||
|
||
1. SFX_BGM_ONLY 间隙探针 26 条全部有能量 = amb 四床(storm/room/vinyl/engine)常驻正确,
|
||
「等待期永不静默」由底噪承载;这与 radio(无 amb 床)的仪器口径不同,非异常。
|
||
2. p9a 提示句 12.7s 全表最长,听完再选的节奏被 p* 不可跳门保护(实测播放中 tap 只 beat 不跳)。
|
||
|
||
### 做得好的(实话实说)
|
||
|
||
- **时空签名仪器级兑现**:memory_in/out 三对精确成对(119.9/141.8、194.4/220.8、324.9/358.5);
|
||
每次插叙 bgm/memory 淡入、回返 storm 淡回;foghorn 恰四处;两危机拍 sfx 前置 2.0s 与
|
||
danger 签名/震同窗(256.4→258.4、389.0→391.0)。
|
||
- **账目真实**:tr_half@trust=1 / tr_deep@trust=4 跨档恰播;p9a/d9_tell_a 按 truth=3 选播;
|
||
e1 尾声差分互斥全对(ep_lamp_full 而非 dark、ep_log_told 而非 kept)。
|
||
- 77 段语音零叠音、零 pageerror;抉择提示句全部完整播出后才可答(盲玩公平契约实测成立)。
|
||
|
||
## 玩家情绪时间线(局 A)
|
||
|
||
0:00 新的风暴夜 → 0:03 操作口令 → 0:13 雾角第一声(塔在,我也在,安心)→ 0:52 第一句求救
|
||
「顺发号……船进水了」心提起来 → 1:10 接住人,他的喘匀了(第一个正反馈)→ 1:40「我爷爷四十年前
|
||
在这片海没的」伏笔起 → 2:00 唱针落下!底噪变了, teaching 说「这是回忆」→ 2:20 祖父的声音
|
||
(唱片质感,比岸台远、比阿澈老)→ 2:22 风声回来,缺页悬念 → 2:30 幕间雾角+「风加到十级」→
|
||
3:00 父亲的口诀→插叙2→「尾盖里卷着一页纸」→ 4:15 真话出口,他沉默然后说「难怪今晚你一直都在」
|
||
→ 4:20 危机拍1:船板裂了!danger 震+2s 前置把心提到嗓子 → 5:00 幕二到顶,tr_deep「他把命交给
|
||
你的声音」→ 5:30 祖父忏悔「回澜号,七个人」全场最重 → 6:10 p7 宿命抉择:上满发条,出海 →
|
||
6:30 浪墙!→ 6:35 循渔歌找人「海风那个吹呀」→ 7:15 接驳艇回来 → 7:20 p9a 全真相说出
|
||
「对不住」→ 7:40 amo_g「我爷爷就在那七个人里」两条家族线缝上 → 7:50 e1 他在门厅睡熟 →
|
||
8:00 尾声逐一点名,foghorn 最后一声——这一夜,接住了。
|
||
|
||
## 如果只能改 3 件事
|
||
|
||
1. **人耳复核 NPC 唱片/电台滤波**(ASR 无法判定的唯一盲区):祖父 250-2600Hz / 父亲 300-2800 /
|
||
阿澈 350-3200,确认「宁窄勿脏」档位可读,不可读句回退 staging 原声。
|
||
2. **开场口令播放中点按=跳句**的误触成本:gd_brief 是操作教学,被跳后只能靠 sys_skip 补偿——
|
||
考虑 gd_brief 首播纳入不可跳门(PROMPT_RE 扩展 or 专属锁),或维持现状登记为已知行为。
|
||
3. **9 分钟高效通关 vs 设计 21-24 分钟**:高效听者(全跳等待、即点即走)压缩到 9 分钟属正常,
|
||
但序幕 INTRO→C1 节奏可再密(首输入 30s 达标 ✓);真人带犹豫/重听会在 15-25 分钟区间,达标。
|
||
|
||
(局 B 叙述与综合问题清单见下节追加。)
|
||
|
||
## 局 B 叙述(急性子,female/normal/standard,30.1 分钟 619 手势)
|
||
|
||
**玩法账**:开局乱按试探(无效手势=error 震,standard 档无语音,符合分档语义)→ 菜单
|
||
十二进十二出(sys_menu ×12,每次单击轮播三项,帮助链 sys_help+sys_settings 实测)→
|
||
p1 被连点跳过 3 次后听完第 4 次才作答(**p* 不可跳门实测成立**:播放中 tap 只换来
|
||
beat 轻震,提示句照播完)→ 幕一 p2 翻暗格 → **插叙1 在乱按中完整走通**:memory_in →
|
||
rev_teach(全局一次)→ 祖父链 → memory_out → c1_diary,期间两次乱滑只触发 beat 不破坏链。
|
||
上滑乱试触发状态链 prog_m1→tr_thin→tru_zero→sys_help(standard 档无语音、earcon+
|
||
震在,tr_thin 状态如实=0)。幕二 p3/p4/p5 全程有跳句有重听,**危机拍1 在乱按中准点**:
|
||
hull_crack 起播 + danger 震同窗,c2_crack 2.0s 前置一句不缺。幕三 p6 读完 → 插叙3 →
|
||
p7 听完(9.3s 全表最长句被 mash 两次才听完)→ c7_go 满发条 → 危机拍2 wave_wall 准点
|
||
→ p8 → p9a(**truth=3 全真相版**——乱按居然也凑齐了 truth=3,因为抉择答案随机但
|
||
插叙触发与 Mash 无关,全左路蒙中)。
|
||
|
||
**结局链第一次被乱按剁碎**(e1_a 4.3s TRUNC / e1_b 1.4s TRUNC / ep_lead 5.0s TRUNC——
|
||
三句都被播放中 tap 跳过,这是玩家动作语义内);随后重听/复述给出干净 e1_a 7.1s OK,
|
||
结局链完整走完 → 结算态单击 → **sys_new_night 第二夜自动开**(新风暴夜 1477.1s 实测)→
|
||
第二夜打到 p2(1750s)时 30 分钟时间盒到点收工。
|
||
|
||
**零 pageerror、零死锁、零语音叠语音、零大厅逃逸**(驱动带逃逸检测,本局未触发)。
|
||
444 个 keeper voice 段:285 OK / 78 MISMATCH(多为 1-3s 被 skip 残句+滤波句,ASR 层
|
||
伪影为主)/ 77 TRUNCATED(几乎全部落在手势 1.2s 窗内的玩家跳句,事件层语义内)/
|
||
162 SFX_BGM_ONLY(amb 四床常驻)。**乱按 30 分钟没被游戏罚过一次**:无倒计时无死亡,
|
||
菜单乱逛不丢局面,错滑有被教(gd_invalid idle-only),看完门狗双轨在 standard 档以
|
||
earcon+震形态工作。
|
||
|
||
### 问题清单(局 B 追加)
|
||
|
||
- P0:无(30 分钟 619 手势暴力测试零死锁零页面错误,结局达成+新夜自动接续)。
|
||
- P1:无新增。MISMATCH 78 条逐类归因:玩家跳句残句(主因)+ NPC 滤波句 ASR 盲区
|
||
(同局 A)——非引擎级异常。
|
||
- P2:结局链在乱按下会被逐句跳过(e1_a/e1_b/ep_lead 三次 TRUNC 实锤)——结算链只
|
||
有 800ms 死窗,窗后播放中单击=跳句是宪法赋予的自由;但「结局主句被剁」对急性子
|
||
玩家的回放体验打了折(他后来靠重听补回来了)。与 radio/abyss 同款行为,登记观察
|
||
不动作——若要抠,可考虑结局链整链纳入「复播可即掐但首播逐句保护」,属新增强,
|
||
超 R2 预算。
|
||
|
||
## 两局合计裁决输入
|
||
|
||
| 项 | 局 A(认真新手) | 局 B(急性子) |
|
||
|---|---|---|
|
||
| 时长/手势 | 8.9 min / 31 | 30.1 min / 619 |
|
||
| 结局 | e1 灯与归人(完整弧线) | e1(乱按下达成)+ 第二夜启动 |
|
||
| ASR | 72 OK / 3 MISMATCH / 1 TRUNC(驱动) | 285 OK / 78 MISMATCH / 77 TRUNC(玩家跳句) |
|
||
| 事件层截断 | 1(驱动误触) | 79(玩家动作窗内) |
|
||
| pageerror | 0 | 0 |
|
||
| 教学承诺 | 六条全兑现(仪器验证) | 危机拍/插叙/雾角在乱按中准点 |
|
||
|
||
**两局无 P0 级状态混淆**:不知道自己在哪(时位句三层兜底全程可查)、不知道该做什么
|
||
(双轨看门狗+两级复述)、为何失败(零失败叙事,归因真话律无负面体验)。
|