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

8.2 KiB
Raw Permalink Blame History

SoundGame — 纯音频手机游戏

11 款纯音频游戏(HTML5,另 3 款有停迭代的旧 Android 版):屏幕只有一张封面图,全部操作只有 6 种手势 (上滑 / 下滑 / 左滑 / 右滑 / 单击 / 双击),所有内容靠音频呈现。 对白由本地 Qwen3-TTS 生成(男声/女声双套资产),音效用 Stable Audio 3 + 程序合成, BGM 用 Mureka API 生成 + 程序合成。

HTML5 版(推荐,浏览器即玩)

无需安装 App,手机浏览器打开即玩(Android Chrome / iOS Safari / 鸿蒙 ArkWeb 均支持, 音频提供 ogg + m4a 双格式)。

线上:https://game.xiangsilian.com/(Nginx 静态托管,无用户 API;部署见 docs/deploy.md)。

./web/serve.sh        # 启动 Node 服务器(静态 + 用户系统 API,默认端口 8000)

打开后进入游戏大厅。大厅提供:

  • 用户系统:用户名 + PIN 注册/登录,游戏进度保存在服务器(web/server/)
  • 全局设置:旁白音色(男声/女声)、语速(正常/快/特快)、背景音乐(正常/小/关闭)
  • 所有游戏用震动反馈交互(确认/错误/成功/警告各有震型;iOS 不支持震动,静默降级)

11 款游戏:

  • 《暗码》 web/cipher/ — 1940 密战叙事 RPG(new8 批次 3):双重间谍报务员, 摩尔斯电文解码嵌叙事,身份暴露度=隐藏资源,4 结局
  • 《深夜茶馆》 web/teahouse/ — 经营养成 RPG(new8 批次 3):多晚连续剧, 泡茶时机窗 + 服务抉择,攒口碑升级店铺
  • 《守塔人》 web/keeper/ — 孤岛灯塔叙事 RPG(new8 批次 4):风暴夜时间轴 + 回忆插叙(音色区分三代人声),trust×truth 档位,4 结局
  • 《星环舰长》 web/bridge/ — 舰桥指挥 RPG(new8 批次 4):四象限系统方位音管理 + 危机事件卡 + 船员忠诚 + 巡逻评级
  • 《围猎》 web/hunt/ — 2-4 人实时联机协作守卫(纯音频 MMORPG 路线第一阶段切片): 夜幕下野兽从八方逼近营地,听声辨向滑出出击、单击呼喊队友补位、按住问路, 撑过 5 波天亮就赢。联机必须用 ./web/serve.sh 启动的 Node 服务器 (WebSocket 服务端权威;公网纯静态托管只可进大厅,不能开局)
  • 《剑与声》 web/rpg/ — 纯音频回合制 RPG(新作):盲剑客题材,节点式场景探索 + 回合制战斗(前摇窗口内再单击格挡)+ 升级/装备/金币 + 服务器存档,第一章完整可玩
  • 《声命线》 web/storyline/ — 末世互动广播剧:3 幕 8 抉择 4 结局, 左右滑做抉择,单局 5-7 分钟
  • 《暗室》 web/escape/ — 密室逃脱解谜(已重设计):手把手开场引导 + 卡关分级提示(60s 暗示 / 120s 明示 / 180s 带路),3x3 房间 4 步谜题链
  • 《音序回响》 web/simon/ — 音频记忆游戏(已重设计):无 BGM 纯交互音, 交互式教学、重听机会机制、轮次整句播报
  • 《节拍行者》 web/rhythm/ — 跟随领奏节奏游戏(已重构):系统奏一小节节奏型、 玩家跟打复现,手势触发同调性打击乐器音,3 首曲目(90/105/120 BPM)解锁制 + S~C 评级
  • 《盲航》 web/space/ — 太空盲飞躲避(已重构):同向闪避(左来左滑)、 交互式演练教学、60 秒保护期、加速护盾为后期解锁的高级手势

Web 引擎文档见 docs/web-engine-api.md;服务器 API 见 web/server/README.md; 公网部署见 docs/deploy.md;设计文档在 docs/design/;资产管线文档在 docs/audio/。

三款游戏(Android 版,已停止迭代)

注意:Android 版停留在初版,所有重设计/新功能(双音色、设置、震动、用户系统) 只在 HTML5 版。鸿蒙(HarmonyOS NEXT)无法安装 APK,请用 HTML5 版。

1. 《声命线》(storyline) — 末世互动广播剧

大停电后第 30 天,前急救员林晚靠一台旧收音机寻找妹妹,对抗抢掠者"猎狗"。 3 幕、8 个抉择点、4 种结局,单局 5-7 分钟。

  • 单击:继续剧情 / 结局后重开
  • 双击:重听当前节点
  • 左/右滑:关键抉择
  • 上滑:帮助 + 当前幕进度
  • 下滑:菜单(重新开始)

2. 《声东击西》(reflex) — 听声辨位反应

敌人从四方位来袭:左右 = 立体声声像,上 = 高音琶音,下 = 低音轰击。 教学 → 12 波战斗(节奏递增、BGM 三档变速)→ 结算播报得分。

  • 四向滑动:击杀对应方位敌人
  • 单击:格挡正面攻击(警报音提示)
  • 双击:全屏技能(12 秒冷却)

3. 《暗室》(escape) — 密室逃脱解谜

3x3 黑暗房间网格探索,环境音线索(滴水/风声/机器嗡鸣)烘焙了方位感。 解谜链:钥匙 → 铁柜 → 保险丝 → 电箱 → 最终大门。

  • 四向滑动:在房间间移动(撞墙有反馈)
  • 单击:检查房间 / 拾取物品
  • 双击:使用物品(无目标时播报背包+提示)

构建

source env.d/android.sh        # JDK 17 / Android SDK / ffmpeg
./gradlew assembleStorylineDebug assembleReflexDebug assembleEscapeDebug

APK 输出在 app/build/outputs/apk/<flavor>/debug/:

游戏 APK 包名 大小
声命线 app-storyline-debug.apk com.soundgame.storyline ~19.6MB
声东击西 app-reflex-debug.apk com.soundgame.reflex ~14.2MB
暗室 app-escape-debug.apk com.soundgame.escape ~15.4MB

安装:adb install app/build/outputs/apk/storyline/debug/app-storyline-debug.apk (真机调试优先无线调试:adb pair + adb connect,详见 env.d/android.md)

文档

  • docs/setup.md — 从零环境搭建手册(WSL2 用户态安装、AI 环境、镜像速查、故障排查)
  • docs/deploy.md — 公网部署(game.xiangsilian.com,Nginx 静态,与简历站共存)
  • docs/architecture.md — 引擎架构(模块划分、音频三层时序、手势参数、已知限制)
  • docs/engine-api.md — 引擎 API(如何开发一款新游戏)
  • docs/asset-pipeline.md — 资产生产流水线(TTS / 音效 / BGM 生成与规格)
  • docs/games/storyline.md — 《声命线》设计文档(剧情树、音色分配)
  • docs/games/reflex.md — 《声东击西》设计文档(波次表、难度曲线)
  • docs/games/escape.md — 《暗室》设计文档(房间地图、谜题链)
  • env.d/ — 环境与使用说明(android / tts / sfx)

工程结构

  • app/src/main/ — 共享引擎:GestureEngine(6 手势识别)、 AudioEngine(ExoPlayer BGM/对白分层 + ducking,SoundPool 低延迟音效)、 Game/GameEngine 状态机接口、MainActivity(全屏封面 + TalkBack)
  • app/src/<flavor>/ — 各游戏:Game 实现、assets/audio/{bgm,voice,sfx}、 封面图、gen/(音频资产生成脚本,可复现)
  • docs/ — 项目文档(见上方"文档"一节)
  • env.d/ — 环境与使用说明(android / tts / sfx)
  • tools/、models/ — 本机 AI 环境(Qwen3-TTS、Stable Audio 3、ffmpeg)

音频资产再生成

source env.d/tts.sh            # HF_HOME、镜像
# 例:重新生成《声命线》全部语音(flock 串行保护 GPU)
flock .gpu.lock .venv-tts/bin/python app/src/storyline/gen/gen_voice.py

待办(需要账号操作)

  • Stable Audio 3 音效:环境已就绪(token 已配、模型已下载、CLI 冒烟通过, 见 env.d/sfx.md)。程序合成音效可按 docs/asset-pipeline.md 逐步升级替换 (同名同目录替换,游戏代码零改动)
  • Mureka 歌曲/配乐:已完成。《声命线》(dark_drone.ogg) 与《暗室》(drone.ogg) 的 BGM 已用 Mureka instrumental API 生成并无缝循环化处理后替换(生成/调用记录见 tools/mureka_log.md,脚本 tools/mureka_gen.py,原合成版备份在 tools/bgm_backup/)。《声东击西》的 3 个 BGM 保留程序合成版: 其玩法要求 100/128/152 BPM 三档脉冲随波次精确切换,AI 生成曲目 BPM 不精确会破坏玩法机制
  • 真机听测:三款游戏均只验证到构建层面,手感参数(反应窗口、 响度平衡、立体声分离度)需要实机试听调整