154 lines
7.3 KiB
Markdown
154 lines
7.3 KiB
Markdown
# 21 · 《守塔人》(keeper) — 孤岛灯塔叙事 RPG
|
||
|
||
> **给开发的实现要点摘要**
|
||
> 1. 交互权威:26 号手册。纯叙事,对齐 storyline。帮助=上滑。废除双击重听节点。
|
||
> 2. 核心差异=时空双线:现在(风暴+电台)/回忆(老唱片)。切换靠内容层(sfx+底噪+BGM+锚句),**不新增 earcon**。
|
||
> 3. 信任/真相双标量;软失败=灯灭一刻钟/他自己冲滩,零死亡零倒计时。
|
||
> 4. 台词 [21-keeper-voice-ids.md](21-keeper-voice-ids.md)(148 句:双性别 121 + NPC 27)。结算/插叙入口 800ms 死窗。
|
||
> 5. 章程 N4:15–25 分钟、9 抉择(实选 8–9)、4 结局。
|
||
|
||
---
|
||
|
||
## 附录 C · 设计单
|
||
|
||
### 1. 一句话核心动作
|
||
|
||
**听一夜值守,单击继续;听到选项时左右滑:守灯还是救人、说出还是守住。**
|
||
|
||
### 2. 玩家能感知的状态(3 个)
|
||
|
||
| 状态 | 听感 | Floor |
|
||
|---|---|---|
|
||
| 现在·听讲 | 风暴底噪 + 电台人声,BGM storm 压低 | SPEAKING |
|
||
| 回忆·听讲 | 唱针+vinyl 底噪 + 唱片滤波人声,BGM memory | SPEAKING |
|
||
| 轮到你 | turn + 等待声(回忆链 auto 不交等待) | YOUR_TURN |
|
||
|
||
两种「听讲」必须 2s 内靠底噪可辨(vinyl vs 风)。上滑时位句确认。不把它们拆成第四态。
|
||
|
||
### 3. 新手手势与解锁
|
||
|
||
| 手势 | 含义 | 解锁 |
|
||
|---|---|---|
|
||
| 单击 | 继续 / 跳过当前句 | 阶段 0 |
|
||
| 左/右滑 | 抉择 | 阶段 0 |
|
||
| 上滑 | 我在哪(时位句先行:幕或「这是回忆」→ 信任档 → 一个动作) | 阶段 1(第一次抉择后) |
|
||
| 下滑 | 菜单 | 阶段 2(第一结局) |
|
||
| 双击 | 按单击。阶段 3=重听当前等待点/当前回忆节点 | 阶段 3 |
|
||
| 长按 | 新手 invalid;之后加速 | — |
|
||
|
||
### 4. 状态 × 手势矩阵(新手期)
|
||
|
||
| 状态 \ 手势 | 单击 | 左/右滑 | 上滑 | 下滑(未解锁) | 双击 | 连点 |
|
||
|---|---|---|---|---|---|---|
|
||
| 现在在说 | 跳句(p*/锚句首播不可跳 → busy) | 缓存抉择,不盲选 | 时位+信任+动作 | invalid | 按单击 | 400ms busy |
|
||
| 回忆在说 | 跳中段句;锚入/锚出首播 busy | invalid(插叙无选择) | 「这是回忆。听完就回到现在。」 | invalid | 按单击 | busy |
|
||
| 等你继续 | 继续 | invalid | 我在哪 | invalid | 按单击 | busy |
|
||
| 等你选择 | 再听选项 | 抉择 | 「左右滑。」 | invalid | 按单击 | 迷茫 |
|
||
| 结算 | 新风暴夜 | invalid | 结局+信任一句 | 菜单(阶段2) | 按单击 | 第一下 |
|
||
| 菜单 | 确认 | 切项 | 重听说明 | 关闭 | 按单击 | busy |
|
||
|
||
MEMORY 关菜单后重播当前回忆节点,底噪仍 vinyl。
|
||
|
||
### 5. 等待点
|
||
|
||
| id | 期待 | full | short | 静默 | L2 | L3 |
|
||
|---|---|---|---|---|---|---|
|
||
| intro | tap | 「点一下屏幕。」 | 「点一下。」 | 6s/15s | tap | 替点 |
|
||
| continue | tap | 「单击,继续。」 | 「单击。」 | 13s/30s | tap | 替继续 |
|
||
| choice | L/R | pN | 「左右滑,选。」 | 25s/50s | L/R | 「左右都可以。现在你来。」 |
|
||
| settle | tap | 「单击,重新开始。」 | 「单击。」 | 20s/45s | tap | 提示音 |
|
||
|
||
插叙 auto,无等待点。p6 在 rev2=false 时封锁左路(m6_seal 后自动右,不摆假选项)。
|
||
|
||
### 6. 首 3 分钟
|
||
|
||
| 时间 | 播 | 期待 | 没做 | 做错 |
|
||
|---|---|---|---|---|
|
||
| 0~3s | 风暴+雾角 →「点一下屏幕。」 | 单击 | 「点一下。」 | 滑 invalid |
|
||
| 3~8s | 极短目标 → 电台静电 → 阿澈求救 | 单击继续 | 三档 | inv_nosel |
|
||
| 8~10s | 接住他的声音(第一次成功) | 听 | | |
|
||
| 10~40s | p1 接住人 / 要船位 | 左右滑 | 复述 p1 | 不盲选;右路即时纠偏不扣分 |
|
||
| ≈45s | 解锁上滑 | 上滑 | 「向上滑。」 | |
|
||
| 45~90s | p2 翻暗格/守灯;左则插叙1(唱针教学) | 滑 | 三档 | |
|
||
| 90~180s | CALM 雾角+幕句 → C2 | 继续/滑 | 接管 | 归因真话 |
|
||
|
||
### 7. 失败表
|
||
|
||
| 类型 | 判定 | 归因 | 回到 | 新手期 |
|
||
|---|---|---|---|---|
|
||
| 非抉择滑动 | | 「现在不用选。」 | 原地 | 无 |
|
||
| 灯灭一刻钟 | p7 左且 ¬rev2 | c3_dark 指向「没听完父亲那晚」 | 签收 | 零死亡 |
|
||
| 他半路改主意 | p7 右且 trust<3 | c9_found 克制措辞 | 签收 | 仍活着 |
|
||
| 假选项 | rev2=false 时试图 p6 左 | 不出现左项 | — | — |
|
||
| 迷茫 | | L1–L3 | 原地 | 无 |
|
||
|
||
### 8. 台词类别
|
||
|
||
- `critical`:开场点一下;rev_teach(唱针=回忆,≤3s)
|
||
- `content`:b_*、c*、amo_*、rev_* 锚句、p*、e*、ep_*
|
||
- `hint`:prog_m1..3、prog_mem_g/f、tr_*、truth 逐值句
|
||
- `feedback`:inv_*、c1_aske 纠偏、c3_dark
|
||
- 停用:双击重听回忆的口令(阶段 3 才启用 sys_unlock_replay)
|
||
|
||
148 句;音频 121×2+27=269 ×2 格式。`_k` 8 对。
|
||
|
||
### 9. 断点复述
|
||
|
||
存档带 `timeline`(now / mem_g / mem_f)。回来:若在回忆则先播 prog_mem_* 再重播该节点。上滑永远时位句开头。≤5s 可玩。
|
||
|
||
### 10. 测试记录
|
||
|
||
改:双击不重听节点;菜单左右+确认;3s 动手;10s 内听到阿澈。vinyl 与 storm 底噪零重叠仍失败即不通过。foghorn 四处兑现保留。
|
||
|
||
---
|
||
|
||
## 1. 概述
|
||
|
||
风暴夜孤岛灯塔。电台里一声比一声近的求救,牵出三代守塔人的秘密。声音即世界:电台=另一条命,风暴=处境,老唱片=过去。
|
||
|
||
## 2. 状态机与树
|
||
|
||
INTRO → WATCH(C1) → CALM(1) → C2 → CALM(2) → C3 → ◆p9 → ENDING。p2左/p3左|p4左/p6左 触发 MEMORY auto ≤6 句 ≤90s 后回 WATCH。
|
||
|
||
C1:p1 接住(+trust)/要船位;p2 翻暗格(插叙1)/守灯。
|
||
C2:p3 口诀(插叙2)/岸台;p4 真话(可兜底插叙2)/带过;危机拍 hull_crack → p5 堵漏(+trust)/救生衣。
|
||
C3:p6 读完(插叙3,需 rev2)/合上;p7 离塔救人/守灯引渡;p8 双形态活路;p9 说出/守住。
|
||
|
||
| 结局 | trust | p9 |
|
||
|---|---|---|
|
||
| e1 灯与归人 | ≥3 | 左 |
|
||
| e2 守夜人 | ≥3 | 右 |
|
||
| e3 半明半暗 | <3 | 左 |
|
||
| e4 各自的塔 | <3 | 右 |
|
||
|
||
信任档:3–4 深 / 1–2 半 / 0 薄,句义逐值为真。truth=插叙完成数 0–3 各一句。灯三态=p7×rev2。阿澈三态=p7×trust(零死亡:最坏天亮被找到)。
|
||
|
||
秘密三层:暗格 → 父亲发条 → 祖父忏悔(门认上一层钥匙)。
|
||
|
||
## 3. 时空签名
|
||
|
||
| 维度 | 现在 | 回忆 |
|
||
|---|---|---|
|
||
| BGM | storm | memory |
|
||
| 底噪 | amb_storm(幕 gain 0.5/1.0/0.7)+ amb_room | **仅** amb_vinyl |
|
||
| 过渡 | memory_out | memory_in 唱针 |
|
||
| 滤波 | 阿澈电台;你不滤波 | 父/祖唱片;锚句(你)不滤波 |
|
||
|
||
时序:结果句完 → 600ms → memory_in+切曲切 amb → 锚入(不可跳)→ NPC → 锚出(不可跳)→ memory_out → 现在句。WATCH/MEMORY 同用 explore earcon。
|
||
|
||
通道:过渡音不叠语音;通话期 amb_engine 在 voice 时 −6dB;危机拍前置 2s。并发前景 ≤2。
|
||
|
||
雾角承诺:b_rain「两长一短」后,开场 / CALM×2 / ep_shore 必播。
|
||
|
||
## 4. 音频与存档
|
||
|
||
BGM 3 首(menu 用 storm 低响)。SFX:amb_storm/room/vinyl/engine、memory_in/out、radio_tune、static_burst、radio_beep、hull_crack、wave_wall、lamp_mech、hatch_open、flash_click、foghorn。
|
||
|
||
NPC:阿澈 Dylan 电台滤波、父亲 Uncle_Fu 唱片、祖父 Eric 唱片。
|
||
|
||
```json
|
||
{ "phase": "WATCH", "node": "amo_d", "timeline": "now", "trust": 2, "rev1": true, "rev2": false }
|
||
```
|
||
|
||
summary:`幕N · 信任档 · 真相K层 · 结局X/4`。
|