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 置完成。
18 KiB
23b · 《围猎》语音台词表(voice ids,录音依据)
26 号对齐(资产清单,不是交互宪法)
- 交互与新手手势以 26-audio-interaction-playbook.md 和对应游戏正文为准。
- 26 号重构修订(施工单 26-apply-hunt.md,台词增量
tools/voice_lines_26/hunt.md):教学重排 T0 点一下→T1 滑砍→T2 呼喊→T3 长按 (tut_hit/call/help 三对 _full/_short 新增;tut_rule/tut_attack/tut_callout/ tut_skill/tut_skill_cd/tut_status/tut_breach/tut_skip/settings_hint 删除); 新增 L 组系统/等待点/帮助/归因 15 句;room_wait/sys_menu/help_main/gd_idle/ net_back/tut_kill_ok/tut_done 改写;键盘变体 V 组换 13 对。主表 60→76 句。- 本表仍是 TTS id 事实源的登记副本(生成以
tools/gen_voice_dual.py为准)。含「双击重听 / 双击使用 / 双击格挡 / 单击循环菜单」的句子 停用或按游戏正文重录。- 写作:指令 ≤12 字,短句档 ≤6 字,叙事 ≤25 字;每句标
critical/content/hint/feedback。游戏主动提示不得原样重复;重听前加「再说一遍:」。- 键盘变体:新手期回车当空格(单击)。删除「按回车=重听」类旧口径,或仅在阶段 3 解锁双击后启用。
- 共用新句见 14-guide-layer.md §7(
sys_first_tap等)。各游戏_full/_short在游戏正文设计单里点名,补进本表后再进生成脚本。
给音频总监的录制说明
旁白/系统音双性别组(60 句,预算打满):落
web/hunt/audio/voice/female|male/<id>.{ogg,m4a},两性别 id 集合完全一致。
- female =
Serena,instruct 常量:清亮沉稳的女声,像守夜猎人的领队,冷静中带着鼓舞- male =
Uncle_Fu,instruct 常量:低沉醇厚的男声,像守夜猎人的领队,沉稳有力- 两常量全表统一(含教学/警报/结算),禁止句级变体、禁语速词(引擎 SoundTouch 变速)。
bot 喊话组(N 组,24 句 = 3 角色 × 8 句):固定单音色平铺、不做双性别。因喊话经 sfx 层 + opts.pan 空间化播放(引擎按 id 前缀分发,主设计 §8 R2 / §15 裁决 7),资产落盘
web/hunt/audio/sfx/npc_<char>_<line>.{ogg,m4a}——这是 NPC 平铺惯例的异例:生成仍走 voice 管线(TTS、峰值归一 0.89 沿用 voice 策略),仅落盘目录不同。角色 speaker+instruct 恒定:
角色 char speaker instruct 常量 区分度风险 阿岩 yan Uncle_Fu憨厚壮实的中年男声,猎户,话少踏实中:与 male 旁白同 speaker——缓解:sfx 层 pan 空间分离 + 1-2s 短喊话语境 + instruct 差异(abyss 先例口径) 小筝 zheng Serena轻快爽利的年轻女声,猎手,干脆利落中:与 female 旁白同 speaker——缓解同上 老周 zhou Eric沙哑沉稳的老年男声,老猎手,带点调侃低:与两侧旁白零重叠 数字规避:耐久 4 档 / 波次 3 档(st_wave_*)+ 5 整句(wave_band1-5)/ 在场猎人 2 句 / 击杀 3 档 / 威胁 3 档 / 评级 4 整句——全部分档整句,无运行时拼接。「八秒冷却」「五波」等数字写死在整句内(一次生成,非拼接)。
称呼中性:旁白称「你/你们」,无性别化称呼;bot 句不含绝对方位(方位由 pan 承载,主设计 §15 裁决 3/7——任务书示例句"东侧交给我!"据此落地为"这边交给我")。
多音字自查:全表无「血」「爪」「挨」「壳」「弹」「重(chóng/zhòng 歧义句)」;「重听」一律写「重新听」(tut_skill_cd)。已标注风险 3 处:「还」(hái:营地还在/守得还行/还没开张——asset-manifest 既有风险项,三处均 hái 语境,试听确认);「啧」(zé,npc_zhou_breach 叹词,试听异常则整句改「哼,溜进去一只。」);评级字母 S/A/B/C(rhythm「评级,S!」先例,试听确认字母读音)。
触发纪律(开发轮次对照主设计):警报类(breach/breach_heavy/danger_low)可顶掉状态/播报类,教学/结算链不可顶;skill_ready 与状态链一律
queue:true;gd_* idle-only + onceKey;bot 喊话调度上限见主设计 §7.4/§8 R2。键盘变体(V 组,11 对):操作提示句在
gesture.inputMode()==='key'时改播voice/<gender>/key/<id>.*变体,变体缺失回退主资产;与tools/gen_voice_dual.py的KEY_LINES逐字一致(两表一致铁律:改一处必改另一处)。管线:
tools/gen_voice_dual.py照录(SPEAKERS 新增 hunt 行 + HUNT_NPC 平铺表);生成后--convert落盘 +tools/check_all_assets.py终检(双格式配对、双性别集合一致、key 变体 ⊆ 主集)。
A 组 · 开场/房间(旁白 ×4)
| id | 台词全文 | 触发/语境 |
|---|---|---|
intro_1 |
夜幕降临,野兽在山林里游荡。 | 开场 1(TITLE 单击后/教学房 T0) |
intro_2 |
你们是守夜的猎人,营地就在身后。 | 开场 2 |
room_wait |
等同伴到齐。点一下,开局。 | LOBBY 进入(lobby 等待点 full;12s 倒计时自动开局) |
room_wait_short |
单击。 | lobby 等待点 short(26 号) |
room_start |
狩猎开始,先听声音的方向。 | 开局(ev wave 1 前) |
B 组 · 教学 TEACH(旁白 ×9;26 号重排 T0 点一下→T1 滑砍→T2 呼喊→T3 长按问路;教学波突入不扣耐久,学期零惩罚;旋风斩口头不出现)
| id | 台词全文 | 触发/语境 |
|---|---|---|
tut_hit_full |
朝叫声,滑。 | T1(teach_hit 等待点 full;教学狼 1 放出后,critical) |
tut_hit_short |
滑一下。 | teach_hit 等待点 short / 迷茫接管档 |
tut_kill_ok |
对,就是这样。 | T1 首杀(肯定 ≤4 字口径) |
tut_call_full |
点一下,喊人。 | T2(teach_call 等待点 full,critical) |
tut_call_short |
点一下。 | teach_call 等待点 short |
tut_callout_ok |
听到没,同伴回应你了。 | T2(bot help_ack 播完后,呼喊-响应闭环点明) |
tut_help_full |
按住屏幕,听营地。 | T3(teach_help 等待点 full,critical;阶段 1 长按教学) |
tut_help_short |
按住。 | teach_help 等待点 short |
tut_done |
教学完了。围猎开始。 | T3 长按作答后 → 等 ev WAVE 1 |
26 号删除:tut_rule(规则总述,做中学)、tut_attack / tut_callout(长指令 → 上方 _full/_short 对替换)、tut_skill / tut_skill_cd(新手期旋风斩口头不出现, 阶段 4 改 G 组 skill_teach 大厅专属教学)、tut_status(状态查询移长按)、 tut_breach(breach 警报句自带归因)、tut_skip(每步 L3 演示兜底,无手动跳过)。
C 组 · 波次(旁白 ×6)
| id | 台词全文 | 触发/语境 |
|---|---|---|
wave_band1 |
第一波来了,别慌。 | ev wave 1 |
wave_band2 |
第二波,比刚才多。 | ev wave 2 |
wave_band3 |
第三波,有大家伙混在里面。 | ev wave 3(首只暴熊) |
wave_band4 |
第四波,更快,更多。 | ev wave 4 |
wave_band5 |
最后一波,全来了! | ev wave 5 |
wave_clear |
这一波,守住了。 | ev waveclear(波间休整 8s 开场) |
D 组 · 状态链(旁白 ×12;上滑 4 段链播:耐久档 → 波次档 → 猎人数 → 击杀档)
| id | 台词全文 | 触发/语境 |
|---|---|---|
hp_band1 |
营地固若金汤。 | 耐久 >75%(10 制:≥8) |
hp_band2 |
营地受了些损伤。 | 50~75%(5-7) |
hp_band3 |
营地损毁过半。 | 25~50%(3-4) |
hp_band4 |
营地快守不住了。 | ≤25%(≤2) |
st_wave_a |
还在头几波。 | 波次档:第 1-2 波 |
st_wave_b |
打到中段了。 | 第 3-4 波 |
st_wave_c |
最后一波了。 | 第 5 波 |
team_3 |
三名猎人在守。 | 在场 3 猎人(含 bot) |
team_4 |
四名猎人全在。 | 在场 4 猎人 |
kill_band0 |
你还没开张。 | 个人击杀 0 |
kill_band1 |
你小有斩获。 | 1-9 |
kill_band2 |
你战果累累。 | ≥10 |
E 组 · 威胁重听(旁白 ×3;冷却中双击 = 重听;只报数量档,方位由声像承载)
| id | 台词全文 | 触发/语境 |
|---|---|---|
threat_none |
近处暂时没有野兽。 | 内圈(eta≤4s)0 只 |
threat_few |
有野兽贴近了,听方向出手。 | 内圈 1-2 只 |
threat_many |
四周全是动静,快出手! | 内圈 ≥3 只 |
F 组 · 警报(旁白 ×3;警报类,可顶状态/播报类)
| id | 台词全文 | 触发/语境 |
|---|---|---|
breach |
有野兽冲进营地了! | ev breach(狼,-1);节流 ≥3.5s |
breach_heavy |
巨兽撞进营地,损伤很重! | ev breach(熊,-2);节流同上 |
danger_low |
营地危险了,一只都不能再漏! | 耐久首次 ≤2(每局 1 次,配 danger 震) |
G 组 · 技能(旁白 ×2)
| id | 台词全文 | 触发/语境 |
|---|---|---|
skill_ready |
旋风斩准备好了。 | 旋风斩冷却完成(§4.6 hint 通道:只在空闲时播,每轮冷却 1 次) |
skill_teach |
双击,放出旋风斩。 | 阶段 4 专属教学:首次以已识别双击进入大厅(附录 C §3) |
H 组 · 结算(旁白 ×9;进 END 盖 800ms 手势死窗)
| id | 台词全文 | 触发/语境 |
|---|---|---|
end_win |
天亮了,营地还在。 | 胜利结算链首句 |
end_lose |
营地守不住了,撤退! | 失守结算首句(耐久归零) |
grade_s |
评级,S!完美的围猎。 | 胜利评级 S(耐久 ≥9) |
grade_a |
评级,A。漂亮。 | 评级 A(7-8) |
grade_b |
评级,B。守得还行。 | 评级 B(4-6) |
grade_c |
评级,C。险胜。 | 评级 C(1-3) |
end_rank |
成绩已记入猎手榜。 | 胜利局排行榜写入后(失守局不播) |
end_again |
单击,再猎一局。 | 结算链尾句(critical;重开入口) |
end_again_short |
单击。 | end 等待点 short(26 号) |
结算链:胜利 = end_win → grade_* → kill_band_*(自己击杀档)→ end_rank → end_again;失守 = end_lose → kill_band_* → end_again。
I 组 · 断线/重连(旁白 ×4)
| id | 台词全文 | 触发/语境 |
|---|---|---|
net_lost |
与营地断了联系,正在重连。 | WS 断开(本地静默重连开始,≤30s) |
net_back |
你回来了。朝叫声滑。 | resume 回槽成功(§4.12 复述句,23 号 §9 原文) |
net_to_bot |
有猎人离队,老猎手顶上。 | roster 变更:他人槽位转 bot(非自己) |
net_gone |
回不去那场围猎了,回大厅。 | 重连失败/房已灭(err room_gone 或 30s 超时)→ LOST |
J 组 · 菜单/帮助(旁白 ×6;菜单不暂停 E3 豁免;26 号:左右滑换项、单击确认)
| id | 台词全文 | 触发/语境 |
|---|---|---|
sys_menu |
菜单。左右滑换项,单击确认。 | 下滑呼出模态菜单(menu 等待点 full) |
sys_menu_short |
左右滑,单击。 | menu 等待点 short(26 号) |
sys_menu_resume |
回到猎场。 | 菜单项 1 |
sys_menu_help |
重新听帮助。 | 菜单项 2 |
sys_menu_home |
退出房间,回大厅。 | 菜单项 3(= 发 leave;二次确认 sys_home_check) |
sys_home_check |
再点一下,确认退出。 | 回大厅破坏性操作二次确认(原则 6,26 号) |
help_main |
朝声音的方向滑,就是出击。点一下呼喊,按住听状态。 | 菜单「重新听帮助」项 |
26 号删除:settings_hint(菜单上滑帮助组合废止;设置只在大厅改,00 §1.2)。
K 组 · 向导/纠错(旁白 ×2;§4.6 feedback,每「状态×手势」一次 + 30s 台账)
| id | 台词全文 | 触发/语境 |
|---|---|---|
gd_invalid |
这个操作现在用不上。 | 无效手势通用解释(原则 7) |
gd_idle |
朝最响的滑。 | WAVE 迷茫接管 L1(附录 C §7) |
L 组 · 26 号新增(旁白 ×14;系统句 / 等待点三档 / 长按帮助 / 失败归因)
| id | 台词全文 | 类别 | 触发/语境 |
|---|---|---|---|
sys_first_tap |
点一下屏幕。 | critical | 教学 T0 第一句(首句动手,§4.10) |
sys_first_tap_short |
点一下。 | hint | intro 等待点 short |
sys_say_again |
再说一遍: | hint | 主动重听前缀(全项目同文案) |
sys_unlock_down |
向下滑,可以打开菜单。 | content | 第 1 局 END 解锁教学(ladder.onGameDone) |
sys_unlock_dt |
没听清,就双击,再听一遍。 | content | 第 3 局 END 解锁教学 |
sys_recap |
上次那局没打完。点一下,重新匹配。 | content | 断点复述(§4.12,一局内退出后回 TITLE) |
lp_act |
朝叫声滑。 | hint | 长按帮助链尾「一个动作」(原则 3) |
lp_title |
围猎。点一下,进入匹配。 | hint | TITLE 长按帮助(+ 有 best 追评级/击杀档) |
atk_cd |
出刀还在冷却。 | feedback | 出击冷却首拦解释(附录 C §7) |
call_cd |
呼喊要有间隔。 | feedback | 呼喊节流首拦解释 |
inv_swipe |
先朝声音滑。 | feedback | T1 期点按(附录 C §6 做错列) |
inv_rest |
下一波马上来。 | feedback | 波间休整窗滑/点(无可打目标) |
miss_side |
在另一边。 | feedback | 挥空归因(30s 台账去重,之后只 swish+回执) |
wave_only |
只朝声音那边滑。 | hint | WAVE 迷茫接管 L2(只放行该弧) |
旁白合计(26 号后):76 句 ×2 性别 = 152 条音频(×2 格式 = 304 文件;原 60 − 删 9 + 增 25)。
N 组 · bot 喊话(24 句 = 3 角色 × 8;固定单音色,落盘 audio/sfx/,见头注)
触发映射(服务端纪律见主设计 §7.4:全局 10s ≤2 条,每 bot 20s 节流,help_call/help_ack 优先):
greet=开局补位完成逐只间隔 ≥1.5s;help_call=bot 防区压力呼救 / 真人单击呼喊(用其座位角色声);help_ack=响应呼喊(空闲 bot 一只);cover=补位落定 / 转 bot 接管;kill=杀熊或三连杀(15s 节流);breach=本防区漏怪(20s 节流);skill=bot 放旋风斩;wave=第 2 波起轮转一只鼓劲。
| id | 台词全文 | 触发/语境 |
|---|---|---|
npc_yan_greet |
我来了,这边有我。 | 阿岩 · 开局/补位 |
npc_yan_help_call |
我这侧吃紧,来个人搭把手! | 阿岩 · 呼救(或座 0 真人呼喊) |
npc_yan_help_ack |
撑住,我来了。 | 阿岩 · 响应呼喊 |
npc_yan_cover |
这边交给我。 | 阿岩 · 补位/接管 |
npc_yan_kill |
拿下! | 阿岩 · 杀熊/三连杀 |
npc_yan_breach |
漏了一个,都小心。 | 阿岩 · 本防区突入 |
npc_yan_skill |
都闪开,看我的! | 阿岩 · 旋风斩 |
npc_yan_wave |
新一波,稳住。 | 阿岩 · 波次鼓劲 |
npc_zheng_greet |
小筝到位,开工啦。 | 小筝 · 开局/补位 |
npc_zheng_help_call |
这边太多了,谁来帮一下! | 小筝 · 呼救(或座 1 真人呼喊) |
npc_zheng_help_ack |
别慌,我来了! | 小筝 · 响应呼喊 |
npc_zheng_cover |
这边我罩着。 | 小筝 · 补位/接管 |
npc_zheng_kill |
搞定! | 小筝 · 杀熊/三连杀 |
npc_zheng_breach |
哎呀,漏了一个! | 小筝 · 本防区突入 |
npc_zheng_skill |
看我清场! | 小筝 · 旋风斩 |
npc_zheng_wave |
又来一波,打起精神。 | 小筝 · 波次鼓劲 |
npc_zhou_greet |
老周我守着,放心。 | 老周 · 开局/补位 |
npc_zhou_help_call |
我这边压不住了,来人。 | 老周 · 呼救(或座 2 真人呼喊) |
npc_zhou_help_ack |
听见了,这就到。 | 老周 · 响应呼喊 |
npc_zhou_cover |
这边交给我吧。 | 老周 · 补位/接管 |
npc_zhou_kill |
嗯,解决了。 | 老周 · 杀熊/三连杀 |
npc_zhou_breach |
啧,溜进去一只。 | 老周 · 本防区突入(「啧」风险见头注) |
npc_zhou_skill |
让让,老骨头活动活动。 | 老周 · 旋风斩 |
npc_zhou_wave |
听,又来了。 | 老周 · 波次鼓劲 |
bot 喊话合计:24 条单音色音频(×2 格式 = 48 文件;座 3 真人呼喊无角色声,用 sfx/call_whistle 哨音,主设计 §15 裁决 6)。
V 组 · 键盘变体(key,13 对;gesture.inputMode()==='key' 时选播,措辞规范同 dungeon/bridge)
| id | 键盘台词全文(触屏原句见上方对应 id) |
|---|---|
sys_first_tap |
按空格。 |
tut_hit_full |
朝叫声,按方向键。 |
tut_hit_short |
按方向键。 |
tut_call_full |
按空格,喊人。 |
tut_call_short |
按空格。 |
tut_help_full |
按住空格,听营地。 |
tut_help_short |
按住空格。 |
room_wait |
等同伴到齐。按空格,开局。 |
sys_menu |
菜单。左右方向键换项,按空格确认。 |
help_main |
朝声音的方向按方向键,就是出击。按空格呼喊,按住空格听状态。 |
skill_teach |
按回车,放出旋风斩。 |
end_again |
按空格,再猎一局。 |
gd_idle |
朝最响的,按方向键。 |
变体合计:13 对 ×2 性别 = 26 条(×2 格式 = 52 文件;落 voice/<gender>/key/)。
全集账目(26 号后):旁白 76×2 + bot 24 + key 变体 13×2 = 190 条音频(×2 格式 = 380 文件)。 主设计触发逻辑对照 23-hunt.md §2/§5/§7/§8/§11/§12;协议事件(ev 种类 → 播报映射)对照其 §6.3。