Files
xsl ee5d4d2544 feat(playbook): 26 号交互手册全量落地——剩余 12 款深度重构 + 语音全量重制
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 置完成。
2026-10-02 12:33:20 +08:00

10 KiB
Raw Permalink Blame History

voice_lines_26 · 《暗码》(cipher)26 号深度重构台词清单

设计单正文见 docs/design/26-apply-cipher.md(玩法正文 19-cipher.md 附录 C);交互权威 26 号手册。本文件是 R4 改造的 台词增量清单,管线路径 tools/gen_voice_dual.py 的 CIPHER_WIND_LINES (两表一致铁律:并入时逐字照抄)。

音色规则:系统/交互层句子全部走 _CIPHER_WIND 北风组(北风电台=上线联络 +系统音,与 radio 的 PROD 导播组同型;既有 sys_skip/sys_menu_* 均在该组); 剧情句沿用原组不动(报务员 OP CIPHER_OP_LINES / 处长 CIPHER_NPC 平铺)。 写作口径(00 §3 / 26 §4.8):指令 ≤12 字;_short 档 ≤6 字只留动作;叙事 ≤25 字; 肯定 ≤4 字;每句标类别(critical / content / hint / feedback),critical 须 <3s。 多音字规避:全表无「重听」(一律「重新听」/「再听一遍」)。 通用系统句与 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"](「按空格」「左右方向键」「按回车」), 并遵守 cipher 既有变体惯例:点一下/单击 → 按空格;双击 → 按回车;滑 → 方向键。

一、新增(20 句 × 双性别,_CIPHER_WIND)

游戏静态引用 16 条 + 引擎侧 4 条(sys_say_again 由 engine/hints.js 重听前缀播出、 sys_unlock_up/down/dt 由 engine/novice.js teachLine 播出,资产同样落本游戏目录):

("sys_first_tap", _CIPHER_WIND, "点一下屏幕。") ("sys_first_tap_short", _CIPHER_WIND, "点一下。") ("sys_turn_teach", _CIPHER_WIND, "听到这个声音,就是轮到你了。") ("sys_hint_continue_full", _CIPHER_WIND, "单击,继续。") ("sys_hint_continue_short", _CIPHER_WIND, "单击。") ("sys_hint_choice_short", _CIPHER_WIND, "左右滑,选。") ("sys_hint_again_full", _CIPHER_WIND, "单击,重新开始。") ("gd_tune1_short", _CIPHER_WIND, "左右滑。") ("cf_hint_full", _CIPHER_WIND, "单击,定下这个词。") ("cf_hint_short", _CIPHER_WIND, "单击。") ("sys_only_choice", _CIPHER_WIND, "现在,只要左右滑。") ("sys_demo_continue", _CIPHER_WIND, "听我做一次。") ("sys_demo_choice", _CIPHER_WIND, "左右滑,都可以。现在你来。") ("sys_say_again", _CIPHER_WIND, "再说一遍:") ("sys_unlock_up", _CIPHER_WIND, "想知道自己在哪,就向上滑。") ("sys_unlock_down", _CIPHER_WIND, "向下滑,可以打开菜单。") ("sys_unlock_dt", _CIPHER_WIND, "没听清,就双击,再听一遍。") ("inv_up_locked", _CIPHER_WIND, "上滑还没解锁。先单击继续。") ("inv_down_locked", _CIPHER_WIND, "菜单,玩完一局解锁。单击继续。") ("inv_nosel", _CIPHER_WIND, "现在不用选。单击继续。")

二、修改(3 句重录,id 不变;旧「双击重听/慢放」「单击切换」口径废止)

("dv1_teach", _CIPHER_WIND, "向右滑,听下一个词。") ("sys_menu", _CIPHER_WIND, "菜单。左右滑换项,点一下确认。") ("gd_invalid", _CIPHER_WIND, "这个手势,值机室里用不上。单击,继续。")

三、删除(10 句停用,不再被游戏引用;对应 key/ 变体随主句下线)

("gd_brief", …) —— 开场规则念白(「单击继续值机。要选词时,向左或向右滑。」),§4.10 开场零规则念白 ("gd_continue", …) —— 旧等待提示(「单击屏幕,继续。」),被 sys_hint_continue_full/short 三档提示取代 ("gd_again", …) —— 旧静默召回(「还在吗?单击继续。」),三档提示 full→short→提示音取代原样复述(原则 9) ("gd_tune2", …) —— DECODE 第二档旧句(「双击,把电文再听一遍。再双击,会放慢。」),双击重听/慢放常驻教学废止(双击=阶段 3 阶梯,重听走等待点/慢放走再请求;由 gd_tune1_short 承担第二档) ("gd_prog1", …) —— 无进展轨第 1 级(「光切词没有用。双击,先听电文。」),双击口径废止;无进展由迷茫接管(confusion)承担 ("gd_prog2", …) —— 无进展轨第 2 级(「别急。停下来,把电文听完整。」),同上 ("sys_help", …) —— 全局帮助句(「单击选定,双击重新听电文。上滑听状态,下滑开菜单……」),帮助溢出废止(手势阶梯分阶段教学取代;含「双击重新听」旧口径) ("b_rule", …) —— 开场规矩念白(「北风问候你。规矩就一条:听不清,就再听一遍。」),§4.10 砍掉;重听承诺随双击教学废止(b_open/b_goal/b_chief 移驻 NIGHT(1) 链首补全叙事,不含它) ("dv1_teach2", …) —— T1 第二段教学(「左右滑,听密码本上的候选词。单击,选定一个。」),两段确认教学停用(一句只教一个,确认语义由 cf_confirm 就地承担) ("dv1_ask", …) —— T1 旧引入句(「密码本第一页。三个词,哪个是它?」),职能并入 dv1_teach 改写版(正片 dv2/dv3/dv4_ask 保留)

(b_open/b_goal/b_chief、sys_skip/sys_continue_ask/sys_new_night/sys_settings、 菜单四项 sys_menu_resume/book/restart/lobby、prog_t1..t4 / book_3..0 / exp_* 分档账目句、 hint_t1..t4、end_c1..c4 与全部剧情句(OP/WIND/处长)不动。m4_chief_a/b 为 26 号改造前 即未接线的登记句,维持现状,见 26-apply-cipher.md 偏差记录。)

四、键盘变体(KEY_LINES["cipher"] 增量;只改操作词,其余一字不动)

新增句含操作词的变体(无操作词不列:sys_turn_teach / sys_say_again / sys_demo_continue, 落回主资产):

("sys_first_tap", "按空格。") ("sys_first_tap_short", "按一下空格。") ("sys_hint_continue_full", "按空格,继续。") ("sys_hint_continue_short", "按空格。") ("sys_hint_choice_short", "左右方向键,选。") ("sys_hint_again_full", "按空格,重新开始。") ("gd_tune1_short", "左右方向键。") ("cf_hint_full", "按空格,定下这个词。") ("cf_hint_short", "按空格。") ("sys_only_choice", "现在,只要左右方向键。") ("sys_demo_choice", "左右方向键,都可以。现在你来。") ("sys_unlock_up", "想知道自己在哪,就按上方向键。") ("sys_unlock_down", "按下方向键,可以打开菜单。") ("sys_unlock_dt", "没听清,就按回车,再听一遍。") ("inv_nosel", "现在不用选。按空格继续。") ("inv_up_locked", "上方向键还没解锁。先按空格继续。") ("inv_down_locked", "菜单,玩完一局解锁。按空格继续。")

修改句的变体:

("dv1_teach", "向右方向键,听下一个词。") ("sys_menu", "菜单。左右方向键换项,按空格确认。") ("gd_invalid", "这个手势,值机室里用不上。按空格继续。")

删除句的 key/ 变体随主句停用:gd_brief / gd_continue / gd_again / gd_tune2 / gd_prog1 / gd_prog2 / sys_help / dv1_teach2 / dv1_ask(b_rule 无变体)。既有 gd_tune1 / sys_skip / sys_continue_ask / p2 变体不动。

合并提示:并入 gen_voice_dual.py 时,新增 20 条进 CIPHER_WIND_LINES、修改 3 条原地 替换、删除 10 条(连同 KEY_LINES["cipher"] 对应行)摘除;sys_unlock_* 与 sys_say_again 虽由引擎播出,资产照常落 web/cipher/audio/voice/{female,male}/。 合计 132 − 10 + 20 = 142 句(WIND 107 → 117,OP 20 与 NPC 平铺 5 不动; web/harness/voice_text.json cipher 主表已同步至 142 条,radio 同款口径)。