Files
SoundGame/docs/design/26-apply-escape.md
T
2026-10-01 23:26:47 +08:00

97 lines
5.5 KiB
Markdown
Raw 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.
# 26-apply · 《暗室》重构设计单(26 号文档落地)
> 按 26 号文档附录 C 填写。交互规则权威来源:[26-audio-interaction-playbook.md](26-audio-interaction-playbook.md)。
## 1. 一句话核心动作
**朝四个方向滑动在房间里移动,单击检查和使用,按住屏幕问路。**
## 2. 玩家可感知的状态(3 个)与声音身份
| 状态 | 听感 | 来源 |
|---|---|---|
| 探索(轮到你) | 当前房间的环境音常响(水滴/风/电流) | §4.1 ACTION |
| 描述在播(游戏在说) | 房间描述语音,BGM 压低跨链 | §4.1 SPEAKING |
| 撞墙/无效 | 闷响 + invalid 回执(低「咚」) | §4.2 |
## 3. 新手手势表(四向滑动是玩法 → §4.3 裁定:帮助换到长按)
| 手势 | 含义 | 说明 |
|---|---|---|
| 四向滑动 | 移动(核心玩法,不按阶梯锁) | swipeCore |
| 单击 | 检查 + 使用(合并;旧「双击=用物品」废除) | 站对房间即用 |
| 长按 | 我在哪、我该干嘛(目标 + 方位一句话) | longpressCore |
| 双击 | (阶段3解锁后)重听最近描述 | 未解锁按单击处理 |
## 4. 状态 × 手势矩阵(新手期)
| 状态 \ 手势 | 单击 | 四向滑动 | 长按 | 双击(未解锁) |
|---|---|---|---|---|
| 引导答题 | 按步骤答(纠错句)/ invalid | 按步骤答(脚步/闷响) | 帮助 | 按单击处理 |
| 探索(ACTION) | 检查+使用(环境音/描述即反馈) | 移动=脚步声(silent-ok);撞墙=闷响+invalid+归因 | 帮助(目标+方位) | 按单击处理 |
| 描述在播 | 跳过这句 + ok | 打断并移动 | 打断,帮助 | 按单击处理 |
| 结算 | 重新开始 + ok | invalid + inv_settle | 重听结算 | 按单击处理 |
| 菜单 | 确认当前项 + ok | 左右滑换项;上下滑 invalid(非移动) | 重听菜单说明 | 当单击 |
| 迷茫 L2 期间 | 照常 | 只放行接管方向,其余 invalid(不移动) | 照常 | 照常 |
## 5. 等待点配置表(引导期)与探索期接管
引导等待点(6s/15s 两档,short=「滑一下。」/「向左滑。」):
| 步骤 | 期待 | 指令句 |
|---|---|---|
| 0 | 任意滑动 | g0_new「黑暗。朝任意方向,滑一下。」 |
| 1 | 撞墙×2(教无效反馈) | g0b(+ wall 归因) |
| 2 | 左滑 | g3_new「现在,向左滑。」 |
| 3 | 下滑 | g4_down「对。再向下滑。」 |
| 4 | 单击 | g5_inspect → g5_key + g7_goal_new |
探索期(无固定等待点,静默喂迷茫信号 40s 起每 20s)三级接管:
| 级 | 做什么 | 台词 |
|---|---|---|
| 1 | 说目标方位(30s 台账去重,说过就提示音) | nav_*「向右滑。」 |
| 2 | 只放行第一导航方向 | sys_only_*「现在,只要向左滑。」 |
| 3 | 听我做一次:游戏自己朝目标走一步 | sys_demo + 脚步声 + sys_now_you |
## 6. 首 3 分钟逐秒脚本
| 时间 | 游戏说 / 播 | 期待玩家做 | 没做 | 做错 |
|---|---|---|---|---|
| 0~3s | 环境水滴声 →「黑暗。朝任意方向,滑一下。」 | 任意滑动 | 6s:「滑一下。」 | 点按:纠错句 |
| 3~12s | 脚步声 →「对。你被困在地下设施里。再滑两下,试试墙。」 | 滑动撞墙 | 同上 | 方向错也有闷响(试错无代价) |
| 12~25s | 闷响 + 「那边是墙,换个方向。」+ 方位句 ×2 →「现在,向左滑。」 | 左滑 | 「向左滑。」 | 其他方向:纠错 |
| 25~40s | 脚步 →「对。再向下滑。」→ 储物间环境音 | 下滑 | 同上 | 纠错 |
| 40~60s | 「听到水声了吗?单击一下,仔细检查这个房间。」→ 拾取音 →「你摸到了一把钥匙!」 | 单击 | 「单击。」 | 滑动:纠错 |
| 60~90s | 「找到能用钥匙打开的东西。迷路了,按住屏幕。」→ 自由探索 | 探索 | 40s 起接管 | 撞墙归因 |
| 90~180s | 首到房间描述、谜题链推进(钥匙→铁柜→保险丝→电箱→大门) | 探索 | 接管三级 | 归因 + 就近重试 |
节奏检查 ✓:3s 内动手;首成功=第一次滑动(脚步声);每 30s 有可听进展(新房间环境音/描述)。
## 7. 失败表
| 失败类型 | 判定 | 归因句 | 回到哪里 | 新手期代价 |
|---|---|---|---|---|
| 方向错(撞墙) | 越界 | wall + wall_dir_*(每方向整局一次,之后只闷响+回执) | 原地 | 无 |
| 用错地方 | 站位不对 | (合并进检查语义:描述告诉你这里有什么) | 原地 | 无 |
| 迷路 | 静默/乱点信号 | 接管 L1→L2→L3 | 原地 | 无 |
## 8. 台词表(类别标注)
- `critical`:g0_new(开场指令 <3s);结算承诺段 again(+解锁教学)
- `content`:g0b/g3_new/g4_down/g5_*、room_*、empty_*、found_key、unlock_cabinet、fix_box、escape、time_band、replay、start_room、inspect_*、gd_*_dir、gd_next_fuse
- `hint`:lp_*(长按帮助)、nav_*、sys_only_*、sys_continue_ask、g_hint_swipe、menu_help
- `feedback`:wall、wall_dir_*、g_wrong_*、guide_wrong_*、guide_blunt_swipe、inv_*、sys_demo、sys_now_you
- 完整清单见 `tools/gen_voice_dual.py` ESCAPE_LINES(74 句 × 双性别)。
## 9. 断点复述句
- 保存:每步移动/进展写 `soundgame.escape.save`(坐标 + 谜题状态 + 用时)。
- 回来:sys_continue_ask;单击继续(恢复坐标 + lp 帮助句作复述),右滑重新开始。
## 10. 测试记录
- 无头 playtest:`web/escape/test/playtest.mjs`(32 断言,乱点机器人:无声操作 0 /
被动原句重复 0 / 第一次成功 2.1s;撞墙归因按原则 7 只解释一次)。
- 真人冷启动:待测。