storyline/escape/simon 首批之后的推广收官:15 款全部按 26 号模式运行 (发言权/回执/三档提示/迷茫接管/手势阶梯/断点复述),旧「双击重听/格挡/ 菜单确认」等反模式口径全线废除,开场零规则念白(首句即动手)。 游戏层(12 款):rpg(格挡=前摇窗口内再单击)/ rhythm / space / radio / dungeon / abyss / detective / cipher / teahouse / keeper / bridge / hunt(联机切片): - 每款 game.js 接引擎六模块 + makeInputPipeline(doubleTapWindow:0); 四向玩法类 swipeCore + 长按帮助;双击是玩法的(space 护盾 / hunt 旋风斩)按手势阶梯阶段 3 分档恢复双击窗口(doubletapCore) - 每款 playtest 重写:玩法断言 + §6.2 乱点机器人(无声操作 / 被动 原句重复 / 打断失败 = 0);15 款 3900+ 断言全绿 - 12 份 docs/design/26-apply-*.md 施工单 + tools/voice_lines_26/ 台词清单 + voice-ids 文档同步 + 转写会话剧本按新口径重写 引擎层(web/engine/,6 处修复):pipeline 增 doubletapCore;novice teachLine 带 voice/ 前缀(此前教学句被静默丢弃);confusion.record 前置到新手门(锁定手势的乱点也计信号);InvalidHints 播完恢复解释前 状态(根治孤儿 BUSY);WaitPoint takeover(2) 台账去重;台账只在 speak 真正播出时登记。遗留引擎债登记 roadmap §3.1。 语音资产:台词表合并(新增 ~250 系统句 / 改 ~50 旧口径 / 删 ~110 废止句;合并器 tools/merge_voice_lines_26.py + 引用校验器 tools/validate_voice_refs.py),GPU 重录 1536 wav → 4204 ogg/m4a 落地,check_all_assets + validate_voice_refs 双绿;键盘变体同步扩表。 大厅/文档:15 款统一新交互口径(「新交互」徽标退役);README / HANDOVER / rpg README 旧口径修正;roadmap P0-P3 置完成。
105 lines
9.5 KiB
Markdown
105 lines
9.5 KiB
Markdown
# voice_lines_26 · 《守塔人》(keeper)26 号深度重构台词清单
|
||
|
||
> 设计单正文见 [docs/design/26-apply-keeper.md](../../docs/design/26-apply-keeper.md);玩法正文
|
||
> [21-keeper.md](../../docs/design/21-keeper.md) 附录 C;交互权威 26 号手册。本文件是 R2 改造的
|
||
> 台词增量清单,管线路径 `tools/gen_voice_dual.py` 的 `KEEPER_K_LINES` / `KEEPER_S_LINES`
|
||
>(两表一致铁律:并入时逐字照抄)。
|
||
>
|
||
> 音色规则:**系统/交互层句子全部走 `_SHORE` 岸台组**(与既有 sys_skip 一致;
|
||
> radio `_RADIO_PROD` / abyss `_ABY_DECK` 同型);剧情守塔人 `_KEEPER`、NPC 平铺
|
||
>(阿澈/父/祖)沿用原组不动。写作口径(00 §3 / 26 §4.8):指令 ≤12 字;`_short`
|
||
> 档 ≤6 字只留动作;叙事 ≤25 字;肯定 ≤4 字;每句标类别(critical / content /
|
||
> hint / feedback),`critical` 须 <3s(p* 选项句整句 critical 属公平优先例外,
|
||
> radio p9 先例)。多音字规避:全表无「重听」(一律「重新听」/「再听一遍」)。
|
||
> 通用系统句与 STORYLINE_LINES 的 sys_* 段**逐字一致**(sys_first_tap「点一下屏幕。」/
|
||
> sys_first_tap_short「点一下。」/ sys_turn_teach「听到这个声音,就是轮到你了。」/
|
||
> sys_say_again「再说一遍:」/ sys_unlock_up「想知道自己在哪,就向上滑。」/
|
||
> sys_unlock_down「向下滑,可以打开菜单。」/ sys_unlock_dt「没听清,就双击,再听一遍。」)。
|
||
> 键盘变体措辞照 KEY_LINES["storyline"](「按空格」「左右方向键」「按回车」),
|
||
> 并遵守 radio 既有变体惯例:点一下/单击 → 按空格;双击 → 按回车;滑 → 方向键。
|
||
|
||
## 一、新增(24 句 × 双性别,`_SHORE`)
|
||
|
||
游戏静态引用 19 条 + 引擎侧 4 条(sys_say_again 由 engine/hints.js 重听前缀播出、
|
||
sys_unlock_up/down/dt 由 engine/novice.js teachLine 播出,资产同样落本游戏目录):
|
||
|
||
("sys_first_tap", _SHORE, "点一下屏幕。") <!-- critical,开场第一句(≤3s,critical 不可打断) -->
|
||
("sys_first_tap_short", _SHORE, "点一下。") <!-- hint,intro 等待点 _short 档 -->
|
||
("sys_turn_teach", _SHORE, "听到这个声音,就是轮到你了。") <!-- content,「轮到你」状态声首现教学(挂 amo_a 链尾,全局一次) -->
|
||
("sys_praise", _SHORE, "对。") <!-- feedback,首抉择链头肯定句(原则 11,≤4 字) -->
|
||
("sys_hint_continue_full", _SHORE, "单击,继续。") <!-- hint,continue 等待点 full 档(含上滑状态链动作尾巴) -->
|
||
("sys_hint_continue_short", _SHORE, "单击。") <!-- hint,continue 等待点 _short 档(含 settle 复用) -->
|
||
("sys_hint_choice_short", _SHORE, "左右滑,选。") <!-- hint,choice 等待点 _short 档 -->
|
||
("sys_hint_again_full", _SHORE, "单击,重新开始。") <!-- hint,settle 等待点 full 档 / 结算滑动解释句 -->
|
||
("sys_hint_menu_short", _SHORE, "左右滑,点一下。") <!-- hint,menu 等待点 _short 档 -->
|
||
("sys_only_choice", _SHORE, "现在,只要左右滑。") <!-- hint,迷茫 L2 抉择点缩小选择 -->
|
||
("sys_demo_continue", _SHORE, "听我做一次。") <!-- hint,迷茫 L3 演示前缀(intro/continue) -->
|
||
("sys_demo_choice", _SHORE, "左右滑,都可以。现在你来。") <!-- hint,迷茫 L3 抉择点演示(不替玩家选) -->
|
||
("sys_say_again", _SHORE, "再说一遍:") <!-- hint 前缀,主动重听(全项目一句,每游戏各存一份) -->
|
||
("sys_unlock_up", _SHORE, "想知道自己在哪,就向上滑。") <!-- content,手势阶梯阶段 1 教学句(挂首抉择后链尾) -->
|
||
("sys_unlock_down", _SHORE, "向下滑,可以打开菜单。") <!-- content,手势阶梯阶段 2 教学句(挂首局结局链尾) -->
|
||
("sys_unlock_dt", _SHORE, "没听清,就双击,再听一遍。") <!-- content,手势阶梯阶段 3 教学句 -->
|
||
("menu_help", _SHORE, "左右滑换项,点一下确认。") <!-- content,菜单说明(menu 等待点 full 档 + 菜单内上滑重听) -->
|
||
("status_choice", _SHORE, "正在抉择。左右滑。") <!-- hint,抉择等待点上滑「我在哪」 -->
|
||
("sys_mem_back", _SHORE, "听完,自动回到现在。") <!-- hint,MEMORY 上滑状态链动作尾巴(21 附录 C §4「听完就回到现在」拆句兑现) -->
|
||
("inv_nosel", _SHORE, "现在不用选。单击继续。") <!-- feedback,非抉择点滑动首次解释(原则 7) -->
|
||
("inv_mem", _SHORE, "现在不用选。听完就好。") <!-- feedback,插叙中滑动首次解释(插叙无选择) -->
|
||
("inv_generic", _SHORE, "这个操作用不上。单击继续。") <!-- feedback,其余无效格子/长按首次解释 -->
|
||
("inv_up_locked", _SHORE, "上滑还没解锁。先单击继续。") <!-- feedback,up 未解锁首次解释 -->
|
||
("inv_down_locked", _SHORE, "菜单,玩完一局解锁。单击继续。") <!-- feedback,down 未解锁首次解释 -->
|
||
|
||
## 二、修改(1 句重录,id 不变;旧「双击确认」口径废止)
|
||
|
||
("sys_menu", _SHORE, "菜单。左右滑换项,点一下确认。") <!-- 原「菜单。单击切换选项,双击确认。」;菜单改 00 号 §5.4 左右滑换项+单击确认(旧「单击循环+双击确认」= 26 §7 反模式 5) -->
|
||
|
||
## 三、删除(8 句停用,不再被游戏引用;对应 key/ 变体随主句下线)
|
||
|
||
("gd_brief", …) —— 开场操作念白(「单击,继续值守。要选择时,向左或向右滑。」),§4.10 开场零规则念白(sys_first_tap 指令句取代)
|
||
("gd_continue", …) —— 旧等待提示(「单击屏幕,继续。」),被 sys_hint_continue_full/short 三档提示取代
|
||
("gd_again", …) —— 旧静默召回(「还在吗?单击继续。」),三档提示 full→short→提示音取代原样复述(原则 9)
|
||
("gd_invalid", …) —— 旧无效解释(「这个手势,塔里用不上。」),被 inv_* 首次解释(说原因+正确做法,原则 7)取代
|
||
("gd_prog1", …) —— 旧无进展轨 60s(「滑动这里用不上。想想岸台刚说的话。」),迷茫检测 + 三档接管取代(26 §4.5)
|
||
("gd_prog2", …) —— 旧无进展轨 120s(「别乱。停一停,再听一遍。」),同上
|
||
("sys_help", …) —— 全局帮助句(「单击继续,双击重新听。上滑听状态,下滑开菜单。选择时,左右滑。」),帮助溢出废止(手势阶梯分阶段教学取代;「双击重新听」旧口径)
|
||
("b_rule", …) —— 开场规矩念白(「岸台的规矩就一条:风暴夜,灯不能灭。」),§4.10 砍掉;重开夜台标链 sys_new_night→b_open→b_rain→b_goal 不含它(灯不能灭的账目契约由 c3_dark/ep_lamp_* 承载)
|
||
|
||
(b_open/b_rain/b_goal/sys_skip/sys_continue_ask/sys_new_night/sys_settings/menu 三项
|
||
sys_menu_resume/restart/lobby、prog_m1..3、prog_mem_g/f、tr_*、tru_* 与全部剧情句不动。)
|
||
|
||
## 四、键盘变体(KEY_LINES["keeper"] 增量;只改操作词,其余一字不动)
|
||
|
||
新增句含操作词的变体(无操作词不列:sys_turn_teach / sys_praise / sys_say_again /
|
||
sys_demo_continue / sys_mem_back / inv_mem,落回主资产):
|
||
|
||
("sys_first_tap", "按空格。")
|
||
("sys_first_tap_short", "按一下空格。")
|
||
("sys_hint_continue_full", "按空格,继续。")
|
||
("sys_hint_continue_short", "按空格。")
|
||
("sys_hint_choice_short", "左右方向键,选。")
|
||
("sys_hint_again_full", "按空格,重新开始。")
|
||
("sys_hint_menu_short", "左右方向键,按空格。")
|
||
("sys_only_choice", "现在,只要左右方向键。")
|
||
("sys_demo_choice", "左右方向键,都可以。现在你来。")
|
||
("sys_unlock_up", "想知道自己在哪,就按上方向键。")
|
||
("sys_unlock_down", "按下方向键,可以打开菜单。")
|
||
("sys_unlock_dt", "没听清,就按回车,再听一遍。")
|
||
("menu_help", "左右方向键换项,按空格确认。")
|
||
("status_choice", "正在抉择。左右方向键。")
|
||
("inv_nosel", "现在不用选。按空格继续。")
|
||
("inv_generic", "这个操作用不上。按空格继续。")
|
||
("inv_up_locked", "上方向键还没解锁。先按空格继续。")
|
||
("inv_down_locked", "菜单,玩完一局解锁。按空格继续。")
|
||
|
||
修改句的变体:
|
||
|
||
("sys_menu", "菜单。左右方向键换项,按空格确认。") <!-- 必须重录:旧「空格切换选项,回车确认」随菜单语义废止 -->
|
||
|
||
删除句的 key/ 变体随主句停用:gd_brief / gd_continue / gd_again / sys_help
|
||
(含既有 8 对 `_k` 变体中的 gd_brief_k / gd_continue_k / gd_again_k / sys_help_k)。
|
||
|
||
> 合并提示:并入 gen_voice_dual.py 时,新增 24 条进 KEEPER_S_LINES(_SHORE 组)、
|
||
> 修改 1 条原位替换、删除 8 条(连同 KEY_LINES["keeper"] 对应行)摘除;
|
||
> `sys_unlock_*` 与 sys_say_again 虽由引擎播出,资产照常落
|
||
> web/keeper/audio/voice/{female,male}/。旧 8 对键盘变体保留 4 对
|
||
>(sys_menu / sys_skip / sys_continue_ask / p1),措辞随主句口径复核。
|