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 置完成。
This commit is contained in:
xsl
2026-10-02 12:33:20 +08:00
parent 9e4d67aa84
commit ee5d4d2544
6992 changed files with 30127 additions and 20451 deletions
+7 -6
View File
@@ -5,7 +5,7 @@
## 0. 项目一句话
11 款纯音频 HTML5 游戏:屏幕只有封面图,操作只有 6 种手势(上/下/左/右滑、单击、双击),一切靠音频呈现。纯 vanilla JS ES module,**无构建步骤、无 npm 依赖**,手机浏览器打开即玩。全部对白由本地 Qwen3-TTS 双性别生成,音效由 Stable Audio 3 + 程序合成,BGM 由 Mureka API 生成。游戏阵容:6 款首发(rpg/storyline/escape/simon/rhythm/space)+《围猎》联机协作(纯音频 MMORPG 路线第一阶段切片)+ new8 四批 8 款 RPG(radio/dungeon/abyss/detective/cipher/teahouse/keeper/bridge,全部经多轮玩家代理迭代裁定可交付)。**交互层由「向导层」统一承载**(状态签名 earcon/回合标记/静默看门狗/纠错,`web/engine/guide.js`),其设计依据与验证过程见 `research/`(交互研究项目,结论=方法论+4 轮玩家代理闭环)。
11 款纯音频 HTML5 游戏:屏幕只有封面图,操作只有 6 种手势(上/下/左/右滑、单击、双击),一切靠音频呈现。纯 vanilla JS ES module,**无构建步骤、无 npm 依赖**,手机浏览器打开即玩。全部对白由本地 Qwen3-TTS 双性别生成,音效由 Stable Audio 3 + 程序合成,BGM 由 Mureka API 生成。游戏阵容:6 款首发(rpg/storyline/escape/simon/rhythm/space)+《围猎》联机协作(纯音频 MMORPG 路线第一阶段切片)+ new8 四批 8 款 RPG(radio/dungeon/abyss/detective/cipher/teahouse/keeper/bridge,全部经多轮玩家代理迭代裁定可交付)。**交互层按 26 号交互手册由引擎六模块统一承载**(发言权/回执/三档提示/迷茫接管/手势阶梯/输入管道,`web/engine/{floor,receipts,hints,confusion,novice,pipeline}.js`;2026-10 全部 15 款完成深度落地,施工单见 `docs/design/26-apply-*.md`)。旧「向导层」guide.js 仍服务未迁移场景,其设计依据与验证过程见 `research/`。
## 1. 5 分钟上手
@@ -116,11 +116,12 @@ models/hf/ # HF 模型缓存(13GB,不入库)
.venv-tts/ # TTS venv;tools/stable-audio-3/.venv/ 是 SA3 venv
```
一次手势的完整调用链(以"双击格挡"为例):
一次手势的完整调用链(以"滑动移动"为例):
```
触摸 → gesture.js(双击识别,内置 confirm 震动)
→ game.onGesture('doubletap')(游戏逻辑:查格挡窗口)
触摸 → gesture.js(滑动识别,内置 swipe 震动)
→ pipeline.js 输入管道(26 号:新手门→迷茫信号→防连点→发言权→等待点限制)
→ game.onGesture('left')(游戏逻辑:查移动)
→ audio.play('sfx/parry')(sfx 层即发即弃)+ vibrate()(语义震动)
→ 状态推进(计时器 / voice onComplete 链 / setState)
```
@@ -173,7 +174,7 @@ web/<game>/audio/
- **为什么无构建纯 vanilla JS**:游戏逻辑全部是"手势→音频状态机",无 UI 框架需求;无构建 = 任何静态服务器可托管、任何同事改完刷新即验、无依赖腐烂风险。
- **为什么 ogg + m4a 双格式**:iOS Safari 对 Ogg Vorbis 解码支持差,引擎按 `.ogg → .m4a → .mp3 → .wav` 顺序回退;Android/Chrome 用 ogg(体积/音质比好),iOS 自动落到 m4a(AAC)。
- **为什么单击有 ~300ms 延迟**:引擎要等 300ms 双击窗口关闭才能确定单击。这是刻意设计——**即时反馈(格挡、节奏击打)一律绑滑动或双击**,单击只用于非即时操作(确认/检查/菜单)。所有游戏的手势设计都绕开了它。
- **为什么单击有 ~300ms 延迟**:引擎要等 300ms 双击窗口关闭才能确定单击。**26 号落地后,叙事/探索类游戏一律 `doubleTapWindow: 0`(单击零延迟、无双击)**;双击是核心玩法的游戏(space 护盾、hunt 旋风斩)在手势阶梯阶段 ≥3 后才恢复双击窗口(`pipeline` 的 `doubletapCore`),此时单击延迟是该玩法的既定代价。
- **为什么引擎管手势震动、游戏管语义震动**:gesture.js 对"识别成功"内置 swipe/confirm 震动;游戏层只在语义事件(error/success/warning/pickup/hit/beat/danger)调 `vibrate()`。分层防止双重震动,也让 6 款游戏的触觉语言一致(设计规范:[docs/design/00-global-ux.md](docs/design/00-global-ux.md) §2)。
- **为什么 voice 双性别目录而不是运行时变调**:变速变调会毁音色;每句台词用两个 speaker(male=Uncle_Fu / female=见 §3.1 分配表)各生成一遍。角色/NPC 音固定不随设置(只有旁白/系统音跟随)。
@@ -235,7 +236,7 @@ source env.d/mureka.sh
## 4. 六款游戏逐个简介
手势全局约定:上滑=帮助/状态、下滑=菜单、单击=确认/继续、双击=重听、左右滑=选择/移动;以滑动为玩法核心的游戏有豁免(00 文档 §5)。
手势全局约定(26 号宪法):单击=继续/确定、左右滑=选择/移动、上滑=我在哪(阶段 1 解锁)、下滑=菜单(阶段 2)、双击=重听(阶段 3;未解锁按单击处理);四向滑动是玩法的游戏帮助换到长按(00 文档 §5 / 26 号 §4.3)。
| 游戏 | 玩法一句话 | 手势要点 | 目录 | 设计文档 | 试玩测试覆盖 |
|---|---|---|---|---|---|