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 置完成。
152 lines
11 KiB
Markdown
152 lines
11 KiB
Markdown
# 《星环舰长》26 号重构台词清单(bridge)
|
||
|
||
> 生成依据:`tools/gen_voice_dual.py` BRIDGE_LINES 段(变量名 `_BRIDGE`,全表同一
|
||
> instruct 常量)。本清单为 BRIDGE_LINES 的**增量替换稿**:新增 / 修改 / 删除 /
|
||
> 键盘变体四节。交互与写作规范:
|
||
> [26-audio-interaction-playbook.md](../../docs/design/26-audio-interaction-playbook.md);
|
||
> 施工图(状态×手势矩阵/等待点/首 3 分钟)[22-bridge.md 附录 C](../../docs/design/22-bridge.md);
|
||
> 施工单 [26-apply-bridge.md](../../docs/design/26-apply-bridge.md);登记副本同步
|
||
> [22-bridge-voice-ids.md](../../docs/design/22-bridge-voice-ids.md)。
|
||
>
|
||
> 写作检查:指令 ≤12 字;`_short` ≤6 字;叙事 ≤25 字;每句标类别
|
||
> (critical / content / hint / feedback);「重听」一律作「重新听」(多音字,
|
||
> 本表用「再听一遍/听完」绕开);通用系统句与 storyline 文案逐字一致
|
||
> (sys_first_tap / sys_first_tap_short / sys_turn_teach / sys_say_again /
|
||
> sys_unlock_up / sys_unlock_down / sys_unlock_dt)。
|
||
>
|
||
> 双性别:male=Uncle_Fu / female=Serena;instruct 沿用 `_BRIDGE`
|
||
> (「低沉沉稳的男声,舰载系统音,冷静克制」/「清晰沉稳的女声,舰载系统音,
|
||
> 冷静克制,句读干净」)。NPC 12 句(BRIDGE_NPC:大副 Dylan / 工程师 Eric /
|
||
> 医师 Vivian 平铺单音色)**一字不动**。四象限靠听、左右滑换选项、单击下令、
|
||
> 上滑巡检=我在哪、下滑菜单是本作核心,全部新句按此口径措辞。
|
||
|
||
## 1. 新增(23 句)
|
||
|
||
```python
|
||
BRIDGE_LINES += [
|
||
# ---- 通用系统句(文案与 STORYLINE_LINES 逐字一致,00 号 §5.2 阶梯表)----
|
||
("sys_first_tap", _BRIDGE, "点一下屏幕。"), # critical(开场唯一一次指令)
|
||
("sys_first_tap_short", _BRIDGE, "点一下。"), # hint(intro/title 等待点短档)
|
||
("sys_turn_teach", _BRIDGE, "听到这个声音,就是轮到你了。"), # content(等待声首现教学,挂 D0 链首)
|
||
("sys_say_again", _BRIDGE, "再说一遍:"), # hint(主动重听前缀,阶段 3)
|
||
("sys_unlock_up", _BRIDGE, "想知道自己在哪,就向上滑。"), # content(D0 巡检链尾,阶段 1 提前解锁)
|
||
("sys_unlock_down", _BRIDGE, "向下滑,可以打开菜单。"), # content(第一次返航结算链尾,阶段 2)
|
||
("sys_unlock_dt", _BRIDGE, "没听清,就双击,再听一遍。"), # content(累计 3 局,阶段 3)
|
||
# ---- 等待点提示两档(22 附录 C §5 表逐字;_short ≤6 字)----
|
||
("hint_inspect_full", _BRIDGE, "向上滑,听四个系统。"), # hint(inspect 等待点)
|
||
("hint_inspect_short", _BRIDGE, "向上滑。"), # hint
|
||
("hint_route_full", _BRIDGE, "左右滑选航线。点一下定。"), # hint(route 等待点)
|
||
("hint_route_short", _BRIDGE, "左右滑。"), # hint
|
||
("hint_decide_full", _BRIDGE, "左右滑听命令。点一下下令。"), # hint(decide 等待点;22 附录 C 原文「点一下下」系笔误,按指令句式落定)
|
||
("hint_dock_full", _BRIDGE, "点一下,启航。"), # hint(dock 等待点)
|
||
("hint_dock_short", _BRIDGE, "单击。"), # hint
|
||
# ---- 无效操作解释(原则 7:每「状态×手势」一次)----
|
||
("inv_detect", _BRIDGE, "先听类型和方位。"), # feedback(检测链被打断,续播链头)
|
||
("inv_cruise", _BRIDGE, "现在不用选。点一下听警报,或向上滑。"), # feedback(巡航空闲乱滑,22 §7 失败表逐字)
|
||
("inv_tour", _BRIDGE, "巡检中,先听完。"), # feedback(巡检链播中乱滑)
|
||
("inv_drill", _BRIDGE, "先向上滑,听全舰。"), # feedback(教学等上滑步乱按)
|
||
("inv_title", _BRIDGE, "点一下开始,右滑进星港。"), # feedback(标题页左滑)
|
||
("inv_report", _BRIDGE, "巡逻结束了。点一下,返航。"), # feedback(结算完左右滑)
|
||
("inv_up_locked", _BRIDGE, "上滑还没解锁。先点一下继续。"), # feedback(锁定手势首次解释,管道口径)
|
||
("inv_down_locked", _BRIDGE, "菜单,玩完一局解锁。"), # feedback(锁定手势首次解释)
|
||
# ---- 菜单(00 §5.4:左右滑换项+单击确认;破坏性二次确认)----
|
||
("menu_restart_confirm", _BRIDGE, "放弃就丢了这局。再点一下。"), # feedback(「放弃巡逻」二次确认)
|
||
]
|
||
```
|
||
|
||
## 2. 修改(2 句;旧文案废止口径见 §3)
|
||
|
||
```python
|
||
# 旧 → 新(整句替换,id 不变)
|
||
("sys_menu", _BRIDGE, "菜单。左右滑换项,单击确认。"), # 旧「菜单。单击切换,双击确认。」——菜单双击确认废止(00 §5.4);hint
|
||
("sys_help", _BRIDGE, "上滑巡检全舰,点一下重播告警。危机时,左右滑听命令,单击下令。"), # 旧含「下滑菜单,双击重新听」——双击重新听废止(新手期);hint
|
||
```
|
||
|
||
> 沿用不重录:gd_invalid「这个操作,这里用不上。」——角色从看门狗纠错句改为锁定
|
||
> 手势(长按)首次解释句,文案不变。
|
||
|
||
## 3. 删除(11 句;音频随本轮 convert 后删除)
|
||
|
||
```python
|
||
# id:废止原因
|
||
("intro_1",) # 开场规则念白废除(§4.10 反模式 6)——第一句即 critical 指令句;方位教学由 D0 巡检四音当场承担
|
||
("intro_2",) # 同上
|
||
("intro_3",) # 同上
|
||
("intro_4",) # 同上
|
||
("intro_5",) # 同上(受殃规则承诺改由检测链方位句+危机矩阵当场兑现)
|
||
("tut_d0",) # 「先试巡检。向上滑,听全舰状态。」→ hint_inspect_full(22 附录 C §5 逐字)
|
||
("tut_skip",) # 教学不可跳(下滑=菜单在阶段 2 才解锁;D0/D3 由迷茫 L3 替播巡检自动过步)
|
||
("gd_decide",) # 看门狗重播说明书废除——decide 等待点两档提示 + 窗内 tick 已催(22 附录 C §5 注)
|
||
("gd_dock",) # 同上——dock 等待点两档提示 + 迷茫 L3 替启航承接
|
||
("hint_dock3",)# 「整备完毕,就启航。」——DOCK 无进展轨三级提示由等待点提示+接管 L3 替启航承接
|
||
("sys_menu_help",) # 菜单项「重新听帮助」——菜单内上滑=sys_help 已覆盖(00 §5.4 菜单三态)
|
||
```
|
||
|
||
## 4. 键盘变体(KEY_LINES["bridge"] 替换稿 31 句;措辞照 KEY_LINES["storyline"] 口径)
|
||
|
||
> 规则同 KEY_LINES["storyline"]:向左滑→按左方向键(四向同理);单击→按空格;
|
||
> 双击→按回车;长按→按住空格。只改操作词,其余一字不动。
|
||
|
||
```python
|
||
KEY_LINES["bridge"] = [
|
||
# ---- 通用系统句 ----
|
||
("sys_first_tap", "按空格。"),
|
||
("sys_first_tap_short", "按一下空格。"),
|
||
("sys_turn_teach", "听到这个声音,就是轮到你了。"),
|
||
("sys_say_again", "再说一遍:"),
|
||
("sys_unlock_up", "想知道自己在哪,就按上方向键。"),
|
||
("sys_unlock_down", "按下方向键,可以打开菜单。"),
|
||
("sys_unlock_dt", "没听清,就按回车,再听一遍。"),
|
||
# ---- 等待点提示两档 ----
|
||
("hint_inspect_full", "按上方向键,听四个系统。"),
|
||
("hint_inspect_short", "按上方向键。"),
|
||
("hint_route_full", "左右方向键选航线。按空格定。"),
|
||
("hint_route_short", "左右方向键。"),
|
||
("hint_decide_full", "左右方向键听命令。按空格下令。"),
|
||
("hint_dock_full", "按空格,启航。"),
|
||
("hint_dock_short", "按空格。"),
|
||
# ---- 无效操作解释 ----
|
||
("inv_detect", "先听类型和方位。"),
|
||
("inv_cruise", "现在不用选。按空格听警报,或按上方向键。"),
|
||
("inv_tour", "巡检中,先听完。"),
|
||
("inv_drill", "先按上方向键,听全舰。"),
|
||
("inv_title", "按空格开始,右方向键进星港。"),
|
||
("inv_report", "巡逻结束了。按空格,返航。"),
|
||
("inv_up_locked", "上方向键还没解锁。先按空格继续。"),
|
||
("inv_down_locked", "菜单,玩完一局解锁。"),
|
||
("menu_restart_confirm", "放弃就丢了这局。再按一次。"),
|
||
# ---- 沿用句的键盘变体(触屏版不变,键盘态换操作词)----
|
||
("sys_menu", "菜单。左右方向键换项,按空格确认。"),
|
||
("sys_help", "上方向键巡检全舰,按空格重播告警。危机时,左右方向键听命令,按空格下令。"),
|
||
("tut_decide", "方向键听选项,按空格下令。"),
|
||
("cr_decide", "听选项,按空格下令。"),
|
||
("dock_open", "靠港整备。方向键看项目,按空格执行。"),
|
||
("gd_cruise", "还在巡航。按上方向键,巡检全舰。"),
|
||
("sys_continue_ask", "检测到未完成的巡逻。按空格继续,右方向键进星港。"),
|
||
("settle_hook", "星港期待你的下一次巡逻。按空格,返航。"),
|
||
]
|
||
```
|
||
|
||
> 沿用不重录(触屏/键盘通用,无操作词或两态一致):除上表外全部主表句
|
||
> (含 st_* / evt_* / dir_* / opt_* / res_* / loy_* / sup_* / rep_* / die_* /
|
||
> rate_* / merit_* / upg_* / port_* / route_* / sys_*_dmg/off / sys_new_patrol /
|
||
> sys_saved / settings_hint / recap_go / tut_crisis / tut_all_ok / tut_aid /
|
||
> tut_after / tut_loyal / tut_done / trap_hint / cr_timeout / gd_invalid)。
|
||
> NPC 12 句(BRIDGE_NPC)平铺不动。
|
||
|
||
## 生成与验收口径
|
||
|
||
- 汇总表 = 沿用 119 + 修改 2 + 新增 23 = 144 句主表(双性别 288 条);
|
||
NPC 平铺 12 不动;键盘变体 31 句(旧 10 对中 7 对沿用改词、3 对随主表删除、
|
||
新增 24 对)。
|
||
- 生成:`.venv-tts/bin/python tools/gen_voice_dual.py --game bridge --gender both`
|
||
(flock .gpu.lock);检查 `--check`;转码 `--convert`;`--only-variants` 单独补
|
||
键盘变体。
|
||
- convert 后删除废止 id 音频(male/female 共 11 id ×2 格式):intro_1..5 /
|
||
tut_d0 / tut_skip / gd_decide / gd_dock / hint_dock3 / sys_menu_help;
|
||
键盘变体删除:key/ 下 tut_d0_k / gd_decide_k / gd_dock_k。
|
||
- 落地后把 `web/bridge/test/playtest.mjs` 场景 14 的「旁白基表 132」断言改 144、
|
||
「key/ 各 10」断言改 31,并清空文末「26 号新句待生成」信息性清单;
|
||
`web/harness/voice_text.json` 的 bridge 主表与 `__key__` 变体表同步本台词
|
||
(转写时长估算与 ASR 判定用)。
|