Files
SoundGame/docs/design/roadmap.md
T
xsl 005851d01a feat(hunt): 《围猎》2-4人实时联机纯音频协作守卫——纯音频MMORPG第一阶段切片
- 设计:docs/design/23-hunt.md + voice-ids(84 id,166条)+ 13号断言登记,§15记录10+1条设计裁决
- 服务器:零依赖WebSocket(ws.js)+ 房间管理/服务端权威战斗/bot AI(hunt-room.js),断线30s宽限resume回槽、超时转bot;修复package.json模块类型误判的既有破坏
- 客户端:web/hunt/ 全套(教学T0-T4/听觉视野裁剪R1-R8/结算排行榜/guide接入),playtest 211断言
- 引擎:audio.js 后向兼容 opts.pan(StereoPannerNode),web-engine-api.md 同步
- 资产:166条TTS语音(QC无离群)+ 13件合成sfx(真峰值≤-3dBFS)+ 2首Mureka BGM,终检全绿
- 平衡:bot调参至挂机局71%失守/C、3bot局71% A/B(hunt-balance-scan.mjs 24种子扫描)
- 接线:大厅卡片、profiles.js hunt桶、README/roadmap MMO路线条目

验证:hunt-sim 16/16 + api-smoke 12/12 + hunt playtest 211/211 + 既有10游戏与引擎回归零回退 + 真服务器WS端到端冒烟通过
2026-09-13 11:08:01 +08:00

127 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SoundGame 后续路线图(策划,最终轮)
范围:R5(RPG 收尾)之后的事。分五块:RPG 内容扩展、storyline 打磨、真机听测、商业化前置、纯音频 MMORPG 路线。
设计基准文档索引见 [README.md](README.md);审查结论见 round1/round2/round3-4-review。
---
## 1. RPG《剑与声》第二/三章扩展计划
第一章模式已定型(场景图 JSON + 战斗状态机 + 台词表三件套),二三章是**内容灌入**而非新开发。
### 1.1 第二章《腐沼泽》(7 节点)
| 项 | 内容 |
|---|---|
| 场景 | 沼口村(商店:青钢剑 300/铁鳞甲 250)→ 腐叶径 → 浅滩(岔路:鳄巢宝箱)→ 瘴气林 → 蛊师祭坛(NPC 支线)→ 祭主殿门 → Boss 腐沼祭主 |
| 新机制 | 毒状态(中毒后每回合 -3 HP,金疮药可解;中毒播报走整句分档);蛊师敌方先攻(B_START → ENEMY_TELEGRAPH,状态机已支持) |
| 敌人 | 沼泽鳄(HP30 ATK11 DEF2)、蛊师(HP22 ATK12 DEF1,先攻)+ 一章怪复用降档 |
| Boss | 腐沼祭主 HP70 ATK14 DEF3;半血二阶段召唤 2 毒蛛(连战队列插入,机制已有) |
| 解锁 | 一章 Boss 胜后 `chapters.2 = open`;章首旁白承接 `evt_ch1_end` 字条 |
### 1.2 第三章《无瞳峰》(7 节点)
| 项 | 内容 |
|---|---|
| 场景 | 山道驿站(商店:听风剑 600,格挡窗口 1.0→1.3s)→ 风啸崖 → 断桥(岔路)→ 剑冢(机关战斗)→ 影廊(影卫首战,无声前摇教学)→ 峰顶 → Boss 白无瞳 |
| 新机制 | 无声前摇(震动协议见 05-rpg-addendum §2,影卫铺垫 → 白无瞳三阶段完全无声);iOS 兜底=防御指令 |
| 敌人 | 剑傀(HP38 ATK14 DEF3)、影卫(HP30 ATK16 DEF2,无声) |
| Boss | 白无瞳 HP110 ATK18 DEF5,三阶段(≤50% / ≤25% 转换,三阶段进场播 `npc_boss3_warn`) |
| 完结 | 终章结算用专属完结句(不复用"前往下一章",round5-notes §3 教训) |
### 1.3 排期与资产
- 台词表:ch2/ch3 各一份(沿用 05-rpg-ch1-voice-ids.md 格式,每章约 60-80 句;最小集见 05-rpg-addendum §5)。策划补发 → 音频总监录制(各 1 轮)。
- BGM:复用现有 4 首 + 每章新增场景 amb(`amb_swamp*`、`amb_peak*`,05-rpg-chapter1 §7.2 已含)。
- 建议节奏:内容扩展 A 轮(ch2 台词+灌入)→ B 轮(ch3 台词+灌入+终章完结句)→ 与真机听测并行。
## 2. storyline《声命线》打磨项(一直没重构,逐项跟进)
| # | 事项 | 现状 | 动作 |
|---|---|---|---|
| 1 | 菜单约定统一 | 现版 down=菜单(左滑重开/右滑单击返回/上滑帮助),是裁决②之前的私有约定 | 统一到 00 §5.2:下滑呼出 → 单击循环 → 双击确认 → 上滑帮助;菜单句 `voice/menu` 需按新口径重录(×2 性别) |
| 2 | knowTrap 死标记修复 | `game.js:229` 只写不读:n09 右滑获得"北区陷阱情报"后无任何分支消费它 | 先读 `docs/games/storyline.md` 剧情树定接入点:在北区相关节点读取 knowTrap,解锁"绕开陷阱"分支或改变死亡结局判定;预计需补录 1-2 句分支台词(角色音:林晚 Serena / 旁白双性别)。若剧情树无合适节点,降级方案=删除该标记与台词里的伏笔句 |
| 3 | 角色音色在双性别目录的处理 | R1 裁定:旁白双性别(male=Uncle_Fu/female=Vivian),角色台词单音色平铺靠引擎回退(round1-report §3),资产侧未复制 | 终案确认:**维持平铺回退**(引擎已支持,零成本);把"平铺回退是正式机制"写进 web-engine-api 的目录约定(开发顺手改)。试听确认点:female 旁白(Vivian)与小满/林晨/广播(同 Vivian 不同 instruct)的区分度 |
| 4 | 提示音替换排查 | `sfx/ui_confirm`、`sfx/ui_menu` 仍在选择确认/菜单处使用 | 按反馈⑦替换:选择确认删 ui_confirm(引擎内置震动已覆盖),菜单打开删 ui_menu;剧情氛围 sfx(water/whistle/wind 等内容音)保留 |
| 5 | 进度 summary | storyline 无存档(单局 5-7 分钟,一次性剧情) | 轻量方案:记录"已达成结局 X/4",summary="已见 2/4 结局";结局解锁存 localStorage+服务器,大厅卡片有内容可显示 |
| 6 | 双性别 QC | 36 id ×2 已生成 | 抽听 female 版旁白与角色音的衔接(旁白切角色时音色跳跃是否出戏) |
## 3. 各游戏存量打磨小项(来自各轮审查遗留)
- rhythm:结算右滑末位修正 + 补录 `no_more_song`;震动 200ms 去抖(round3-4-review §3 裁定①④)。
- escape:PLAY 中双击兜底链末尾加"再双击一次回大厅"二级入口(补录 `menu_hint` ×2 性别,round2-review §5.1)。
- simon:`voice/wrong` 冗余资产清理或启用(round2-review §5.2)。
- 大厅:设置变更试听句(00 §1.2,一直未做)。
- 全合集:平铺旧 voice 文件清理(storyline/rhythm/space 的残留,音频侧执行)。
## 4. 真机听测 checklist(用户拿手机逐项打钩)
通用前置:安卓 Chrome + iOS Safari 各过一遍;戴有线耳机测一轮、蓝牙耳机测一轮(延迟差异);iOS 项注意"无震动"是预期行为。
**全游戏通用(2026-09 新增,来自真机人耳反馈)**:
- [ ] **句尾完整性**:随机抽 10 句长短不一的对白听到自然收尾,末字/语气词(了/吧/呀)不缺失、不被下一句或音效咬尾(引擎已固化排空机制 + `web/harness/engine-voice.test.mjs` 回归;本项验真机实际听感与打断时序)
### 声命线 storyline
- [ ] 旁白切角色音时不出戏(重点:female 旁白 vs 小满/广播的 Vivian 家族)
- [ ] 8 个抉择点左/右滑方向与选项播报一致
- [ ] 4 结局至少打通 2 条,结局后单击重开正常
- [ ] (打磨后)菜单单击循环/双击确认,无误触发重开
### 暗室 escape
- [ ] 引导 G0-G7 全流程不卡(含故意做错 3 次触发直白重述)
- [ ] 9 个房间听环境音能区分储物间/铁柜/电箱/大门(闭眼走一遍)
- [ ] 卡关提示计时手感:60s/120s/180s 出现时机不烦人(真机挂一次 3 分钟)
- [ ] 单击重听环境音:amb 与描述语音的 800ms 间隔自然
- [ ] 用时 4 段播报与实际耗时匹配
### 音序回响 simon
- [ ] 无 BGM 的静默不尴尬(开场 0.5s + 轮次间隙)
- [ ] 播放序列的 beat 轻震与音色对齐(安卓机能感到节拍锚点)
- [ ] 双击主动重听:期望输入是 doubletap 时按答题处理(裁定①场景实测)
- [ ] 第 10 轮后的速度(420ms 下限)可跟
- [ ] 成绩分档句与实际轮数匹配
### 节拍行者 rhythm
- [ ] Perfect ±120ms 窗口:有线耳机能稳定 Perfect,蓝牙耳机 Good 为主(不挫败)
- [ ] tap 补偿:底鼓音(1/3 拍)判定不冤
- [ ] 下滑菜单折中:演奏中误开菜单 / 想开开不了 各试 5 次
- [ ] 菜单暂停后 BGM 断点续播节拍不漂
- [ ] 三首 BGM 与乐器音调性协和、响度平衡(乐器音不被 BGM 淹没)
### 盲航 space
- [ ] 同向闪避直觉性:不测老玩家,找一个没玩过的人 30 秒内能否理解
- [ ] 演练 D1-D4 每步"语音先、whoosh 后"不叠放
- [ ] 保护期 60s 内被撞不掉血且归因句听清
- [ ] 满级段(存活 90s+)密度:过密则把 spawn 下限 1.2→1.35(round3-4 裁定③旋钮)
- [ ] 警报两档渐强 + danger 震动的时间感(撞击前 1s/0.5s)
### 剑与声 rpg(R5 完成后)
- [ ] 格挡窗口:8 种敌人前摇音都能听出并双击成功(重点:头目重甲 vs 野狼低吼的区分)
- [ ] 无声敌人(若 ch3 已做):danger+heartbeat 震动节奏可格挡;iOS 上确认防御指令兜底
- [ ] 战斗 BGM 与场景 amb 切换不突兀;bgm=0 设置下 amb 照播
- [ ] 商店购买/缺钱/已购播报语境正确
- [ ] 存档继续:杀进程重进,summary 与落点正确
## 5. 商业化前要做的事
1. **Stable Audio 3 许可确认**:核对当前账号/模型的商用授权条款(训练数据与生成物的商用权利、署名要求);所有 SA3 生成 sfx 的资产清单(id → 生成日期 → prompt)落盘存档(`docs/audio/asset-manifest.md` 扩展)。
2. **Mureka 曲目版权落盘**:确认 API 生成音乐的商用授权范围与归属条款;把 `tools/mureka_log.md` 整理为正式曲目登记表(曲目 → 生成时间 → 授权凭证/订单号);离线保存原始生成文件与凭证截图。
3. **Qwen3-TTS 许可**:核对模型协议(Apache 2.0 系/通义许可)对生成语音商用的要求;在 About/致谢页列模型名。
4. **字体许可**:封面生成用 NotoSansSC(OFL),保留 OFL 许可证副本,允许商用但需随附声明。
5. **隐私政策**:用户系统当前是局域网玩具级(PIN 明文、token 不过期——web/server/README 已自声明)。公网化前必须:PIN 加盐哈希、token 过期机制、HTTPS、最小化收集声明、账号删除入口;写隐私政策页(收集:用户名+游戏进度;不收集:设备信息/位置)。
6. **付费墙设计预留**(如需):进度 API 加 `entitlements` 字段的位置先留好;不要在现有 data 自由格式里埋付费标记。
7. **合规扫尾**:无年龄分级素材问题(武侠战斗无血腥音效——atk_hit prompt 已注明 not gory,保持);商店/内购若上 iOS 需走 IAP 不能用网页支付(届时再议)。
## 6. 纯音频 MMORPG 路线(第一阶段切片已落地)
- **第一阶段(已落地)**:《围猎》hunt([23-hunt.md](23-hunt.md))——2-4 人实时联机协作守卫,
验证三个切片命题:零依赖 WS 实时同步 + 服务端权威战斗、音频信道拥挤控制 R1-R8、
pan 空间音频协作(呼喊-补位闭环)。
- **后续步骤**(切片纪律外事项,先列 research/ 方向调研,不在本 roadmap 排期):
持久世界与跨房聊天、跨玩家排行榜、房码音频录入 UX(协议 join.room 已留,客户端 v1 只做快速匹配)、
更大规模同图协作的拥挤模型扩展。真机听测时按 23-hunt §8.4 口径补一轮"三源分辨"听测项。
## 7. 建议顺序
1. R5 收尾(RPG 第一章上线)→ 2. §3 存量打磨小项(半天级)→ 3. 真机听测 §4(用户执行,反馈回来后定参数旋钮)→ 4. storyline §2(与听测并行)→ 5. RPG ch2/ch3 §1 → 6. 商业化 §5(决定公网化时再启动)。