170 lines
8.5 KiB
Markdown
170 lines
8.5 KiB
Markdown
# 18 · 《雨夜专案》(detective / Rainy Night Case)
|
||
|
||
> **给开发者的实现要点摘要**
|
||
> 1. 交互权威:26 号手册。听证词找矛盾,**不是**四向空间玩法:帮助=上滑。废除长按=指证、双击=重听当前句。
|
||
> 2. 核心:案卷条目左右滑切换,单击听取/停止。指证改为案卷上的一项,滑到「指证」再单击进入。结案陈词仍有确认闸。
|
||
> 3. 判定=两句同轴异值,与矛盾表单源。无惩罚性失败,案子保底必结。
|
||
> 4. 台词 [18-detective-voice-ids.md](18-detective-voice-ids.md):旁白 104×2 + 键盘变体 14×2 + NPC 53 = **171 句**(上限 176)。
|
||
> 5. 单局 15–25 分钟;seed/pack 可注入;VERDICT 800ms 死窗。
|
||
|
||
---
|
||
|
||
## 附录 C · 设计单
|
||
|
||
### 1. 一句话核心动作
|
||
|
||
**左右滑换卷宗,单击听取;滑到「指证」点一下,对比两句矛盾。**
|
||
|
||
### 2. 玩家能感知的状态(3 个)
|
||
|
||
| 状态 | 听感 | Floor |
|
||
|---|---|---|
|
||
| 听讲 | 证词/旁白,BGM 整链压低 | SPEAKING |
|
||
| 翻卷宗 | 条目签名 earcon + 等待声(空闲 BOARD) | YOUR_TURN |
|
||
| 指证/结案 | choice 签名 + 选项句 | YOUR_TURN |
|
||
|
||
雨声烤进 BGM,不单开第四态。
|
||
|
||
### 3. 新手手势与解锁
|
||
|
||
| 手势 | 含义 | 解锁 |
|
||
|---|---|---|
|
||
| 单击 | 播放/停止当前条目;列表里确认;指证两段确认 | 阶段 0 |
|
||
| 左/右滑 | 换条目 / 换句 / 换结案选项 | 阶段 0 |
|
||
| 上滑 | 我在哪(已问几份。疑点几处。滑到指证或再听。) | 阶段 1(听完第一份证词后) |
|
||
| 下滑 | 菜单 | 阶段 2(结案后) |
|
||
| 双击 | 按单击(停止或再播)。阶段 3=重听当前句 | 阶段 3 |
|
||
| 长按 | 新手 invalid。播放中以后可加速 | 不绑指证 |
|
||
|
||
BOARD 播放中左右滑:打断并切条目(滑动有明确意图),不「静默忽略」。
|
||
|
||
### 4. 状态 × 手势矩阵(新手期)
|
||
|
||
| 状态 \ 手势 | 单击 | 左/右滑 | 上滑 | 下滑(未解锁) | 双击 | 连点 |
|
||
|---|---|---|---|---|---|---|
|
||
| 证词在播 | 停止 + ok | 打断,切条目 | 打断,我在哪 | invalid | 按单击=停止 | 400ms busy |
|
||
| 板上空闲 | 播放当前项;在「指证」=进 CONFRONT;在「结案」=进确认闸 | 换条目 + 签名+报名 | 我在哪 | invalid | 按单击=再播 | busy |
|
||
| 结案闸 | 进 FINISH | 滑走撤闸 | 我在哪 | invalid | 按单击 | busy |
|
||
| 指证选条目/句 | 确认进入下一阶段 | 预览下一项/句(每条目记忆上次位置) | 「正在指证。左右滑。」 | invalid | 按单击 | 迷茫 |
|
||
| 指证确认 | 定下这句 | 取消回预览 | 简状态 | invalid | 按单击 | busy |
|
||
| 结案三问 | 确认/答题(真凶两段确认,中性「就指认这位?」) | 换选项(真凶问播纯人名) | 重听问句 | invalid | 按单击 | busy |
|
||
| 裁决链 | 吞掉(死窗+链锁) | 吞 | 吞 | 吞 | 吞 | 吞 |
|
||
| 结算 | 接新案 | invalid | 评级一句 | 菜单(阶段2) | 按单击 | 第一下 |
|
||
| 菜单 | 确认 | 左右切项 | 重听说明 | 关闭 | 按单击 | busy |
|
||
|
||
### 5. 等待点
|
||
|
||
| id | 期待 | full | short | 静默 | L2 | L3 |
|
||
|---|---|---|---|---|---|---|
|
||
| intro | tap | 「点一下屏幕。」 | 「点一下。」 | 6s/15s | tap | 替点 |
|
||
| board | tap 或 L/R | 「左右滑换卷宗。单击听取。」 | 「左右滑。」 | 18s/40s | L/R | 替滑到下一份 |
|
||
| listen | tap 停或听完 | (不催听) | 「点一下,停。」 | 播放中不静默惩罚 | — | — |
|
||
| confront_item | L/R+tap | 「左右滑,选一份证词。」 | 「左右滑。」 | 15s/30s | L/R | 演示选第一份 |
|
||
| confront_line | L/R+tap | 「单击,定下这句。」 | 「单击。」 | 15s/30s | tap | 替确认 |
|
||
| finish | L/R+tap | 当前问句 | 「左右滑,选。」 | 20s/45s | L/R | 演示正确项(保底) |
|
||
| settle | tap | 「单击,接新案。」 | 「单击。」 | 20s/45s | tap | 提示音 |
|
||
|
||
无进展:疑点 0 且 90s → L1 暗示矛盾轴 → L2 缩小到可指证条目 → L3 直接给出一对可指证句(保底必结)。
|
||
|
||
### 6. 首 3 分钟
|
||
|
||
| 时间 | 播 | 期待 | 没做 | 做错 |
|
||
|---|---|---|---|---|
|
||
| 0~3s | 雨声 →「点一下屏幕。」 | 单击 | 「点一下。」 | 滑:invalid |
|
||
| 3~8s | 极短案情一句 → 签名+「老葛的证词」→「单击,听取。」 | 单击 | 「单击。」 | |
|
||
| 8~10s | 老葛真实首句(第一次成功=听到证词) | 听 | | |
|
||
| 10~25s | 听完或点停 →「向右滑,下一份。」 | 右滑 | 「向右滑。」 | 点=再听 |
|
||
| 25~50s | 再听一份 →「想知道查到哪了,向上滑。」 | 上滑 | 「向上滑。」 | |
|
||
| 50~90s | 「滑到『指证』,点一下。」 | 滑+点 | 短句 | 练习指证不计入 miss |
|
||
| 90~180s | 自由听证;练习判定一律 tut_cf_ok | 查 | 接管 | 零惩罚 |
|
||
|
||
### 7. 失败表
|
||
|
||
| 类型 | 判定 | 归因 | 回到 | 新手期 |
|
||
|---|---|---|---|---|
|
||
| 指证同句 | a.id=b.id | cf_self | 板 | 无 |
|
||
| 不同轴 | 无共享轴 | cf_diff「说的不是一件事」 | 板 | 无 |
|
||
| 同轴同值 | | cf_same「说得一致」 | 板 | 无 |
|
||
| 指认错人 | | 该证人 alibi + fin_clear + st_wrong | 板,无限再试 | 无 |
|
||
| 凶器/动机错 | | fin_wp_wrong / fin_mv_wrong | 下一问,不重答 | 记账评级 |
|
||
| 迷茫 | | 保底提示矛盾对 | 板 | 无 |
|
||
|
||
禁止「再想想」无信息归因。
|
||
|
||
### 8. 台词类别
|
||
|
||
- `critical`:开场点一下;fin_pre 结案闸
|
||
- `content`:intro、证词 NPC、现场/法医、z_break_*、rate_*
|
||
- `hint`:tut_*(改词)、hint_c*、st_asked/st_doubt、lp 改为 up 帮助句
|
||
- `feedback`:cf_hit/miss/same/diff/self、acc_*、fin_wp_wrong
|
||
- 停用:tut_replay「双击」、tut_confront「按住屏幕指证」、tut_skip 旧词。新 tut_confront:「滑到指证,点一下。」
|
||
|
||
171 句账目不变(改词重录,尽量不增条)。
|
||
|
||
### 9. 断点复述
|
||
|
||
保存 heard/doubts/pack/seed/layout。回来 sys_continue_ask + 上滑句(已问 X。疑点 n。左右滑。)VERDICT/SETTLE 链锁至 settle_hook。
|
||
|
||
### 10. 测试记录
|
||
|
||
改:长按不进指证;双击不重听句;菜单左右+单击;3s 内点屏;10s 内听到第一句证词。矩阵不变式仍失败即不通过。
|
||
|
||
---
|
||
|
||
## 1. 概述
|
||
|
||
专案组探长,雨夜命案。翻六份卷宗加指证入口,比对证词,指出矛盾,三问结案。纯音频:证词天生是「说」的信息;证人=声音演技+签名 earcon。
|
||
|
||
## 2. 状态机
|
||
|
||
`TITLE / DRILL / BOARD / CONFRONT / FINISH / VERDICT / SETTLE` + MENU。
|
||
|
||
```
|
||
BOARD ⇄ 条目链播
|
||
│ 滑到「指证」+单击 → CONFRONT → 判定回 BOARD
|
||
│ 滑到「结案陈词」+单击 → 闸 → FINISH 三问
|
||
FINISH 错人 → alibi → BOARD;全对 → VERDICT → SETTLE
|
||
```
|
||
|
||
条目:老葛 → 小顺 → 周先生 → 温太太 → 现场 → 法医 → **指证** → 结案陈词。句间 0.8s;单句资产缺失 15s 兜底续链。
|
||
|
||
CONFRONT:选条目 → 选句(记忆上次位置)→ 确认 → 第二份同样 → judge。菜单可「返回证词板」。
|
||
|
||
## 3. 矛盾与判定
|
||
|
||
pack A《雨夜·聚宝斋》:古董商沈万川后院柴房后脑钝器。矛盾四轴 lamp / key / weapon / scale:
|
||
|
||
| # | 轴 | A | B |
|
||
|---|---|---|---|
|
||
| M1 | lamp | z_2 熄灯 | wen_2 十点二十灯亮 |
|
||
| M2 | key | z_3 贴身 | w2_3 挂铜钩 |
|
||
| M3 | weapon | z_4 松木 | fo_3 铜屑 |
|
||
| M4 | scale | z_4 秤已卖 | sc_4 秤在架上 |
|
||
|
||
judge:同句 cf_self;无共享轴 cf_diff;同轴异值且在表内 hit(反应按**轴**取句,非按次数);同轴同值 cf_same。无序。hit 后 doubts+1;4/4 播 hint_fin。
|
||
|
||
pack B 同模板,真凶小顺,fork 句替换,矩阵同构。
|
||
|
||
## 4. 结案与评级
|
||
|
||
三问:真凶(两段确认)/ 凶器 / 动机。错人无限再试。
|
||
|
||
| 档 | 条件 |
|
||
|---|---|
|
||
| S | doubts=4 ∧ 凶器动机对 ∧ wrongWho=0 ∧ cfMiss≤2 ∧ hints=0 |
|
||
| A | doubts≥3 ∧ 两问对 ∧ wrongWho≤1 ∧ hints≤1 |
|
||
| B | doubts≥2 ∧ wrongWho≤2 |
|
||
| C | 其余(必结) |
|
||
|
||
SETTLE:settle_open → rate_X → st_doubt_n → st_miss 档 → settle_hook。
|
||
|
||
VERDICT:fin_right → 雨声 swell → z_break_1..3 → gavel → SETTLE。800ms 死窗+链锁。
|
||
|
||
## 5. 音频
|
||
|
||
BGM:menu / board / verdict(雨烤进曲)。SFX:签名 earcon×证人、翻页、法槌、雨 swell 等约 12。NPC 5 speaker;周先生与男旁白同 speaker、秦法医与女旁白同 speaker——靠签名+语境,相邻句无旁白插话。
|
||
|
||
## 6. 存档与 seed
|
||
|
||
mulberry32;pack 首局 0,结案后翻转。洗牌只动 filler 与选项序。summary 含疑点/评级。矩阵不变式:同轴异值对 ≡ 矛盾表。
|