research(new8/batch2): abyss + detective 迭代闭环收口——双双 R1-R2 连续达标裁定可交付

abyss《深海回音》:
- R1 补 synthesis(5/5 愿意玩 P0=0)+ 补录 R1 缺失裁决材料
- R2 十修全部现场坐实:F1 ping迟到/尾句保护首播制/链末看门狗不拆/回波静默一拍/dv4_dual扣账口播/crit水面变体/看门狗13s/震循环1.1s/震去重/状态链人数句
- 补录语音18段(flock串行,QC无离群);playtest 242→278
- 终裁:4/4 人设满分档,连续 2 轮达标 → 可交付 ✅

detective《雨夜专案》:
- R1 取证轮:补跑 live 两会话(认真新手33分钟全弧线/乱按200s三级保底抢救),5/5 愿意玩 P0=0
- R2 十一修全部坐实:intro完整落声/tut不被掐/按轴取句/人名指认/结案确认闸/指路句/选句记忆位/hint轻震/st_wrong当场记账/tut_skip补动词/L2疑点齐分支
- 补录+改词33条(29新增+4重录);playtest 265→279
- 终裁:6/6 愿意玩,连续 2 轮达标 → 可交付 ✅

公共:00-program 批次2进度账收账、13号文档 R2 断言关键词、gen_voice_dual 两游戏段、voice_text.json
验证:abyss 278/278 + detective 279/279 + guide 122/122 + check_all_assets 全项目全绿
This commit is contained in:
xsl
2026-09-14 00:05:42 +08:00
parent 005851d01a
commit c8843233b0
670 changed files with 6726 additions and 218 deletions
+33 -7
View File
@@ -907,7 +907,8 @@ DUNGEON_LINES = [
]
# ---------------------------------------------------------------- abyss
# 《深海回音》批次 2(docs/design/17-abyss-voice-ids.md,148 句:双性别 127 + 平铺 NPC 21)。
# 《深海回音》批次 2(docs/design/17-abyss-voice-ids.md,155 句:双性别 134 + 平铺 NPC 21;
# R2 修订 +7 句:dv4_dual / oxy_crit_deck / prog_saved1..5,sys_skip(_k) 改词)。
# 台词全文逐字照抄 voice-ids 文档;双性别组分 DIVER(潜航员=玩家)/ DECK(母船调度/系统/
# 向导 gd_*)两个 speaker 配对(同性别双音色,VOICE_SPK["abyss"] 覆盖,radio HOST/PROD 同型:
# 同场景高频对话的两者永不同 speaker);_k 键盘变体 11 对在 KEY_LINES["abyss"]。
@@ -967,7 +968,7 @@ ABYSS_DECK_LINES = [
("gd_ping2", _ABY_DECK, "回波不会自己来。单击。"),
("sys_help", _ABY_DECK, "单击继续,双击重新听。上滑听状态,下滑开菜单。选择时,左右滑。"),
("sys_menu", _ABY_DECK, "菜单。单击切换选项,双击确认。"),
("sys_skip", _ABY_DECK, "想跳过这句,单击就行。"),
("sys_skip", _ABY_DECK, "听过的句子再播时,单击就能跳过。"),
("sys_continue_ask", _ABY_DECK, "检测到你的下潜记录。单击继续上次,右滑开始新救援。"),
# ---- G0.b 状态/系统句 ----
("gd_invalid", _ABY_DECK, "这个手势,水里用不上。"),
@@ -982,10 +983,18 @@ ABYSS_DECK_LINES = [
("prog_d2", _ABY_DECK, "现在是第二次下潜。"),
("prog_d3", _ABY_DECK, "现在是第三次下潜。"),
("prog_d4", _ABY_DECK, "现在是最后一次下潜。"),
# R2-F10:上滑状态链·已救人数(saved=1..5 分档整句;saved=0 不播)
("prog_saved1", _ABY_DECK, "已经救上一个人。"),
("prog_saved2", _ABY_DECK, "已经救上两个人。"),
("prog_saved3", _ABY_DECK, "已经救上三个人。"),
("prog_saved4", _ABY_DECK, "已经救上四个人。"),
("prog_saved5", _ABY_DECK, "五个人都在甲板上了。"),
("oxy_full", _ABY_DECK, "气瓶还足,救得动。"),
("oxy_ok", _ABY_DECK, "氧气还够两潜。"),
("oxy_low", _ABY_DECK, "氧气告急,只够最后一潜。"),
("oxy_crit", _ABY_DECK, "氧气见底,必须上浮。"),
# R2-F5:crit 水面变体(SURFACE/ENDING;水下保留「必须上浮」)
("oxy_crit_deck", _ABY_DECK, "氧气见底,一潜都下不去了。"),
("oxy_gain", _ABY_DECK, "应急瓶接上了,多三格。"),
("dry_a", _ABY_DECK, "气瓶用干了。立刻上浮。"),
("dry_b", _ABY_DECK, "气花在了人身上。人,都上来了。"),
@@ -1025,6 +1034,8 @@ ABYSS_DECK_LINES = [
# ---- D4 第四潜 ----
("dv4_none", _ABY_DECK, "气不够一潜了。第四潜,取消。"),
("dv4_down", _ABY_DECK, "最后一潜,指挥舱。海燕号,撑不住了。"),
# R2-F4:双载形态下潜链追加(3+1=4 格扣账口播化,不再无声扣款)
("dv4_dual", _ABY_DECK, "两个人下同一潜。这趟往返,扣四格气。"),
("dv4_slide", _ABY_DECK, "它滑了!抓稳索缆,指挥舱里还有人!"),
("p7", _ABY_DECK, "双人上浮。向左滑,逐站减压慢慢浮。向右滑,违规直浮,搏一把。"),
("p7_chen", _ABY_DECK, "气只够带一个。向左滑,带船长。向右滑,带陈医官。"),
@@ -1089,7 +1100,9 @@ ABYSS_NPC = [
]
# ---------------------------------------------------------------- detective
# 《雨夜专案》批次 2(docs/design/18-detective-voice-ids.md,158 句:旁白 106 双性别 + 平铺 NPC 52)。
# 《雨夜专案》批次 2(docs/design/18-detective-voice-ids.md,171 句:旁白基表 104 双性别 + V 组 14 + 平铺 NPC 53;
# R2 修订:改词 fin_who_confirm/tut_skip;新增 fin_pre、item_who_w1..w4、st_wrong、recap_cf、gd_board_cf、
# z_react_w(NPC)、V 组 +4 对——逐条理由见 18-detective.md 文末 R2 修订记录 / new8/detective/round1 F1-F11)。
# 台词全文逐字照抄 voice-ids 文档;旁白只做系统/指引/教学/状态/现场自勘(探长自勘)/裁决宣读,
# 不念证词(证词=证人 NPC 平铺,DETECTIVE_NPC);键盘变体 V 组 10 对在 KEY_LINES["detective"]。
# NPC 不加电话滤波(区别于 radio/abyss——区分度靠 speaker+instruct+游戏侧签名 earcon 前缀)。
@@ -1120,7 +1133,7 @@ DETECTIVE_LINES = [
("tut_cf_try", _DET, "练习一次。选一份证词,单击确认;再选一份,任意一句。"),
("tut_cf_ok", _DET, "指证就是这样。练习不算数,真矛盾要靠耳朵找。"),
("tut_done", _DET, "教学完了。开始查案。"),
("tut_skip", _DET, "已跳过教学。左右滑换卷宗,单击听取。"),
("tut_skip", _DET, "已跳过教学。左右滑换卷宗,单击听取;按住屏幕,指证矛盾。"),
# ---- G2 状态/条目 ----
("st_asked_0", _DET, "六份卷宗,一份都没听。"),
("st_asked_1", _DET, "已听一份,还有五份。"),
@@ -1160,8 +1173,14 @@ DETECTIVE_LINES = [
("cf_hit", _DET, "对不上!矛盾成立,记入疑点。"),
# ---- G5 结案三问 ----
("fin_start", _DET, "结案陈词。先指认真凶:四位证人,选一个。"),
("fin_who_confirm", _DET, "就指认他?单击,定下来。"),
("fin_pre", _DET, "证据在手,就此结案?单击,定下来;滑走,继续查。"),
("item_who_w1", _DET, "门卫老葛。"),
("item_who_w2", _DET, "学徒小顺。"),
("item_who_w3", _DET, "账房周先生。"),
("item_who_w4", _DET, "房东温太太。"),
("fin_who_confirm", _DET, "就指认这位?单击,定下来。"),
("fin_clear", _DET, "不在场证明成立。证据放人,回到证词板。"),
("st_wrong", _DET, "错指一回,记档。"),
("fin_right", _DET, "证据链闭合。周先生,你还有什么话说?"),
("fin_right_b", _DET, "证据链闭合。小顺,你还有什么话说?"),
("fin_ask_weapon", _DET, "第二问:凶器是什么?"),
@@ -1189,6 +1208,7 @@ DETECTIVE_LINES = [
("settle_hook", _DET, "同一场雨里,还有别的案子。单击,接新案。"),
# ---- G7 看门狗/卡关/纠错 ----
("gd_board", _DET, "还在证词板。左右滑,换卷宗。"),
("gd_board_cf", _DET, "都听过了。按住屏幕,去指证。"),
("gd_cf", _DET, "还在选证词。左右滑,单击确认。"),
("gd_fin", _DET, "在想?左右滑选,单击定。"),
("gd_invalid", _DET, "这个操作,这里用不上。"),
@@ -1200,6 +1220,7 @@ DETECTIVE_LINES = [
("b_hint_c2", _DET, "试试指证:小顺说铜秤卖了,现场铜秤还在。"),
("hint_fin", _DET, "疑点齐了。去结案陈词。"),
("recap_go", _DET, "接着查。"),
("recap_cf", _DET, "卷宗都在耳朵里了。挑一句你不信的,按住指证。"),
]
# NPC 单音色平铺(id, speaker, instruct, 台词)→ web/detective/audio/voice/<id>.*
@@ -1239,6 +1260,7 @@ DETECTIVE_NPC = [
("z_6", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "你们要是不信,去问我家婆娘。"),
("z_react_1", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "灯?……许是我记岔了。人上了岁数,记性不济。"),
("z_react_2", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "钥匙的事……他、他有时候,也贴身带着的……"),
("z_react_w", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "铜器?……我那是顺口猜的。凶器的事,我怎么会知道。"),
("z_react_3", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "秤!秤的事,你们别再问了……"),
("z_react_4", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "……随你们怎么问。我要回去了。"),
("acc_zhou", "Uncle_Fu", "平板谨慎的男声,账房,字斟句酌,被追问时渐慌", "我十点就到家了!我家婆娘能作证!"),
@@ -1583,12 +1605,12 @@ KEY_LINES = {
("gd_ping2", "回波不会自己来。按空格。"),
("sys_help", "空格继续,回车重新听。上箭头听状态,下箭头开菜单。选择时,左右箭头。"),
("sys_menu", "菜单。空格切换选项,回车确认。"),
("sys_skip", "想跳过这句,按空格。"),
("sys_skip", "听过的句子再播时,按空格跳过。"),
("sys_continue_ask", "检测到你的下潜记录。空格继续上次,右箭头开始新救援。"),
("dv1_teach", "到深度了。声呐静了。按空格,发一枚脉冲。"),
("p1", "管路在响。左箭头,停下来听敲管的暗号。右箭头,先带小舟上浮。"),
],
# detective:V 组 10 对(18-detective-voice-ids.md 文末;_k 逻辑 id 落 key/ 子目录)。
# detective:V 组 14 对(18-detective-voice-ids.md 文末;_k 逻辑 id 落 key/ 子目录;R2 +4 对)。
"detective": [
("sys_help", "方向键换卷宗,空格听取,回车重新听。按住空格指证,上键状态,下键菜单。"),
("tut_d0", "先熟悉证词板。左右方向键,换卷宗。"),
@@ -1600,6 +1622,10 @@ KEY_LINES = {
("cf_pick_line", "左右方向键,一句一句听。"),
("cf_confirm", "就这句?空格,定下来。"),
("settle_hook", "同一场雨里,还有别的案子。按空格,接新案。"),
("fin_pre", "证据在手,就此结案?空格,定下来;方向键,继续查。"),
("fin_who_confirm", "就指认这位?空格,定下来。"),
("recap_cf", "卷宗都在耳朵里了。挑一句你不信的,按住空格指证。"),
("gd_board_cf", "都听过了。按住空格,去指证。"),
],
# hunt:V 组 11 对(23-hunt-voice-ids.md 文末;措辞「方向键/空格/回车」同 dungeon 规范)。
"hunt": [