# 14 · 发言权、向导与迷茫接管(26 号对齐) > **给开发者的实现要点摘要** > 1. 本文取代 v1~v4「只靠 earcon + 静默看门狗 + queue 插播」的向导层。新骨架:Floor(发言权)+ 回执 + 三档提示 + 迷茫检测。模块示意见 26 号 §4.1~§4.5。 > 2. `guide.js` 的 8 个 earcon 词表保留(menu/explore/battle/choice/settle/danger/turn/nudge)。`turn` 仍是交接提示音。 > 3. 看门狗不再原样重播帮助长句。同一等待点用三档:完整句 → 短句 → 只响 `turn`/`nudge`。 > 4. 纠错、提示类语音:**空闲才播,过期丢弃**;玩家一操作就清空。禁止排到长链尾。 > 5. 文末档案保留 v1~v4 台词 id,供资产对照。**交互规则以本文前半与 26 号为准。** 交互权威:[26-audio-interaction-playbook.md](26-audio-interaction-playbook.md);全局口径:[00-global-ux.md](00-global-ux.md) §6。 --- ## 1. 六个引擎模块(施工) | 模块 | 职责 | 关键 API(示意) | |---|---|---| | Floor | SPEAKING / YOUR_TURN / BUSY / ACTION;整链 duck;等待声 | `speak(ids)` `yieldTurn(waitPoint)` `handleInput(g)` | | Receipts | ok / invalid / busy 合成短音 | `play('ok'\|'invalid'\|'busy')` | | Hints | 三档选择 + 30s 台账去重 | `pick(waitPoint)` `replayOnRequest()` | | Confusion | 乱点/无效/重听/失败/静默加权 | `record*` → `onConfused(level)` | | Novice | 手势解锁、`doubleTapWindow: 0`、回车当单击 | `unlocked(g)` `map(g)` | | Pipeline | 手势先过 Floor → Confusion → 游戏 → 回执 | `makeInputPipeline(...)` | `settings.guide`: - `full`:等待声 + 三档语音 + 回执 + 迷茫接管。 - `standard`:等待声 + 回执 + 提示音,无向导语音。 - `off`:回执仍在;不挂看门狗与迷茫定时器。回归测试用。 ## 2. 发言权规则 1. `speak()` 进入 SPEAKING,整条链结束才离开。句间不 unduck、不起等待声。 2. 链结束只能去 YOUR_TURN 或 BUSY,禁止「什么都不是」的安静。 3. `yieldTurn()`:`guide.turn` → 400ms 后等待声 → 挂该等待点的提示计时与迷茫。 4. 打断:单击跳句;滑动/帮助打断整链并执行。`critical` 句给 busy。 5. 等待声参数见 26 §4.1。超过 20s 间隔拉长到 2.5s。玩家操作 80ms 内淡出。 ## 3. 三档提示与看门狗 每个等待点配置 `full` / `short` / earcon,外加静默阈值。 | 游戏类型 | 第 1 级 | 第 2 级 | 之后 | |---|---|---|---| | 动作 / 探索 | 5~8s 播 short 或 full(第一次) | 再 8~12s 只 earcon | 停,只留等待声 | | 剧情 | 15~20s 只说操作方式 | 再 15~20s earcon | 停 | 禁止第 2 次仍播与第 1 次相同的完整句。玩家主动重听:`sys_say_again` + full。 旧 escape 60/120/180s 卡关计时器并入迷茫接管:无进展视为静默信号,L1 短目标句、L2 只放行导航方向、L3 游戏走一步。不再单独「带路级长句周期轰炸」。 ## 4. 迷茫三级接管 信号与权重见 26 §4.5。达到 2 分触发,15s 冷却。 | 级 | 行为 | |---|---| | 1 | 该等待点 short 句 | | 2 | 只保留一个正确手势,其余 invalid | | 3 | 「听我做一次。」演示一步 →「现在你来。」 | 同一等待点升到 3 后停止接管,只留等待声。 ## 5. 语音类别与 idle-only | 类别 | 打断 | 过期 | |---|---|---| | critical | 否(busy) | 否 | | content | 是 | 否 | | hint | 是 | 1.5s 播不出则丢 | | feedback | 是 | 1.0s 播不出则丢 | 旧 `guide._say` 对 error/watchdog 的 idle-only 保留并推广到所有 hint/feedback。turn 的 earcon 立即发,不排队。 ## 6. 状态 earcon 教学义务 8 个签名音保留。新手期只暴露该游戏用到的 ≤3 个。第一次出现必须配一句,例如「听到这个声音,就是轮到你了。」(配 `turn`)。未教过的 earcon 对新手等于没有。 ## 7. 全项目共用新台词(各游戏旁白音色各录一份,或引擎共享 sys_*) | id | 全文 | 类别 | |---|---|---| | `sys_first_tap` | 点一下屏幕。 | critical | | `sys_turn_teach` | 听到这个声音,就是轮到你了。 | content | | `sys_say_again` | 再说一遍: | content | | `sys_where` | (由游戏填:位置。目标。一个动作。) | content | | `sys_demo` | 听我做一次。 | hint | | `sys_now_you` | 现在你来。 | hint | | `sys_only_tap` | 现在只要点一下。 | hint | | `sys_unlock_up` | 想知道自己在哪,就向上滑。 | content | | `sys_unlock_hold` | 想知道自己在哪,就按住屏幕。 | content | | `sys_unlock_menu` | 向下滑,可以打开菜单。 | content | | `sys_unlock_replay` | 没听清,就双击,再听一遍。 | content | | `sys_confirm_ok` | 对。 | feedback | 游戏专属 short 句在各自 voice-ids 的「26 号增补」节。 ## 8. 与旧逐游戏接线的对照(废止项) | 旧接线 | 废止原因 | |---|---| | storyline 看门狗重播 help+进度 | 反模式:原样重复长说明书 | | storyline 双击=整节点重播 | 连点误触;改为阶段 3 才重听当前句 | | simon 双击重听 / 上滑重听双义 | 新手期无双击;帮助改长按;免费重听改迷茫 L2 | | simon「免费机会有两次」账目 | 新手期失败不扣资源(原则 15) | | rhythm 只在静默时提醒 | 补乱点迷茫;演奏期 ACTION 不插等待声 | | escape 双击使用物品 / 双击求提示 | 单击合并检查+使用;帮助改长按 | | 向导语音永不顶掉 | 玩家操作必须顶掉非 critical | | onceKey 同局只说一次纠错 | 改为每个状态×手势解释一次,之后只回执;连续 3 次无效进迷茫 | playtest 在 `guide='off'` 时仍测纯玩法。新增乱点机器人必须 `guide='full'`(26 §6.2)。 --- ## 档案:v1~v4 裁定与台词 id(交互规则已废止) 以下各节原文是 R7 / round2~4 的落地记录,**只作资产对照**:已生成的 `gd_*` 文件不要无故删除;文案与新手期冲突的(如「双击重新听」)须重录或停用。 ### A. earcon 词表(仍有效) | 名 | 音色家族 | 节奏 | 语义 | |---|---|---|---| | menu | 柔和正弦双音 | 下行二度 | 系统界面 | | explore | 温暖三角波单音 | 单音长尾 | 探索/安全 | | battle | 略紧方波双音 | 上行纯五度 | 战斗 | | choice | 清亮正弦三音 | 上行琶音 | 抉择 | | settle | 柔和三音 | 下行三连 | 结算 | | danger | 低频双音 | 急促重复 | 危险 | | turn | 风铃单音 | 短 | 轮到你了 | | nudge | 木鱼单音 | 极短 | 轻提醒 | 参数:总长 0.25~0.4s,单音 ≥0.08s,125Hz~5kHz,总增益 ≈0.12。 ### B. 仍可复用的短句(需核对手势口径) 可用(含义不绑双击):`gd_continue`「轻触屏幕,继续。」、`gd_brief`、`gd_again`「还在吗?单击继续。」、`gd_clear`「漂亮,过了。」、`tut_b2b`「挡得漂亮。」、`gd_wrap_first/last`、`gd_next_fuse`、`gd_room_*`、`dir_*`、`gd_miss_none`「这拍没接。」、`gd_slow`「我放慢一些,跟着试试。」、`gd_count`「四拍之后,继续。」 须停用或重录:任何「双击可以重新听」类(`gd_relisten` 旧文、`t7_retry` 旧文、`gd_economy` 旧文)。帮助入口改为上滑或长按后,占用预告 `gd_occ_*` 仅在阶段 3 双击入池后才有意义。 v1~v4 的 F1~H5 实现细节见 git 历史与 `research/04-playtests/`。新开发不要再按那些看门狗秒数接线。