Files
xsl ee5d4d2544 feat(playbook): 26 号交互手册全量落地——剩余 12 款深度重构 + 语音全量重制
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 置完成。
2026-10-02 12:33:20 +08:00
..

守塔人(KEEPER · The Keeper)

风暴夜叙事 RPG。孤岛白角灯塔,电台里一声比一声近的求救,牵出你家三代守塔人的 秘密——守灯,还是救人;说出真相,还是守住秘密。 单夜 21-24 分钟,9 个抉择点、 4 结局。设计全文见 docs/design/21-keeper.md(台词表 21-keeper-voice-ids.md)。

声命线范式(radio/abyss 同骨架):节点链叙事 + 左右滑抉择 + 多结局。本作核心 差异层 = 时空双线:两个时空只靠音色与底噪区分——风暴与雾角=现在,唱针落下 与老唱片底噪=回忆。「回忆会开口说话」:每段插叙都是给现在抉择供货的信息。

玩法

  • 一个完整风暴夜 = 三幕(风暴起 / 风暴顶 / 风歇前),幕间雾角报平安。
  • 信任(阿澈信你有几分,四个信任点累计)与真相(三代秘密翻开几层,三段 插叙)双标量跨幕积累;结局 = 信任档 × 心结抉择(说出/守住),灯与阿澈各有三态 差分(尾声回响逐项点名)。
  • 回忆插叙 = 唱针落下 → 父辈/祖辈片段(≤6 句 auto)→ 风声回来。进入插叙的钥匙 藏在抉择里:翻暗格(层1)、口诀或真话(层2,双钥匙补偿)、读完缺页(层3,前置 层2)。随时上滑听「这是回忆:祖父的年代,四十年前」确认时位。
  • 零死亡零倒计时:阿澈恒活着;软失败(灯灭过一刻钟/他自己冲滩)全是叙事差分, 每句归因都指向你的实际选择。

手势(6+2 全覆盖零豁免)

手势 叙事态(INTRO/WATCH/MEMORY/CALM/ENDING)
单击 播放中=跳过本句(抉择提示/插叙锚句首播/交接尾句不可跳);链末=继续;结算后=再来一夜
双击 重听当前节点(含抉择提示);回忆中=重听当前回忆节点;结算后=重听结局链
左/右滑 抉择(左=走心·翻开/说出,右=克制·程序/守秘);其余时刻无效 → error 震+语音
上滑 状态链:时位句(现在是哪幕/是不是回忆)→ 信任档 → 真相度 → 帮助,随后重播当前段
下滑 模态菜单(单击循环选项 / 双击确认 / 上滑帮助 / 下滑关闭)
长按 旁白快进(引擎接管,叙事类不豁免)

存档断点续玩:进游戏听到「单击继续上次,右滑开始新的风暴夜」;在回忆里退出, 回来先听时位句「这是回忆:父亲的最后一晚,十二年前」,从当前回忆句继续。

运行

bash web/serve.sh        # Node 零依赖服务器(静态 + REST)
# 浏览器打开 http://<局域网地址>:8000/keeper/

资产再生成

  • 台词:source env.d/tts.sh && flock .gpu.lock .venv-tts/bin/python tools/gen_voice_dual.py --game keeper(→ --check → --convert)。
  • 音效:.venv-tts/bin/python tools/gen_keeper_syn.py(17 件程序合成,one-shot 真峰值 ≤-3dBFS + 去直流 + 8ms cos²;loop 边界静音口袋)。
  • BGM:bash web/keeper/gen/gen_bgm.sh(Mureka flac → 90s 无缝循环)。
  • 封面:.venv-tts/bin/python web/keeper/gen/gen_cover.py。