HTML5 重写:6 款游戏 + 用户系统 + 全局设置 + 5 轮迭代重构

- 新增 web/ 纯音频 HTML5 平台:共享引擎(手势/WebAudio 三层/设置/震动)、
  Node 零依赖服务器(静态 + 注册登录 + 进度存档 API)
- 游戏:剑与声(RPG 新作)、声命线、暗室(重设计)、音序回响(重设计)、
  节拍行者(跟随领奏重构)、盲航(同向闪避重构);声东击西删除
- 全局功能:男声/女声双套 TTS 资产、三档语速、BGM 音量三档、
  震动反馈语言(10 种震型)、服务器进度同步
- 资产:899 ogg + 899 m4a(Qwen3-TTS 双性别语音、Stable Audio 3 音效、
  Mureka BGM 4+3 首),终检零缺失
- 文档:docs/design/ 13 篇设计审查文档、docs/audio/ 资产管线、
  web/server/README.md API 文档
This commit is contained in:
SoundGame Dev
2026-08-29 21:55:44 +08:00
parent f0f0a9b50e
commit cc0f8c008d
1885 changed files with 11246 additions and 5 deletions
+67
View File
@@ -0,0 +1,67 @@
# 剑与声(RPG · Sword & Sound)
纯音频回合制武侠 RPG。你是盲剑客沈听澜——眼盲,耳即眼。
黑风寨掳走了你唯一的徒弟,追进迷雾林,把他们连根拔起。
## 玩法
- **探索**:节点式场景图(雾口村 → 林间小路 → 岔路口 → 溪流 → 猎人小屋 →
密林深处 → 黑风寨 → 聚义厅)。每个场景有环境音循环与语音描述,
在选项间切换、确认行动:前进 / 调查 / 商店 / 休息 / 对话 / 强攻或绕行。
- **战斗**:明雷回合制。选指令出手;敌方攻击前会响起 1 秒的**前摇音**
(野狼低吼、山贼拔刀、寨主双刀互击……)——在前摇内**双击格挡**,
减伤 70%。这是唯一的即时操作,绑双击规避单击延迟。
- **成长**:战斗得经验金币 → 升级(maxHp/atk 提升)→ 商店换铁剑/皮甲 →
金疮药回血。战败从章首重生,等级金币装备保留。
- **Boss**:黑风寨主半血进二阶段(攻击提升、前摇变急促)。讨伐后章结算。
## 手势
### 探索态
| 手势 | 作用 |
|---|---|
| 左 / 右滑 | 切换选项(播选项名,循环) |
| 单击 | 确认执行当前选项 |
| 双击 | 重听当前场景描述 + 当前选项 |
| 上滑 | 角色状态(等级/血量/金币/装备,分档整句) |
| 下滑 | 菜单:继续旅程 / 保存并回大厅 / 重新听帮助 |
### 战斗态
| 手势 | 作用 |
|---|---|
| 左 / 右滑 | 切换指令:攻击 → 破空斩(耗内劲 3,双倍伤害)→ 防御(本回合受伤减半)→ 金疮药(回 40% HP) |
| 单击 | 执行当前指令 |
| **双击** | **格挡**:仅敌方前摇窗口(1.0s,听风剑 1.3s)内有效,减伤 70%;窗口内其他手势震动报错 |
| 上滑 | 敌我血量档位 |
| 下滑 | 逃跑(Boss/剧情战"避无可避") |
菜单操作(RPG 豁免,与探索同构):左右滑切换 + 单击确认;上滑=帮助;下滑=关闭。
## 战斗数值
```
maxHp = 20 + 8×(lv-1) atk = 5 + 2×(lv-1) + 武器 def = 护甲
内劲 mp = 3 + lv(破空斩耗 3) 升级所需 exp = lv × 20
伤害 = max(1, round((攻-防) × 0.85~1.15))
格挡 ×0.3 / 防御 ×0.5(不叠加)
```
## 存档
- 结构:`{schema, updatedAt, summary, chapter, scene, player, flags, chapters, stats}`
(见 docs/design/05-rpg-chapter1.md §6 精确定义)。
- 保存时机:场景切换、战斗结算、商店交易、菜单"保存并回大厅"。
- 本地 localStorage(`soundgame.progress.rpg`)+ 已登录时同步服务器
(`PUT /api/progress {game:'rpg'}`),大厅卡片显示 `summary`。
- 有存档进游戏时:单击=继续旅程,右滑=开始新旅程(保留 stats 累计)。
- 战败:章首(雾口村)重生,HP/MP 回满,等级/金币/装备/flags 保留,
本章非 Boss 遭遇重置。
## 运行
```bash
python3 -m http.server 8117 --directory /home/ubuntu/SoundGame/web
# 浏览器打开 http://localhost:8117/rpg/ ,务必戴耳机
```
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More