Files
SoundGame/docs/design/21-keeper.md
T
2026-10-01 23:26:47 +08:00

7.3 KiB
Raw Blame History

21 · 《守塔人》(keeper) — 孤岛灯塔叙事 RPG

给开发的实现要点摘要

  1. 交互权威:26 号手册。纯叙事,对齐 storyline。帮助=上滑。废除双击重听节点。
  2. 核心差异=时空双线:现在(风暴+电台)/回忆(老唱片)。切换靠内容层(sfx+底噪+BGM+锚句),不新增 earcon。
  3. 信任/真相双标量;软失败=灯灭一刻钟/他自己冲滩,零死亡零倒计时。
  4. 台词 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 唱片。

{ "phase": "WATCH", "node": "amo_d", "timeline": "now", "trust": 2, "rev1": true, "rev2": false }

summary:幕N · 信任档 · 真相K层 · 结局X/4。