整理
This commit is contained in:
@@ -0,0 +1,396 @@
|
||||
# GDD-002:心跳连线
|
||||
|
||||
> 版本:v1.0 | 日期:2026-05-12 | 状态:策划阶段
|
||||
|
||||
---
|
||||
|
||||
## 1. 游戏概述
|
||||
|
||||
### 1.1 核心信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 游戏名称 | 心跳连线(Heartline) |
|
||||
| 类型 | 全音频恋爱模拟 / 互动叙事 |
|
||||
| 平台 | iOS / Android |
|
||||
| 技术栈 | Unity + FMOD |
|
||||
| 目标受众 | 恋爱模拟玩家、声控、ASMR 爱好者、视障玩家 |
|
||||
| 游戏时长 | 单线 2-3 小时,全结局 15-20 小时 |
|
||||
| 定价模式 | 免费下载含 1 条线路,其余内购解锁($4.99/线,$11.99 全解锁) |
|
||||
|
||||
### 1.2 Elevator Pitch
|
||||
|
||||
> 在一次事故后,你的世界陷入黑暗。唯一的光亮,是电话那头传来的声音。《心跳连线》是一款完全通过打电话进行的恋爱模拟游戏——没有画面,只有真人配音、环境音和你的选择。
|
||||
|
||||
### 1.3 核心体验目标
|
||||
|
||||
- **亲密感**:模拟真实电话聊天的沉浸体验,让玩家产生"这个人真的在对我说话"的感觉
|
||||
- **情感投射**:没有视觉形象,每个玩家可以完全根据自己的想象构建角色形象
|
||||
- **选择的沉重感**:关键抉择节点通过"沉默时刻"设计,让玩家真正感受到语言的分量
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心玩法
|
||||
|
||||
### 2.1 游戏循环
|
||||
|
||||
```
|
||||
接听来电 → 对话推进 → 选项分支 → NPC 反应 → 关系值变化 → 剧情解锁
|
||||
│ │
|
||||
└──────── 好感度 + 关键选择 → 新剧情线解锁 ←─────────────────┘
|
||||
```
|
||||
|
||||
### 2.2 核心机制
|
||||
|
||||
#### 2.2.1 来电系统
|
||||
|
||||
- **来电时机**:
|
||||
- 固定剧情电话:关键剧情节点自动触发
|
||||
- 时间触发电话:现实时间每天特定时段(如晚上 10 点)触发,可设置免打扰
|
||||
- 玩家回拨:在通话记录中选择已通话角色回拨(好感度达到一定值解锁)
|
||||
- 意外来电:随机事件触发
|
||||
- **来电提示**:
|
||||
- 铃声前 3 秒:目标手机开始轻微振动
|
||||
- 铃声响起:每个角色有独特的来电铃声
|
||||
- 振动模式:不同角色对应不同振动节奏
|
||||
|
||||
#### 2.2.2 对话选项系统
|
||||
|
||||
- **显性选项**:触觉提示的两个选项(左/右侧不同频率微振动)
|
||||
- **隐性选项**:"沉默时刻"——系统不提供明确选项,玩家需要在 6-10 秒内主动说话
|
||||
- 麦克风实时监测语音活动
|
||||
- 回答被录音并在剧情后期可能被 NPC 引用(极大增强沉浸感)
|
||||
- **延时选项**:玩家可以在对话中选择沉默(不给选项),等待 NPC 继续说——有时沉默是最好的回应
|
||||
|
||||
#### 2.2.3 好感度与关系系统
|
||||
|
||||
| 好感度等级 | 名称 | NPC 行为变化 |
|
||||
|-----------|------|-------------|
|
||||
| Lv.0 | 陌生人 | 正式礼貌,通话时间短 |
|
||||
| Lv.1 | 熟人 | 语气放松,出现个人话题 |
|
||||
| Lv.2 | 朋友 | 主动来电频率增加,分享日常 |
|
||||
| Lv.3 | 密友 | 深夜来电,分享秘密 |
|
||||
| Lv.4 | 暧昧 | 语调和呼吸变化,出现亲密话题 |
|
||||
| Lv.5 | 恋人 | 专属称呼,解锁恋人剧情线 |
|
||||
|
||||
- 好感度通过玩家选择的关键回应累计
|
||||
- 好感度不可见(没有数值显示),需要玩家从 NPC 语气中自行感知
|
||||
- 好感度有衰减机制:长期不联系(真实时间 3 天以上)会降低,但不会低于已解锁的最高等级
|
||||
|
||||
---
|
||||
|
||||
## 3. 触控交互设计
|
||||
|
||||
### 3.1 核心手势
|
||||
|
||||
| 手势 | 功能 | 触觉反馈 |
|
||||
|------|------|---------|
|
||||
| 右滑(接听方向) | 接听来电 | 确认短振 × 1 + 接通音效 |
|
||||
| 左滑(挂断方向) | 挂断/拒绝 | 断联短振 × 1 |
|
||||
| 上滑 | 调大通话音量 | 连续微振,力度递增 |
|
||||
| 下滑 | 调小通话音量 | 连续微振,力度递减 |
|
||||
| 屏幕左半侧点击 | 选择对话选项 A | 选项 A 振动频率 |
|
||||
| 屏幕右半侧点击 | 选择对话选项 B | 选项 B 振动频率 |
|
||||
| 长按(> 2 秒) | 选择"保持沉默" | 无振动(沉默的触觉表达) |
|
||||
| 双指点击 | 回拨上一个通话对象 | 双振 |
|
||||
|
||||
### 3.2 通话界面状态机
|
||||
|
||||
```
|
||||
[待机界面] ──来电──→ [来电振铃] ──右滑──→ [通话中] ──左滑/对方挂断──→ [通话结束总结]
|
||||
│ │
|
||||
└──左滑──→ [未接来电记录]
|
||||
│
|
||||
[通话记录] ←──────┘
|
||||
│
|
||||
└──点击──→ [回拨] ──接通──→ [通话中]
|
||||
└──拒接──→ [忙音]
|
||||
```
|
||||
|
||||
### 3.3 辅助触觉信号
|
||||
|
||||
| 信号 | 含义 |
|
||||
|------|------|
|
||||
| 心率式脉动(渐快) | NPC 情绪紧张/激动 |
|
||||
| 心率式脉动(渐慢) | NPC 情绪平静/悲伤 |
|
||||
| 不规则双振 | NPC 在犹豫/说谎 |
|
||||
| 长振(500ms) | 通话结束,等待玩家操作 |
|
||||
| 三连短振 | 新消息/新来电通知 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 音频设计
|
||||
|
||||
### 4.1 通话音频处理
|
||||
|
||||
- **发送端(玩家侧)**:
|
||||
- 可选择激活/关闭麦克风(关闭时使用 AI 语音模拟替代玩家声音)
|
||||
- 麦克风输入经过轻量压缩和 EQ 处理(模拟电话音频压缩感)
|
||||
- **接收端(NPC 侧)**:
|
||||
- 使用两种音频渲染模式:正常模式(录音室品质)和电话模式(8kHz 低通滤波 + 轻度失真)
|
||||
- 在特殊剧情中,电话模式会突然切换到正常模式(NPC 就在附近!)
|
||||
- **环境背景层**:
|
||||
- NPC 侧的背景音模拟其所在环境
|
||||
- 玩家侧的背景音(雨声、城市声、室内安静声)增强自我定位感
|
||||
|
||||
### 4.2 NPC 声音设计
|
||||
|
||||
#### 4.2.1 可攻略角色
|
||||
|
||||
| 角色 | 声线描述 | 性格 | 来电铃声 |
|
||||
|------|---------|------|---------|
|
||||
| 程逸(童年好友) | 温暖中低音,语速中等 | 可靠、怀旧、有些优柔寡断 | 木吉他简单旋律 |
|
||||
| 苏瑾(主治医生) | 冷静女中音,咬字清晰 | 理性、专业但内心温柔 | 钢琴重复音型 |
|
||||
| 洛宵(隔壁病友) | 带沙哑的年轻声音 | 神秘、幽默、回避亲密 | 电子氛围音 |
|
||||
|
||||
#### 4.2.2 次要角色
|
||||
|
||||
| 角色 | 关系 | 通话频率 |
|
||||
|------|------|---------|
|
||||
| 母亲 | 家人 | 每周 1-2 次 |
|
||||
| 护工张姐 | 医院 | 剧情触发 |
|
||||
| 陌生来电者 | ?? | 剧情触发 |
|
||||
|
||||
### 4.3 动态音乐系统
|
||||
|
||||
- **主菜单/待机**:柔和的钢琴 + 环境底噪(模拟夜晚窗边)
|
||||
- **来电振铃**:根据来电角色切换为各自的铃声主题
|
||||
- **通话中(轻松)**:极简背景音乐,-25dB,不干扰对话
|
||||
- **通话中(紧张)**:音乐逐渐引入,-18dB,弦乐渐强
|
||||
- **关键抉择**:音乐暂停 3 秒,只剩心跳声
|
||||
- **通话结束**:根据结果播放不同情绪收束(温暖/遗憾/期待)
|
||||
|
||||
**制作策略**:所有音乐为循环片段,时长 30-60 秒,通过 FMOD 参数控制横向过渡。
|
||||
|
||||
### 4.4 语音内容规划
|
||||
|
||||
| 内容类型 | 字数/条 | 数量 | 总计 |
|
||||
|---------|---------|------|------|
|
||||
| 主线对话(程逸线) | 800-2000 字/场景 | 15 个场景 | ~18,000 字 |
|
||||
| 主线对话(苏瑾线) | 800-2000 字/场景 | 15 个场景 | ~17,000 字 |
|
||||
| 主线对话(洛宵线) | 800-2000 字/场景 | 15 个场景 | ~17,000 字 |
|
||||
| 共通线对话 | 500-1500 字/场景 | 8 个场景 | ~8,000 字 |
|
||||
| 随机来电 | 200-500 字/次 | 30 次/角色 | ~28,000 字 |
|
||||
| 回拨对话 | 300-800 字 | 20 次/角色 | ~40,000 字 |
|
||||
| 结局独白 | 1000-2000 字 | 15 个结局 | ~18,000 字 |
|
||||
|
||||
**总计**:约 146,000 字,配音时长估计 16-18 小时(含多个变体)
|
||||
|
||||
### 4.5 录音制作规范
|
||||
|
||||
- **录音格式**:48kHz / 24bit / Mono
|
||||
- **麦克风距离**:15-20cm,心形指向
|
||||
- **录音环境**:专业声学处理录音棚
|
||||
- **表演要求**:
|
||||
- 使用"电话表演法"——声优实际对着电话说话录制
|
||||
- 录制 3 种情感强度的版本(平静/情绪波动/崩溃)
|
||||
- 呼吸声、停顿、笑声、叹息等非语言声音全部保留
|
||||
- **后期处理**:
|
||||
- 电话模式:8kHz 低通 + 轻度饱和失真 + -6dB 压缩
|
||||
- 原声模式:仅做轻微压缩,保留录音室品质
|
||||
- 根据剧情需要在两者之间过渡
|
||||
|
||||
---
|
||||
|
||||
## 5. 叙事与世界观
|
||||
|
||||
### 5.1 背景设定
|
||||
|
||||
> 主角(玩家)28 岁,独立游戏开发者。某个雨夜,在加班赶项目时突然晕倒。醒来后发现:视觉神经暂时性损伤,预计恢复时间不明。被困在医院的日子里,电话成了与外界唯一的连接。
|
||||
|
||||
### 5.2 三条主线
|
||||
|
||||
#### 程逸线——"那些年没说出口的话"
|
||||
|
||||
**关系背景**:程逸是玩家的小学同学,高中分开后一直偶然联系。得知玩家住院后,他第一个打来电话。
|
||||
|
||||
**情感主线**:两人通过电话重新回忆起童年和少年时期共同经历的一切。程逸一直隐约对玩家抱有好感,但从未说出口。玩家住院这件事让他意识到:有些话再不说,可能就没机会了。
|
||||
|
||||
**关键节点**:
|
||||
1. 第一次通话:紧张,客套,询问病情
|
||||
2. 童年回忆:他发来一段小时候两人一起唱的歌的录音
|
||||
3. 深夜来电:程逸喝醉了,声音里有从未听过的脆弱
|
||||
4. 坦白时刻:他终于说出了藏在心里十年的话
|
||||
5. 终点:玩家的回应决定了结局方向
|
||||
|
||||
**5 个结局**:
|
||||
- 完美结局「同频」:两人确认彼此的心意,程逸来医院接你出院
|
||||
- 遗憾结局「时差」:玩家没有回应,程逸说"那我先挂了",之后再未来电
|
||||
- 友情结局「老友」:玩家明确拒绝但希望保持友谊,程逸努力接受
|
||||
- 错过结局「忙音」:玩家在关键对话中选择挂断
|
||||
- 二周目结局「回声」:揭示程逸也在同一次事故中,只是他伤得更重
|
||||
|
||||
#### 苏瑾线——"白色外套下的温度"
|
||||
|
||||
**关系背景**:苏瑾是玩家的主治医生,33 岁,神经内科副主任。初见时专业而冷淡。
|
||||
|
||||
**情感主线**:从医患关系到超越职业界限的情感。苏瑾最初的每条对话都像在写病例,但随着时间推移,她开始在下班后用私人手机给玩家打电话。她有自己的创伤——一年前没能救回来的那个病人。
|
||||
|
||||
**关键节点**:
|
||||
1. 例行查房:完全专业,声音不带感情
|
||||
2. 第一次非工作时间来电:她在深夜打电话来问"今天感觉怎么样"
|
||||
3. 脆弱时刻:她在一个失败的抢救后打来,声音在颤抖
|
||||
4. 界限模糊:她开始在通话中聊自己,聊医院以外的苏瑾
|
||||
5. 职业与情感的抉择
|
||||
|
||||
**5 个结局**:
|
||||
- 完美结局「曙光」:苏瑾决定转科室,你们成为正式的恋人
|
||||
- 伦理结局「底线」:玩家拒绝跨越医患关系,苏瑾尊重并保持距离
|
||||
- 消失结局「调离」:苏瑾因无法处理情感而申请调去其他城市
|
||||
- 住院结局「延续」:玩家选择继续住院(延缓出院)以维持关系
|
||||
- 二周目结局「病例」:揭示苏瑾的姐姐曾死于相同的伤病
|
||||
|
||||
#### 洛宵线——"隔壁那扇关着的门"
|
||||
|
||||
**关系背景**:洛宵,25 岁,住在玩家隔壁病房的患者。听到玩家病房的电话响了三天后,他用手机拨通了玩家的号码。"嘿,邻居。"
|
||||
|
||||
**情感主线**:洛宵是三条线中最神秘的角色。他从不谈论自己的病情,话题总是天马行空——从外星人到量子物理到街头小吃。但越深入的对话越能感觉到他声音里的疲惫和秘密。他在逃避某些东西。
|
||||
|
||||
**关键节点**:
|
||||
1. 破冰:他用一个冷笑话开场
|
||||
2. 共犯:深夜两人偷偷溜出病房,用电话导航在医院探险
|
||||
3. 裂痕:他对自己的病仍闭口不谈,玩家是否追问成为一个关键选择
|
||||
4. 真相:洛宵的病情比想象中严重得多——他剩下的时间不多了
|
||||
5. 告别或坚守
|
||||
|
||||
**5 个结局**:
|
||||
- 完美结局「奇迹」:洛宵接受了新治疗方案,存活率大幅提升
|
||||
- 告别结局「星尘」:洛宵在最后的时间里与玩家度过了每一刻,最终安然离去
|
||||
- 逃避结局「空号」:洛宵在真相被揭露后拒绝再接听电话
|
||||
- 陪护结局「安详」:玩家陪他走完最后一段路
|
||||
- 二周目结局「另一边」:揭示洛宵一直在给另一个号码打电话——但那是空号
|
||||
|
||||
### 5.3 二周目:「真相线」
|
||||
|
||||
一周目通关任意结局后解锁。玩家以新视角重玩——某些对话细节在二周目中会揭示新含义。
|
||||
- 事故的真正原因
|
||||
- 三位可攻略角色之间不为人知的联系
|
||||
- 一个隐藏的"第四角色"——事故的肇事者
|
||||
|
||||
---
|
||||
|
||||
## 6. 系统设计
|
||||
|
||||
### 6.1 存档与分支
|
||||
|
||||
- **自动存档**:每次通话结束自动存档
|
||||
- **手动存档**:玩家可在通话界面双指下滑打开存档菜单
|
||||
- **存档槽**:15 个(覆盖三条主线足够)
|
||||
- **路线图**:通关后解锁,可视化所有对话分支(触觉版的"路线图"——按节点分割,点击节点可听到该段的简短摘要)
|
||||
|
||||
### 6.2 通话记录系统
|
||||
|
||||
- 保存所有历史通话的录音(游戏中),可回放
|
||||
- 关键对话自动标记
|
||||
- 玩家可以给每条记录添加语音备忘录(用自己的声音标注)
|
||||
|
||||
### 6.3 消息系统
|
||||
|
||||
- 除了实时通话,NPC 还可以发送语音消息
|
||||
- 语音消息 15-60 秒,无需玩家应答
|
||||
- 在通话记录中以不同图标标识(通过触觉区分:实时通话=单振、语音消息=双振)
|
||||
|
||||
### 6.4 时间系统
|
||||
|
||||
- **游戏内时间**随剧情推进
|
||||
- **现实时间触发**(可选开启):特定时间段会有额外来电
|
||||
- 例:晚上 10 点后的来电更私密、情感更深
|
||||
- 可以设置"勿扰模式"时间段
|
||||
- 可以设置"接收所有来电"(不筛时间)或"仅剧情来电"
|
||||
|
||||
---
|
||||
|
||||
## 7. 技术规格
|
||||
|
||||
### 7.1 音频引擎
|
||||
|
||||
| 参数 | 规格 |
|
||||
|------|------|
|
||||
| 音频中间件 | FMOD Studio |
|
||||
| 空间音频 | 不需要(电话模拟不需要空间定位) |
|
||||
| 麦克风处理 | 实时输入 + 轻量 DSP(压缩、EQ) |
|
||||
| 音频延迟 | < 60ms(麦克风监听延迟) |
|
||||
|
||||
### 7.2 性能目标
|
||||
|
||||
| 指标 | 目标 |
|
||||
|------|------|
|
||||
| 安装包大小 | < 800MB(大量配音内容,首次下载含共通线) |
|
||||
| 可下载内容 | 各路线配音按需下载(每线 150-250MB) |
|
||||
| 最低系统 | iOS 14 / Android 10 |
|
||||
| 后台运行 | 支持(电话在后台响起通知) |
|
||||
|
||||
---
|
||||
|
||||
## 8. 无障碍设计
|
||||
|
||||
### 8.1 无需视觉的完整交互
|
||||
|
||||
- 游戏从启动画面开始就完全不需要视觉
|
||||
- 首次启动的教程通过语音引导完成
|
||||
- 所有菜单操作均有触觉+音频双重确认
|
||||
- 完全兼容 VoiceOver / TalkBack
|
||||
|
||||
### 8.2 替代输入方式
|
||||
|
||||
- 除触控手势外,支持系统语音指令("接听"/"挂断"/"回拨"等)
|
||||
- 支持蓝牙耳机控制按钮(接听键 = 游戏中接听)
|
||||
|
||||
### 8.3 内容警告
|
||||
|
||||
- 游戏内涉及医疗创伤、死亡、悲伤等严肃主题
|
||||
- 在相关剧情开始前通过"内容提示"(语音形式)提醒玩家
|
||||
- 玩家可以选择跳过特定敏感内容
|
||||
|
||||
---
|
||||
|
||||
## 9. 开发路线图
|
||||
|
||||
| 阶段 | 周期 | 目标 |
|
||||
|------|------|------|
|
||||
| 预开发 | 第 1-3 周 | FMOD 集成、电话音频处理原型、录音测试 |
|
||||
| Alpha | 第 4-12 周 | 共通线完成、程逸线配音完成 |
|
||||
| Beta | 第 13-22 周 | 三条主线全部配音完成、系统功能完善 |
|
||||
| 打磨 | 第 23-28 周 | 本地化(英文配音)、无障碍测试、QA |
|
||||
| 发布 | 第 29-30 周 | App Store + Google Play 上架 |
|
||||
|
||||
### 9.1 团队配置
|
||||
|
||||
| 角色 | 人数 |
|
||||
|------|------|
|
||||
| 制作人/导演 | 1 |
|
||||
| 叙事设计师 | 1 |
|
||||
| 编剧 | 2 |
|
||||
| 声优 | 8-10(三位主线 + 五位次要角色) |
|
||||
| 音频工程师 | 1 |
|
||||
| Unity 程序员 | 2 |
|
||||
| FMOD 技术音频 | 1 |
|
||||
| 无障碍顾问 | 1 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 商业模式
|
||||
|
||||
### 10.1 收入模型
|
||||
|
||||
| 内容 | 价格 |
|
||||
|------|------|
|
||||
| 游戏下载(含共通线 + 1 条主线) | 免费 |
|
||||
| 程逸线完整解锁 | $4.99 |
|
||||
| 苏瑾线完整解锁 | $4.99 |
|
||||
| 洛宵线完整解锁 | $4.99 |
|
||||
| 全路线捆绑包(含二周目真相线) | $11.99 |
|
||||
| 附加语音包(每个角色的日常来电扩展包) | $1.99/个 |
|
||||
|
||||
### 10.2 关键指标
|
||||
|
||||
| 指标 | 目标 |
|
||||
|------|------|
|
||||
| 首月下载 | 100,000 |
|
||||
| 付费转化率 | 12-15% |
|
||||
| 全路线完成率 | 40%(付费用户中) |
|
||||
| 平均会话时长 | 22 分钟 |
|
||||
|
||||
---
|
||||
|
||||
*GDD-002 心跳连线 | 文档版本 v1.0*
|
||||
@@ -0,0 +1,241 @@
|
||||
# GDD-004:深渊电台
|
||||
|
||||
> 版本:v1.0 | 日期:2026-05-12 | 状态:策划阶段
|
||||
|
||||
---
|
||||
|
||||
## 1. 游戏概述
|
||||
|
||||
### 1.1 核心信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 游戏名称 | 深渊电台(Abyssal Frequency) |
|
||||
| 类型 | 深海恐怖生存 |
|
||||
| 平台 | iOS / Android |
|
||||
| 技术栈 | Unity + Resonance Audio |
|
||||
| 目标受众 | 恐怖游戏爱好者、潜艇模拟爱好者、沉浸音频玩家 |
|
||||
| 游戏时长 | 主线 5-6 小时 |
|
||||
| 定价模式 | 买断制 $7.99 |
|
||||
|
||||
### 1.2 Elevator Pitch
|
||||
|
||||
> 深海之下 3800 米。潜艇所有屏幕全黑,你只剩下声呐的 ping、无线电的噪音、以及船壳外那些……不属于已知生物的声音。《深渊电台》是一款深海恐怖生存游戏——在完全黑暗中,声音是你唯一的感知,也是恐惧的来源。
|
||||
|
||||
### 1.3 核心体验目标
|
||||
|
||||
- **深海恐惧的音频表达**:水压、黑暗、未知生物——恐怖不靠跳吓(jump scare),而靠持续的压迫感和声音暗示
|
||||
- **资源管理的紧张**:氧气、电力、船体完整性——每一项都通过声音反馈
|
||||
- **通讯的脆弱性**:无线电是你与人类世界的唯一联系,但它随时可能中断或被劫持
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心玩法
|
||||
|
||||
### 2.1 游戏循环
|
||||
|
||||
```
|
||||
声呐扫描 → 导航穿越 → 遭遇事件(生物/遗迹/残骸)→ 资源消耗 → 修复/补给
|
||||
↑ ↓
|
||||
└──────────── 无线电通讯推进剧情 ←───────────────────────────┘
|
||||
```
|
||||
|
||||
### 2.2 核心机制
|
||||
|
||||
#### 2.2.1 声呐系统
|
||||
|
||||
**主动声呐(主动 Ping)**:
|
||||
- 点击发射声波脉冲,声波在遇到物体后返回回声
|
||||
- 回声的音调、延迟、强度揭示前方物体的距离、大小、材质
|
||||
- 金属回声(高亢、长余韵):其他潜艇/残骸
|
||||
- 岩石回声(低沉、短促):海床/海底山脉
|
||||
- 有机回声(柔软、不规则):生物
|
||||
- 无回声:深渊(海底断崖/海沟)
|
||||
- 声呐有代价:每次 Ping 消耗少量电力,且会暴露潜艇位置给周围的生物
|
||||
|
||||
**被动声呐(持续监听)**:
|
||||
- 自动分析周围环境中的生物声源
|
||||
- 不同生物有独特的声学特征(详见 4.3)
|
||||
|
||||
#### 2.2.2 潜艇状态系统
|
||||
|
||||
| 子系统 | 音频健康指示 | 故障音频表现 | 完全失效后果 |
|
||||
|--------|------------|------------|------------|
|
||||
| 引擎 | 稳定低频嗡鸣 | 间歇性爆震、转速不稳 | 失去机动能力 |
|
||||
| 生命维持 | 气流声平稳 | 气流声变尖锐(氧浓度下降) | 缺氧耳鸣 → 死亡 |
|
||||
| 船体完整性 | 金属应力正常 | 咯吱声加剧、频率升高 | 船壳破裂 → 进水 |
|
||||
| 电力 | 电流底噪稳定 | 电流声波动、灯光嗡嗡声不稳 | 所有系统断电 |
|
||||
| 通讯 | 无线电静噪正常 | 信号失真、串入不明信号 | 与外界失联 |
|
||||
| 声呐 | Ping 回声清晰 | 回声模糊、出现假回声 | 失去导航能力 |
|
||||
|
||||
#### 2.2.3 资源管理
|
||||
|
||||
| 资源 | 消耗方式 | 音频提示 | 补充方式 |
|
||||
|------|---------|---------|---------|
|
||||
| 氧气 | 持续消耗,船员越多消耗越快 | 呼吸声变重 → 急促 → 喘息 | 浮出水面/找到氧气补给点 |
|
||||
| 电力 | 引擎运转、声呐 Ping、通讯 | 电流声变弱 → 系统逐个"声音熄火" | 关闭非必要系统/找到电池 |
|
||||
| 鱼雷 | 战斗消耗 | 装填音效(金属碰撞) | 补给点/残骸搜索 |
|
||||
| 诱饵 | 战斗消耗 | 发射后持续噪音 | 制作(消耗金属+电力) |
|
||||
| 船员健康 | 事件/攻击 | 船员语音报告(声音疲惫/痛苦) | 医疗包/休息 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 触控交互设计
|
||||
|
||||
### 3.1 驾驶模式手势
|
||||
|
||||
| 手势 | 功能 | 音频反馈 |
|
||||
|------|------|---------|
|
||||
| 左侧 ↑↓ 滑动 | 下潜/上浮 | 气压变化声(上浮时耳膜感) |
|
||||
| 右侧 ←→ 滑动 | 左转/右转 | 引擎转向声 |
|
||||
| 双指一起 ↑ 滑 | 加速 | 引擎转速提升声 |
|
||||
| 双指一起 ↓ 滑 | 减速/停止 | 引擎转速下降声 |
|
||||
| 单指点击屏幕中央 | 发射声呐 Ping | Ping 发射音 + 等待回声 |
|
||||
| 长按屏幕右侧 | 发射鱼雷 | 鱼雷管发射声 |
|
||||
| 长按屏幕左侧 | 投放诱饵 | 诱饵启动噪音 |
|
||||
| 三指点击 | 紧急上浮 | 警报声 + 急速水流声 |
|
||||
|
||||
### 3.2 系统管理手势
|
||||
|
||||
| 手势 | 功能 |
|
||||
|------|------|
|
||||
| 双指 ← 滑 | 切换到电力管理面板(AI 语音播报各系统用电) |
|
||||
| 双指 → 滑 | 切换到损伤控制面板 |
|
||||
| 在面板中 ↑↓ 滑 | 选择子系统 → 当前状态语音播报 |
|
||||
| 在面板中点按 | 开启/关闭/修复所选子系统 |
|
||||
| 双指长按 | 切换手动/自动驾驶模式 |
|
||||
|
||||
### 3.3 触觉反馈表
|
||||
|
||||
| 事件 | 触觉模式 |
|
||||
|------|---------|
|
||||
| 声呐 Ping 发出 | 单短振 |
|
||||
| 声呐回声返回(近) | 快速双振 |
|
||||
| 声呐回声返回(远) | 间隔双振 |
|
||||
| 船体受到攻击 | 剧烈连续振 + 方向性(模拟撞击方向) |
|
||||
| 深度警告(超过安全深度) | 逐渐增强的脉动振 |
|
||||
| 生命维持警告 | 与心率同步的脉动振 |
|
||||
| 无线电来电 | 电话式振动(与对方声音同步前振) |
|
||||
| 生物接近(被动声呐检测) | 间距逐渐缩短的脉冲振 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 音频设计
|
||||
|
||||
### 4.1 环境音频层次
|
||||
|
||||
```
|
||||
Layer 5 ┃ 音乐(仅在关键时刻进入,其余时间无音乐)
|
||||
Layer 4 ┃ 船员对话 / 无线电通讯
|
||||
Layer 3 ┃ 潜艇内部机械声(引擎、生命维持、船体应力)
|
||||
Layer 2 ┃ 主动声呐(Ping 和回声)
|
||||
Layer 1 ┃ 外部环境(水声、生物声、海流声)
|
||||
```
|
||||
|
||||
**核心设计原则**:大多数时间不播放音乐。深海恐怖的来源之一就是"除了潜艇的机械声和自己的呼吸声,外面一片死寂"。当音乐真正进入时,其对情绪的影响会因稀缺性而加倍。
|
||||
|
||||
### 4.2 深度分层音效
|
||||
|
||||
| 深度 | 水压音 | 船体声音 | 生物活动 |
|
||||
|------|--------|---------|---------|
|
||||
| 0-200m(透光层) | 轻微水流声 | 正常 | 丰富生物声(鲸歌、鱼群) |
|
||||
| 200-1000m(暮光层) | 水流声减弱,低频增强 | 偶尔应力声 | 生物声减少,出现异常 |
|
||||
| 1000-3000m(深海层) | 几乎无声,极低频底噪 | 频繁应力声 | 稀少但大型的生物 |
|
||||
| 3000m+(深渊层) | 绝对静默的压迫感 | 持续应力声,偶尔巨响 | 未知声源 |
|
||||
|
||||
### 4.3 生物声学设计
|
||||
|
||||
| 生物代号 | 学名概念 | 标志性声音 | 行为特征 |
|
||||
|---------|---------|-----------|---------|
|
||||
| "回声鲸" | 巨型滤食生物 | 低频吟唱(类似蓝鲸但更慢) | 和平,可跟随 |
|
||||
| "荧鱿群" | 小型发光鱿鱼 | 密集的噼啪声 | 吸引大型捕食者 |
|
||||
| "骨甲鲨" | 甲壳类掠食者 | 甲壳撞击声 + 高频尖叫 | 攻击性,速度快 |
|
||||
| "深渊利维坦" | 顶级掠食者 | 声呐回声被扭曲吸收 | 无法通过声呐探测 |
|
||||
| "歌者" | 未知智慧生物 | 复杂旋律,不断变化 | 好奇,会跟随潜艇 |
|
||||
| "静默者" | 完全无声的生物 | 无 | 唯一线索:其他生物突然安静 |
|
||||
|
||||
### 4.4 无线电通讯系统
|
||||
|
||||
**通讯角色**:
|
||||
|
||||
| 呼号 | 身份 | 声音特征 | 作用 |
|
||||
|------|------|---------|------|
|
||||
| "海面" | 基地指挥官 | 中年男声,沉稳 | 下达任务、提供情报 |
|
||||
| "声呐官" | 声呐分析专家 | 年轻女声,精确 | 帮助分析声呐信号 |
|
||||
| "工程师" | 潜艇维护专家 | 中年男声,沙哑 | 指导修复操作 |
|
||||
| "???" | 未知信号源 | 合成般的失真声音 | 剧情的核心谜团 |
|
||||
|
||||
**无线电信道状态**:
|
||||
|
||||
| 状态 | 音频表现 | 触发条件 |
|
||||
|------|---------|---------|
|
||||
| 正常 | 轻微静噪 | 默认 |
|
||||
| 干扰 | 白噪音增强,声音断续 | 进入特定区域/生物附近 |
|
||||
| 劫持 | 未知声音插入频道 | 剧情触发 |
|
||||
| 中断 | 完全静默 | 深度过大/设备故障 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 叙事与世界观
|
||||
|
||||
### 5.1 背景
|
||||
|
||||
> 2047 年,深海采矿站"波塞冬-7"在 3800 米深处失联。你是救援潜艇"回声号"的驾驶员,奉命前往调查。但在接近目标时,一次不明原因的声呐脉冲冲击摧毁了所有电子显示屏。你只能在声呐和无线电的辅助下,继续深入。
|
||||
|
||||
### 5.2 主线结构
|
||||
|
||||
| 章节 | 地点 | 核心事件 | 恐怖元素 |
|
||||
|------|------|---------|---------|
|
||||
| 一·下降 | 深海层 | 接近采矿站,遭遇骨甲鲨 | 首次战斗,声音定位 |
|
||||
| 二·死寂 | 采矿站外围 | 发现采矿站,全站无生命迹象 | 真空般的死寂 |
|
||||
| 三·录音 | 采矿站内部 | 找到船员留下的最后录音 | 录音内容揭示可怕真相 |
|
||||
| 四·深渊 | 海沟 | 被迫进入海沟躲避利维坦 | 绝对黑暗,声呐盲区 |
|
||||
| 五·歌者 | 深海平原 | 遭遇"歌者"族群 | 非暴力但更让人不安的接触 |
|
||||
| 六·真相 | 深渊之底 | 发现波塞冬-7 挖出了什么 | 真相揭示 |
|
||||
| 七·抉择 | 上浮通道 | 广播真相或沉默逃离 | 最终选择 |
|
||||
|
||||
### 5.3 结局
|
||||
|
||||
| 结局 | 条件 | 描述 |
|
||||
|------|------|------|
|
||||
| 曝光 | 收集足够证据 + 成功通讯 | 真相广播给全世界 |
|
||||
| 封印 | 未收集全部证据 | 引爆采矿站,将秘密永远封存 |
|
||||
| 同化 | 被歌者捕获 | 留在深海,成为它们的一员 |
|
||||
| 逃离 | 放弃一切,全速上浮 | 逃出生天,但秘密仍在那 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 技术规格
|
||||
|
||||
| 参数 | 规格 |
|
||||
|------|------|
|
||||
| 空间音频 | Resonance Audio + 自定义深海声学模型 |
|
||||
| 混响/延迟 | 水下声速模型(~1500m/s,5 倍空气声速) |
|
||||
| 声呐模拟 | 物理声学射线追踪(简化版,12 条射线) |
|
||||
| 音频延迟 | < 40ms |
|
||||
| 安装包 | < 1GB |
|
||||
|
||||
---
|
||||
|
||||
## 7. 无障碍
|
||||
|
||||
- 所有状态信息通过周期性语音简报播报(可调频率:30s/60s/120s/手动)
|
||||
- 生物接近警报有振动和音频双重提示
|
||||
- 完整音频教程(约 15 分钟),在安全环境中学习所有操作
|
||||
- 兼容 VoiceOver / TalkBack
|
||||
|
||||
---
|
||||
|
||||
## 8. 开发路线图
|
||||
|
||||
| 阶段 | 周期 | 目标 |
|
||||
|------|------|------|
|
||||
| 预开发 | 第 1-4 周 | 水下音频物理原型、声呐射线追踪原型 |
|
||||
| Alpha | 第 5-14 周 | 前三章可玩、潜艇操作完善 |
|
||||
| Beta | 第 15-22 周 | 全部章节、配音、生物音效 |
|
||||
| 打磨 | 第 23-28 周 | 恐怖节奏调优、无障碍测试 |
|
||||
| 发布 | 第 29-30 周 | 上线 |
|
||||
|
||||
---
|
||||
|
||||
*GDD-004 深渊电台 | 文档版本 v1.0*
|
||||
@@ -0,0 +1,236 @@
|
||||
# GDD-006:回声神探
|
||||
|
||||
> 版本:v1.0 | 日期:2026-05-12 | 状态:策划阶段
|
||||
|
||||
---
|
||||
|
||||
## 1. 游戏概述
|
||||
|
||||
### 1.1 核心信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 游戏名称 | 回声神探(Echo Detective) |
|
||||
| 类型 | 音频推理 / 侦探冒险 |
|
||||
| 平台 | iOS / Android |
|
||||
| 技术栈 | Unity + Resonance Audio |
|
||||
| 目标受众 | 推理爱好者、侦探游戏玩家、播客听众 |
|
||||
| 游戏时长 | 主线 6-8 小时(5 个案情) |
|
||||
| 定价模式 | 买断制 $7.99,含全部案件 |
|
||||
|
||||
### 1.2 Elevator Pitch
|
||||
|
||||
> 曾是最出色的凶案组警探,在一次任务中失明后被迫退休。但你的耳朵比任何人的眼睛都更敏锐。《回声神探》让你在完全黑暗中重听案发现场的音频记录,在声音的缝隙中寻找被所有人忽略的真相。
|
||||
|
||||
### 1.3 核心体验目标
|
||||
|
||||
- **用耳朵推理的独特快感**:线索完全隐藏在声音中,发现关键证据的"啊哈时刻"
|
||||
- **沉浸式罪案剧体验**:每个案件像一集高质量罪案播客
|
||||
- **无力感与掌控感**:无法看到证据,但能听到别人听不见的东西
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心玩法
|
||||
|
||||
### 2.1 游戏循环
|
||||
|
||||
```
|
||||
接收案件 → 听取案发现场音频档案 → 标记线索 → 走访证人(音频)→ 推理 → 指认真凶
|
||||
```
|
||||
|
||||
### 2.2 核心机制
|
||||
|
||||
#### 2.2.1 音频场景档案系统
|
||||
|
||||
**档案构成**:
|
||||
- 每个案发现场是一段 3-8 分钟的 3D 空间音频记录
|
||||
- 包含:环境音、人物对话、背景事件音、看似无关的背景声
|
||||
- 在同一空间中录制,玩家可以"移动聆听焦点"
|
||||
|
||||
**聆听控制**:
|
||||
|
||||
| 操作 | 效果 |
|
||||
|------|------|
|
||||
| 单指旋转 | 转动头部(改变聆听方向) |
|
||||
| 双指缩放 | 拉近/拉远聆听距离(聚焦某个声源) |
|
||||
| 单指点击声源 | 标记为线索 |
|
||||
| 双击 | 暂停/继续播放 |
|
||||
| 长按 | 慢放模式(25% 速度) |
|
||||
|
||||
**音频分析工具**(随剧情解锁):
|
||||
|
||||
| 工具 | 功能 | 解锁案件 |
|
||||
|------|------|---------|
|
||||
| 基础聆听 | 正常播放和分析 | 初始 |
|
||||
| 慢放 | 0.25x 速度播放,保留音高 | 初始 |
|
||||
| 频谱视图(音频化) | 将频谱转为音频描述 | 案件二 |
|
||||
| 声源分离 | AI 将不同声源分离为独立音轨 | 案件三 |
|
||||
| 背景噪音过滤 | 降低环境底噪,突出人声 | 案件四 |
|
||||
| 时间轴标记 | 在音频时间轴上标记和对比 | 案件五 |
|
||||
|
||||
#### 2.2.2 线索系统
|
||||
|
||||
**线索类型**:
|
||||
|
||||
| 类型 | 示例 | 标记方式 |
|
||||
|------|------|---------|
|
||||
| 对话线索 | 证词中的矛盾、口误 | 点击声源 |
|
||||
| 环境线索 | 钟声、火车声、鸟鸣 | 点击声源 |
|
||||
| 情绪线索 | 声音颤抖、呼吸急促、停顿异常 | 长按标记时间段 |
|
||||
| 位置线索 | 声音的空间位置与实际陈述不符 | 旋转定位后点击 |
|
||||
| 时间线索 | 音频中可推断时间的声音线索 | 点击声源 |
|
||||
|
||||
**线索面板**(纯音频 UI):
|
||||
- 已收集的线索以简短音频标签存储
|
||||
- 点击线索标签听到该线索的原始音频片段
|
||||
- 线索之间可以"连接"(拖拽手势),形成推理链
|
||||
- 连接的线索会自动生成一段语音推理摘要
|
||||
|
||||
#### 2.2.3 走访与审讯
|
||||
|
||||
- 在案件档案中发现问题后,可以去"走访"证人
|
||||
- 走访是纯音频对话场景,玩家通过提问(触觉选择问题)推进
|
||||
- 审讯阶段,玩家需要在对话中抛出关键证据
|
||||
- 抛证据的时机:当证人出现"声音异常"(微弱的颤抖/停顿/呼吸变化)的瞬间
|
||||
|
||||
---
|
||||
|
||||
## 3. 触控交互设计
|
||||
|
||||
### 3.1 音频档案浏览模式
|
||||
|
||||
| 手势 | 功能 |
|
||||
|------|------|
|
||||
| 单指旋转(顺时针/逆时针) | 水平旋转聆听视角(360° 声场) |
|
||||
| 单指 ↑↓ 滑 | 垂直调整聆听角度 |
|
||||
| 双指捏合/展开 | 缩小/放大聆听范围 |
|
||||
| 点击声源位置 | 标记线索 |
|
||||
| 双击任意处 | 暂停/播放 |
|
||||
| 长按任意处 | 进入慢放模式 |
|
||||
| 双指 ← 滑 | 后退 10 秒 |
|
||||
| 双指 → 滑 | 前进 10 秒 |
|
||||
| 三指点击 | 循环播放当前选中的 5 秒片段 |
|
||||
|
||||
### 3.2 走访/审讯模式
|
||||
|
||||
| 手势 | 功能 |
|
||||
|------|------|
|
||||
| 屏幕上半区点击 | 选择问题 A |
|
||||
| 屏幕下半区点击 | 选择问题 B |
|
||||
| 长按 | 保持沉默(让证人继续说) |
|
||||
| 双指 ↑ 滑 | 抛出当前选中的证据 |
|
||||
| 双指 ↓ 滑 | 切换选中的证据 |
|
||||
| 左滑 | 结束当前走访 |
|
||||
|
||||
### 3.3 触觉反馈
|
||||
|
||||
| 事件 | 触觉 |
|
||||
|------|------|
|
||||
| 发现可标记线索 | 提示性短振 |
|
||||
| 标记成功 | 确认双振 |
|
||||
| 线索矛盾(推理冲突) | 警告重振 |
|
||||
| 推理正确 | 全身共鸣振 |
|
||||
| 证人紧张/说谎 | 与心率同步的微脉动 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 音频设计
|
||||
|
||||
### 4.1 音频档案制作规范
|
||||
|
||||
**录制方式**:
|
||||
- 使用 Ambisonic 麦克风(一阶 Ambisonic,4 通道)进行实地录制
|
||||
- 演员在录制空间中实际走位表演
|
||||
- 环境音单独录制为 Ambisonic 环境层
|
||||
|
||||
**后期处理**:
|
||||
- Ambisonic 解码为双耳立体声(Binaural)
|
||||
- 声源分离使用 AI 辅助工具(Spleeter / Demucs)
|
||||
- 关键线索音效在混音时做微弱增强(不明显,但利于分析)
|
||||
|
||||
### 4.2 语音内容
|
||||
|
||||
| 元素 | 数量 | 说明 |
|
||||
|------|------|------|
|
||||
| 案件音频档案 | 5 个 × 3-8 分钟 | 每个案发现场的完整音频 |
|
||||
| 证人走访对话 | 每个案件 3-5 个证人 × 5-10 分钟 | 分支对话 |
|
||||
| 审讯对话 | 每个案件 2-3 场审讯 | 关键证据抛出 |
|
||||
| 旁白/内心独白 | ~3000 字 | 主角的推理独白 |
|
||||
| 搭档对话 | ~5000 字 | 与助手/搭档的对话 |
|
||||
|
||||
### 4.3 动态音乐
|
||||
|
||||
- 在音频档案聆听时通常不播放音乐
|
||||
- 在推理阶段(线索连接)播放紧张的弦乐
|
||||
- 在指认阶段播放高张力的打击乐
|
||||
- 案件解决后播放释放性的钢琴收束
|
||||
|
||||
---
|
||||
|
||||
## 5. 叙事与世界观
|
||||
|
||||
### 5.1 主角设定
|
||||
|
||||
> 程响,42 岁,前刑警支队重案组组长。两年前在一次人质解救任务中被闪光弹近距离爆炸灼伤视网膜,永久失明。退居二线后,他在警局担任"音频分析顾问"——一个为他量身定做但没人当真觉得有用的职位。直到第一起案件。
|
||||
|
||||
### 5.2 五起案件
|
||||
|
||||
| 案件 | 名称 | 核心音频线索 | 时长 |
|
||||
|------|------|------------|------|
|
||||
| 一 | 《雨夜公寓》 | 不在场证明中的地铁声与地理位置矛盾 | 60-90min |
|
||||
| 二 | 《沉默的证人》 | 盲人目击者的证词中某个声音的物理来源不合理 | 60-90min |
|
||||
| 三 | 《录音带》 | 一段被篡改的录音中的微弱原始音轨 | 90-120min |
|
||||
| 四 | 《火灾之后》 | 火灾现场录音中的爆燃声揭示起火点不是官方结论 | 90-120min |
|
||||
| 五 | 《灯塔》 | 所有前四案的线索串联,指向两年前那起闪光弹事件 | 120-150min |
|
||||
|
||||
### 5.3 贯穿性叙事
|
||||
|
||||
**明线**:解决五起案件
|
||||
**暗线**:两年前的闪光弹事件并非意外——有人在掩盖什么。每解决一个案件,主角距离自己的真相更近一步。
|
||||
|
||||
### 5.4 结局
|
||||
|
||||
| 结局 | 条件 | 描述 |
|
||||
|------|------|------|
|
||||
| 正义 | 案件五中指认真凶 | 真相大白,但代价巨大 |
|
||||
| 复仇 | 指认真凶后用私刑 | 主角入狱 |
|
||||
| 和解 | 发现真相后选择不追究 | 主角终于放下了过去 |
|
||||
| 深渊 | 未能解决案件五 | 主角被真凶设计陷害 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 技术规格
|
||||
|
||||
| 参数 | 规格 |
|
||||
|------|------|
|
||||
| 空间音频格式 | 一阶 Ambisonic → Binaural 渲染 |
|
||||
| 音频引擎 | Unity + Resonance Audio |
|
||||
| 声源分离 | AI 辅助离线处理(非实时) |
|
||||
| 音频采样率 | 48kHz / 24bit |
|
||||
| 安装包 | < 1.5GB(大量语音和 Ambisonic 音频) |
|
||||
| 最低系统 | iOS 14 / Android 10 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 无障碍
|
||||
|
||||
- 完整音频教程
|
||||
- 所有线索管理通过音频 UI 完成
|
||||
- 提供"提示系统"(可选):在玩家卡住超过 15 分钟时,搭档会在耳机里提示方向
|
||||
- 兼容 VoiceOver / TalkBack
|
||||
|
||||
---
|
||||
|
||||
## 8. 开发路线图
|
||||
|
||||
| 阶段 | 周期 | 目标 |
|
||||
|------|------|------|
|
||||
| 预开发 | 第 1-4 周 | Ambisonic 工作流、音频档案浏览原型 |
|
||||
| Alpha | 第 5-14 周 | 案件一、二完成 |
|
||||
| Beta | 第 15-24 周 | 全部五案完成、配音 |
|
||||
| 打磨 | 第 25-30 周 | 推理节奏调优、本地化 |
|
||||
| 发布 | 第 31-32 周 | 上线 |
|
||||
|
||||
---
|
||||
|
||||
*GDD-006 回声神探 | 文档版本 v1.0*
|
||||
@@ -0,0 +1,233 @@
|
||||
# GDD-007:冥河摆渡人
|
||||
|
||||
> 版本:v1.0 | 日期:2026-05-12 | 状态:策划阶段
|
||||
|
||||
---
|
||||
|
||||
## 1. 游戏概述
|
||||
|
||||
### 1.1 核心信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 游戏名称 | 冥河摆渡人(The Ferryman) |
|
||||
| 类型 | 音频叙事 RPG |
|
||||
| 平台 | iOS / Android |
|
||||
| 技术栈 | Unity + FMOD |
|
||||
| 目标受众 | 叙事游戏爱好者、文学性体验追求者、播客听众 |
|
||||
| 游戏时长 | 4-5 小时(完整通关) |
|
||||
| 定价模式 | 买断制 $5.99 |
|
||||
|
||||
### 1.2 Elevator Pitch
|
||||
|
||||
> 你是冥河上的摆渡人,在过去与未来之间的水面上,渡送一个又一个灵魂。每个灵魂上船后都会讲述自己的故事——而你需要在船靠岸之前,决定他们是去往"安息之地",还是"轮回之渊"。《冥河摆渡人》是一段关于倾听、判断与放下的旅程。
|
||||
|
||||
### 1.3 核心体验目标
|
||||
|
||||
- **聆听的沉浸感**:每一个灵魂的故事都是高品质的独白剧场
|
||||
- **道德判断的沉重**:没有标准答案,每一次选择都让你思考
|
||||
- **情感共鸣**:目标是在每一次渡河结束后让玩家静默 30 秒
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心玩法
|
||||
|
||||
### 2.1 游戏循环
|
||||
|
||||
```
|
||||
摇船出航 → 灵魂上船 → 灵魂讲述故事 → 玩家回应/引导 → 抵达对岸 → 做出判决
|
||||
↑ ↓
|
||||
└─────────── 渡送灵魂的数量和选择影响摆渡人自身的命运 ←─────────────────┘
|
||||
```
|
||||
|
||||
### 2.2 核心机制
|
||||
|
||||
#### 2.2.1 渡河叙事系统
|
||||
|
||||
**渡河的三个阶段**:
|
||||
|
||||
| 阶段 | 河面声音特征 | 叙事内容 | 玩家交互 |
|
||||
|------|------------|---------|---------|
|
||||
| 上船 | 现世之水声清澈 | 灵魂自我介绍,初步叙述 | 基本询问 |
|
||||
| 深水 | 水声逐渐深沉,混响增加 | 故事核心,情感高潮 | 关键追问,安抚/刺激 |
|
||||
| 靠岸 | 水声分叉(安息之水轻柔/轮回之水湍急) | 灵魂的最后陈述 | 做出最终判决 |
|
||||
|
||||
**玩家在渡河中的行动**:
|
||||
|
||||
| 行动 | 效果 | 时机 |
|
||||
|------|------|------|
|
||||
| 摇铃(点击) | 示意灵魂继续讲述 | 灵魂停顿时 |
|
||||
| 重摇铃(双击) | 打断灵魂,追问 | 灵魂回避某个话题时 |
|
||||
| 点亮引魂灯(长按) | 安抚情绪激动的灵魂 | 灵魂声音出现明显痛苦时 |
|
||||
| 撑篙加速(双指滑动) | 加速渡河进度 | 任何时间(但可能让灵魂感到被催促) |
|
||||
| 放下撑篙(停止滑动) | 放慢渡河,给灵魂更多时间 | 灵魂需要更多时间时 |
|
||||
| 转向(← → 滑动) | 改变航道,发现支流中的隐藏灵魂 | 听到支流方向传来声音时 |
|
||||
|
||||
#### 2.2.2 判决系统
|
||||
|
||||
**判决的两个终点**:
|
||||
|
||||
| 终点 | 音频特征 | 含义 |
|
||||
|------|---------|------|
|
||||
| 安息之地 | 温暖风声、远处有轻柔合唱 | 灵魂获得平静,不再轮回 |
|
||||
| 轮回之渊 | 空灵水声、时间倒流般的音效 | 灵魂重入轮回,再次经历人生 |
|
||||
|
||||
**判决依据(无标准答案)**:
|
||||
- 灵魂是否从自己的故事中学到了什么?
|
||||
- 灵魂是否真正面对了自己的遗憾?
|
||||
- 灵魂是否准备好"放下"?
|
||||
|
||||
判决后,玩家听到灵魂前往对应终点的声音——安息是渐渐消失的脚步声 + 温柔叹息;轮回是水声吞没一切 + 婴儿啼哭的遥远回声。
|
||||
|
||||
#### 2.2.3 摆渡人自己的故事(暗线)
|
||||
|
||||
随着渡送的灵魂数量增加,摆渡人的记忆碎片逐渐浮现。玩家通过碎片拼凑出:摆渡人自己也是一个灵魂,而且他忘记了自己死亡的真相。
|
||||
|
||||
---
|
||||
|
||||
## 3. 触控交互设计
|
||||
|
||||
| 手势 | 功能 | 触觉反馈 |
|
||||
|------|------|---------|
|
||||
| 点击屏幕 | 摇铃(催促/回应) | 铃铛轻振 |
|
||||
| 双击 | 重摇铃(打断/追问) | 铃铛重振 |
|
||||
| 长按 | 点亮引魂灯(安抚) | 持续温暖微振 |
|
||||
| 双指 ↑ 滑 | 撑篙加速 | 节奏性划水振 |
|
||||
| 双指停止 | 放慢/停船 | 振动消失 |
|
||||
| ← 滑 | 转向左侧支流 | 转向倾斜振 |
|
||||
| → 滑 | 转向右侧支流 | 转向倾斜振 |
|
||||
| 三指 ↑ 滑 | 判定:安息之地 | 上升音阶 + 上行振动 |
|
||||
| 三指 ↓ 滑 | 判定:轮回之渊 | 下降音阶 + 下行振动 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 音频设计
|
||||
|
||||
### 4.1 冥河的声景
|
||||
|
||||
```
|
||||
基础层 ┃ 冥河水声(持续,根据深度变化)
|
||||
环境层 ┃ 远处不明低吟、水滴、偶尔的风声
|
||||
叙事层 ┃ 灵魂的独白(核心音频内容)
|
||||
交互层 ┃ 铃铛、船篙划水、引魂灯嗡鸣
|
||||
音乐层 ┃ 仅在灵魂故事的高潮点和判决后进入
|
||||
```
|
||||
|
||||
### 4.2 灵魂独白的音频处理
|
||||
|
||||
**声音的"过渡"效果**:
|
||||
- 灵魂刚上船时:声音清晰,接近正常录音
|
||||
- 进入深水区:混响逐渐增强,声音开始带有轻微回声
|
||||
- 接近对岸:混响最大化,声音仿佛来自很遥远的地方
|
||||
- 判决后:根据目的地,声音被处理为"安息"(干净、温暖)或"轮回"(空灵、失真)
|
||||
|
||||
**制作方式**:
|
||||
- 录音:48kHz / 24bit / Mono,演员在录音棚中按剧情走向表演
|
||||
- 实时处理:通过 FMOD 参数控制混响量、EQ、延迟
|
||||
- 关键台词触发特殊处理(如声音颤抖被轻微增强)
|
||||
|
||||
### 4.3 二十一个灵魂
|
||||
|
||||
| # | 灵魂身份 | 故事主题 | 配音时长 |
|
||||
|---|---------|---------|---------|
|
||||
| 1 | 老农 | 与土地的羁绊 | 5min |
|
||||
| 2 | 年轻士兵 | 战争的荒谬 | 7min |
|
||||
| 3 | 被遗弃的母亲 | 亲情与牺牲 | 8min |
|
||||
| 4 | 小偷 | 贫穷与选择 | 6min |
|
||||
| 5 | 富商 | 财富与空虚 | 7min |
|
||||
| 6 | 音乐家 | 未完成的乐章 | 9min |
|
||||
| 7 | 小孩 | 对死亡的困惑 | 5min |
|
||||
| 8 | 学者 | 知识与智慧的区别 | 8min |
|
||||
| 9 | 演员 | 面具与真实自我 | 7min |
|
||||
| 10 | 厨师 | 味觉记忆 | 6min |
|
||||
| 11 | 年轻女孩 | 第 3 个灵魂的女儿 | 10min |
|
||||
| 12 | 船长 | 海与孤独 | 7min |
|
||||
| 13 | 诗人 | 语词与沉默 | 9min |
|
||||
| 14 | 医者 | 无力回天的病 | 8min |
|
||||
| 15 | 囚犯 | 罪与赎 | 7min |
|
||||
| 16 | 舞蹈家 | 身体与灵魂 | 6min |
|
||||
| 17 | 教师 | 未说出口的道歉 | 8min |
|
||||
| 18 | 孤儿 | 从未被爱 | 9min |
|
||||
| 19 | 国王 | 权力与责任 | 10min |
|
||||
| 20 | 摆渡人(前任) | 渡人者如何自渡 | 12min |
|
||||
| 21 | 摆渡人(自己) | 真相 | 15min |
|
||||
|
||||
### 4.4 灵魂间关联
|
||||
|
||||
| 关联 | 涉及灵魂 |
|
||||
|------|---------|
|
||||
| 母女 | #3(母亲)+ #11(女儿) |
|
||||
| 医患 | #14(医者)+ #20(前任摆渡人) |
|
||||
| 雇佣 | #5(富商)+ #4(小偷)——小偷是因偷了富商的东西而入狱 |
|
||||
| 战争 | #2(士兵)+ #13(诗人)——诗人是士兵的笔友 |
|
||||
| 因果 | #4(小偷)+ #3(母亲)——小偷的盗窃间接导致了母亲的悲剧 |
|
||||
|
||||
---
|
||||
|
||||
## 5. 叙事设计
|
||||
|
||||
### 5.1 叙事节奏
|
||||
|
||||
- 每个灵魂的渡送约 5-15 分钟
|
||||
- 渡送完 4-5 个灵魂后,出现一段摆渡人自己的记忆碎片
|
||||
- 渡送完 10 个灵魂后,摆渡人的记忆碎片变得完整
|
||||
- 渡送完 20 个灵魂后,前任摆渡人出现
|
||||
- 第 21 个灵魂是摆渡人自己
|
||||
|
||||
### 5.2 情感弧线
|
||||
|
||||
```
|
||||
第 1-5 魂:建立世界观,情感强度中等
|
||||
第 6-10 魂:情感强度上升,出现道德模糊的故事
|
||||
第 10 魂(关联剧情高峰):母女关联揭示
|
||||
第 11-15 魂:情感强度最高,每个故事都很重
|
||||
第 16-20 魂:摆渡人记忆加速浮现,渡送节奏加快
|
||||
第 20 魂:前任摆渡人的故事,一切开始联系
|
||||
第 21 魂:摆渡人直面自己的死亡
|
||||
```
|
||||
|
||||
### 5.3 结局
|
||||
|
||||
| 结局 | 条件 | 描述 |
|
||||
|------|------|------|
|
||||
| 圆满 | 帮助 20 个灵魂中 ≥ 15 个正确判断 | 摆渡人记起一切,安然走向安息 |
|
||||
| 未尽 | 帮助 10-14 个 | 摆渡人留在冥河,成为新的引路人 |
|
||||
| 迷惑 | 帮助 5-9 个 | 摆渡人选择轮回,忘记一切 |
|
||||
| 沉沦 | 帮助 < 5 个 | 摆渡人坠入冥河深处,永远消失 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 技术规格
|
||||
|
||||
| 参数 | 规格 |
|
||||
|------|------|
|
||||
| 音频引擎 | FMOD Studio |
|
||||
| 录音 | 48kHz / 24bit / Mono |
|
||||
| 总配音时长 | ~3 小时 |
|
||||
| 安装包 | < 600MB |
|
||||
| 空间音频 | 不需要(冥河声景为 2D 环绕,非 3D 空间) |
|
||||
|
||||
---
|
||||
|
||||
## 7. 无障碍
|
||||
|
||||
- 完整语音引导教程
|
||||
- 所有操作有音频+触觉反馈
|
||||
- 兼容 VoiceOver / TalkBack
|
||||
- 内容警告:涉及死亡、战争、遗弃等敏感主题
|
||||
|
||||
---
|
||||
|
||||
## 8. 开发路线图
|
||||
|
||||
| 阶段 | 周期 | 目标 |
|
||||
|------|------|------|
|
||||
| 预开发 | 第 1-2 周 | FMOD 叙事系统原型、独白录音测试 |
|
||||
| Alpha | 第 3-12 周 | 前 10 个灵魂完成 |
|
||||
| Beta | 第 13-20 周 | 全部 21 个灵魂 + 配音 |
|
||||
| 打磨 | 第 21-24 周 | 叙事节奏优化、本地化 |
|
||||
| 发布 | 第 25-26 周 | 上线 |
|
||||
|
||||
---
|
||||
|
||||
*GDD-007 冥河摆渡人 | 文档版本 v1.0*
|
||||
@@ -0,0 +1,269 @@
|
||||
# GDD-009:心音诊所
|
||||
|
||||
> 版本:v1.0 | 日期:2026-05-12 | 状态:策划阶段
|
||||
|
||||
---
|
||||
|
||||
## 1. 游戏概述
|
||||
|
||||
### 1.1 核心信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| 游戏名称 | 心音诊所(Heart Sound Clinic) |
|
||||
| 类型 | 音频模拟经营 / 心理疗愈 |
|
||||
| 平台 | iOS / Android |
|
||||
| 技术栈 | Unity + FMOD |
|
||||
| 目标受众 | 模拟经营爱好者、心理学爱好者、叙事游戏玩家 |
|
||||
| 游戏时长 | 主线 8-10 小时 |
|
||||
| 定价模式 | 买断制 $7.99 |
|
||||
|
||||
### 1.2 Elevator Pitch
|
||||
|
||||
> 你是一位失明的心理医生。无法观察患者的表情和肢体语言,你只能通过倾听——声音的颤抖、呼吸的节奏、沉默的长度——来判断他们的真实状态。经营你的诊所,接诊形形色色的患者,在看不见的世界里,帮助他们走出心灵的黑暗。
|
||||
|
||||
### 1.3 核心体验目标
|
||||
|
||||
- **"以耳代眼"的专业成就感**:仅凭声音做出精确的心理诊断
|
||||
- **人际关系的微妙张力**:患者的声音变化是唯一线索,稍纵即逝
|
||||
- **伦理思考**:不是每个患者都能被"修好",有时候放手也是一种治疗
|
||||
|
||||
---
|
||||
|
||||
## 2. 核心玩法
|
||||
|
||||
### 2.1 游戏循环
|
||||
|
||||
```
|
||||
预约患者 → 接诊(对话诊疗)→ 诊断 → 制定治疗计划 → 下次复诊 → ……
|
||||
│ │
|
||||
└── 诊所经营(收入/支出/设备升级) ←── 治疗结果反馈 ←─────┘
|
||||
```
|
||||
|
||||
### 2.2 核心机制
|
||||
|
||||
#### 2.2.1 诊疗系统
|
||||
|
||||
**四类基本回应方式**:
|
||||
|
||||
| 回应类型 | 手势 | 触觉反馈 | 适用场景 |
|
||||
|---------|------|---------|---------|
|
||||
| 共情回应 | ↑ 滑 | 轻柔连续微振 | 患者情绪激动需要安抚 |
|
||||
| 追问深入 | ↓ 滑 | 单次短振 | 患者含糊其辞或回避话题 |
|
||||
| 沉默等待 | 长按(不松) | 无振动,只有诊室环境音 | 给患者自己表达的空间 |
|
||||
| 引导反思 | 双指点击 | 双次短振 | 帮助患者连接事件和情感 |
|
||||
|
||||
**诊疗中的关键声音线索**:
|
||||
|
||||
| 声音异常 | 可能含义 | 应该做什么 |
|
||||
|---------|---------|-----------|
|
||||
| 语速突然加快 | 焦虑、回避某个话题 | 追问深入 |
|
||||
| 语速突然减慢/停顿 | 触及核心情感 | 沉默等待 |
|
||||
| 声音颤抖 | 情绪激动/恐惧 | 共情回应 |
|
||||
| 呼吸急促 | 焦虑发作 | 共情回应 + 引导呼吸 |
|
||||
| 声音突然变轻/变小 | 羞耻/回避 | 温和追问或等待 |
|
||||
| 声音中突然出现哭腔 | 情绪崩溃 | 共情回应 |
|
||||
| 假声/声音不自然 | 伪装/防御 | 多次追问直到破防 |
|
||||
| 长时间的沉默(> 8 秒) | 不同的可能:思考/回避/崩溃 | 根据上下文判断 |
|
||||
| 背景中出现自伤暗示声音 | 危机信号 | 紧急干预 |
|
||||
|
||||
#### 2.2.2 诊断系统
|
||||
|
||||
- 每次接诊结束,玩家口述诊断(麦克风录音,语音转文字)
|
||||
- 系统根据关键词匹配和之前对话中识别的"关键线索"评估诊断准确度
|
||||
- 诊断影响后续治疗计划的制定
|
||||
- 误诊不会直接"game over",但会导致后续治疗效果变差
|
||||
|
||||
#### 2.2.3 治疗计划
|
||||
|
||||
| 治疗方式 | 适用症状 | 音频特征 |
|
||||
|---------|---------|---------|
|
||||
| 认知行为疗法 | 焦虑、抑郁 | 结构化对话,引导认知重构 |
|
||||
| 暴露疗法 | 恐惧症、PTSD | 由远及近的声音刺激 |
|
||||
| 正念训练 | 焦虑、压力 | 引导呼吸和身体扫描(全程音频) |
|
||||
| 人际治疗 | 人际关系问题 | 角色扮演对话 |
|
||||
| 药物辅助 | 严重抑郁、双相 | 需转介精神科医生 |
|
||||
|
||||
#### 2.2.4 诊所经营系统
|
||||
|
||||
**诊所周计划**:
|
||||
|
||||
| 时段 | 周一 | 周二 | 周三 | 周四 | 周五 |
|
||||
|------|------|------|------|------|------|
|
||||
| 9:00-10:00 | 患者 A | 患者 C | 复诊 A | 患者 E | 空闲 |
|
||||
| 10:00-11:00 | 患者 B | 复诊 C | 患者 D | 患者 F | 复诊 E |
|
||||
| 11:00-12:00 | 空闲 | 空闲 | 空闲 | 空闲 | 行政 |
|
||||
| 14:00-15:00 | 复诊 B | 患者 G | 空闲 | 复诊 F | 空闲 |
|
||||
| 15:00-16:00 | 空闲 | 复诊 G | 行政 | 空闲 | 行政 |
|
||||
|
||||
**经营要素**:
|
||||
- 诊疗收入:基础诊疗费 + 效果奖金
|
||||
- 支出:诊所租金、设备维护、持续教育费用
|
||||
- 声望系统:高评价 → 更多患者推荐 → 可选择更高难度/高报酬的病案
|
||||
- 设备升级:白噪音发生器(安抚焦虑)、音频分析仪(实时标记患者声音异常)
|
||||
|
||||
---
|
||||
|
||||
## 3. 触控交互设计
|
||||
|
||||
### 3.1 诊疗模式手势
|
||||
|
||||
| 手势 | 功能 |
|
||||
|------|------|
|
||||
| ↑ 滑 | 共情回应 |
|
||||
| ↓ 滑 | 追问深入 |
|
||||
| 长按(> 1s) | 沉默等待 |
|
||||
| 双指点击 | 引导反思 |
|
||||
| ← 滑 | 切换到上一次的回应(撤销) |
|
||||
| → 滑 | 跳过当前患者的一段叙述(仅在复诊时可用) |
|
||||
| 双击 | 给患者倒水(中性动作,缓和气氛) |
|
||||
| 三指长按 | 紧急干预(仅在患者出现危机信号时可用) |
|
||||
|
||||
### 3.2 诊后/经营模式手势
|
||||
|
||||
| 手势 | 功能 |
|
||||
|------|------|
|
||||
| ↑↓ 滑 | 浏览诊断选项 / 治疗计划选项 |
|
||||
| 双指 ← 滑 | 切换到上一个患者档案 |
|
||||
| 双指 → 滑 | 切换到下一个患者档案 |
|
||||
| 点击 | 选择/确认当前选项 |
|
||||
| 长按 | 开始录制口述诊断(录音) |
|
||||
| 三指点击 | 打开诊所经营面板 |
|
||||
|
||||
### 3.3 触觉反馈
|
||||
|
||||
| 事件 | 触觉 |
|
||||
|------|------|
|
||||
| 检测到患者声音异常 | 提示性微振 |
|
||||
| 选择了正确的回应 | 确认轻振 |
|
||||
| 选择了不合适的回应 | 轻微振动(不标注"错误",避免破坏沉浸感) |
|
||||
| 患者情绪崩溃 | 不规则重振 |
|
||||
| 患者危机信号 | 紧急连续重振 |
|
||||
| 诊断准确度高(诊后反馈) | 温暖长振 |
|
||||
| 诊断偏离(诊后反馈) | 轻微失落振 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 音频设计
|
||||
|
||||
### 4.1 诊室声景
|
||||
|
||||
```
|
||||
Layer 3 ┃ 音乐(极简,仅在治疗开始/结束时出现)
|
||||
Layer 2 ┃ 诊室环境(钟表滴答、窗外车声、空调声、茶杯声)
|
||||
Layer 1 ┃ 患者声音 + 玩家回应语音 + 环境交互音
|
||||
```
|
||||
|
||||
**钟表滴答的设计**:
|
||||
- 正常滴答节奏:1 秒一次
|
||||
- 关键抉择时刻:滴答声放大 + 主观时间感拉长
|
||||
- 患者情绪紧张时:滴答声与患者语速形成对比
|
||||
|
||||
### 4.2 患者语音设计
|
||||
|
||||
**录音方向**:
|
||||
- 不要"配音量"的表演
|
||||
- 要接近真实心理治疗中的来访者状态
|
||||
- 包括:犹豫、重复、语无伦次、沉默、哭泣、愤怒
|
||||
|
||||
**录音技术**:
|
||||
- 近距离录音(15-20cm)
|
||||
- 保留呼吸声、抽泣声、咽口水声
|
||||
- 使用高灵敏度电容麦克风
|
||||
|
||||
### 4.3 患者角色设计
|
||||
|
||||
| 患者 | 主诉 | 实际情况 | 声音特征 | 难度 |
|
||||
|------|------|---------|---------|------|
|
||||
| 小陈 | 失眠,工作压力大 | 焦虑症 + 职业倦怠 | 语速快,跳跃,偶尔自我打断 | 入门 |
|
||||
| 李姐 | 离婚后情绪低落 | 抑郁症(中度) | 语速极慢,长停顿,声音单调 | 入门 |
|
||||
| 阿杰 | 车祸后不敢开车 | PTSD | 话题涉及车祸时声音明显颤抖 | 中等 |
|
||||
| 小雨 | 自伤行为 | 边缘型人格障碍 | 两个声音人格交替出现 | 中等 |
|
||||
| 老吴 | 总是觉得身体不适 | 躯体化障碍 | 声音正常但内容焦虑 | 中等 |
|
||||
| 周先生 | 与儿子关系破裂 | 自恋型人格特质 | 声音自信但防御性强 | 困难 |
|
||||
| 小王 | 恐惧社交到无法出门 | 社交焦虑 + 广场恐惧 | 声音极小,几乎耳语 | 困难 |
|
||||
| 安安 | 创伤后失忆 | 解离性障碍 | 声音空洞,缺乏情感 | 极难 |
|
||||
|
||||
### 4.4 总语音量估算
|
||||
|
||||
| 内容 | 字数 | 配音时长 |
|
||||
|------|------|---------|
|
||||
| 8 名患者首次接诊 | ~2000 字/人 | ~13min/人 = 1.7h |
|
||||
| 复诊对话 | ~1500 字/人 × 平均 3 次 | ~30min/人 = 4h |
|
||||
| 紧急干预对话 | ~500 字 × 6 场景 | ~20min |
|
||||
| 经营系统语音 | ~100 条 | ~30min |
|
||||
| 玩家角色配音 | 引导语、回应语音等 | ~1h |
|
||||
|
||||
**总计**:约 7.5 小时配音
|
||||
|
||||
---
|
||||
|
||||
## 5. 叙事与世界观
|
||||
|
||||
### 5.1 主角设定
|
||||
|
||||
> 林深,38 岁,心理学博士。在一次意外中失去视力后,经历了长达两年的自我重建。他重新开业时发现:失去了视觉后,他对患者声音中微妙情绪的感知反而变得更加敏锐。他的诊所名叫"心音"——不是"心印"或"心因",而是"声音的音"。
|
||||
|
||||
### 5.2 主线叙事
|
||||
|
||||
主线不是强驱动的剧情,而是随着诊所声望提升逐渐解锁的事件:
|
||||
|
||||
1. **开业**:接诊前 3 位患者,建立基础
|
||||
2. **挑战病例**:接待第一位困难患者,面临诊断的不确定性
|
||||
3. **伦理困境**:一个患者的秘密涉及法律问题,是否应该报告?
|
||||
4. **自我投射**:某个患者的经历与林深自己的创伤相似
|
||||
5. **抉择**:诊所扩大(接更多患者但诊疗质量下降)vs 维持现状
|
||||
|
||||
---
|
||||
|
||||
## 6. 伦理设计
|
||||
|
||||
### 6.1 核心原则
|
||||
|
||||
- 游戏不鼓励"修好所有人"的心态
|
||||
- 错误的回应方式会导致治疗退步,但不会以"Game Over"的形式惩罚
|
||||
- "转介"(将患者推荐给更适合的医生)是一个有效的、正面的选择
|
||||
- 自杀风险等紧急情况有专门的应对流程(语音引导)
|
||||
|
||||
### 6.2 内容警告
|
||||
|
||||
- 涉及:抑郁、焦虑、创伤、自伤、丧亲、关系暴力等主题
|
||||
- 首次开诊前有语音内容警告
|
||||
- 提供"绕过"选项:触及特定敏感主题时,可选跳过
|
||||
|
||||
---
|
||||
|
||||
## 7. 技术规格
|
||||
|
||||
| 参数 | 规格 |
|
||||
|------|------|
|
||||
| 音频引擎 | FMOD Studio |
|
||||
| 语音转文字 | 端侧模型(iOS Speech / Android SpeechRecognizer) |
|
||||
| 关键词匹配 | 自定义轻量级 NLP |
|
||||
| 安装包 | < 1GB |
|
||||
| 最低系统 | iOS 14 / Android 10 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 无障碍
|
||||
|
||||
- 完整的音频+触觉操作体系
|
||||
- 所有患者档案和治疗计划通过语音播报
|
||||
- 兼容 VoiceOver / TalkBack
|
||||
- 可选择"完全语音控制"模式(用语音指令替代触控手势)
|
||||
|
||||
---
|
||||
|
||||
## 9. 开发路线图
|
||||
|
||||
| 阶段 | 周期 | 目标 |
|
||||
|------|------|------|
|
||||
| 预开发 | 第 1-3 周 | 对话系统原型、语音分析原型 |
|
||||
| Alpha | 第 4-12 周 | 前 4 名患者完成、核心诊疗循环 |
|
||||
| Beta | 第 13-20 周 | 全部 8 名患者 + 经营系统 |
|
||||
| 打磨 | 第 21-26 周 | 配音录制、伦理内容审查、本地化 |
|
||||
| 发布 | 第 27-28 周 | 上线 |
|
||||
|
||||
---
|
||||
|
||||
*GDD-009 心音诊所 | 文档版本 v1.0*
|
||||
@@ -0,0 +1,583 @@
|
||||
# 《林夏》重构设计文档 v2
|
||||
|
||||
## 一、问题诊断
|
||||
|
||||
### 问题1:主角是哑巴
|
||||
玩家听完 NPC 语音 → 滑动选择 → 什么声音都没有 → 直接跳到下一个人。
|
||||
林夏在整个游戏中没有"说过一句话"。玩家的操作没有任何可听到的结果。
|
||||
这不是互动,这是单方面的被动收听。
|
||||
|
||||
### 问题2:选择没有区别
|
||||
温暖/冷淡/追问/沉默 → 改变了一个隐形的分数 → 同样的流程 → 下一条消息。
|
||||
玩家听不到、感受不到任何区别。四个方向滑动在体验上完全一样。
|
||||
选择只有在产生可感知的不同后果时才有意义。
|
||||
|
||||
### 根本原因
|
||||
游戏缺少**对话的第二段**。真正的对话是:
|
||||
|
||||
```
|
||||
她说 → 我答 → 她对我的回答做出反应
|
||||
```
|
||||
|
||||
当前的游戏只有第一段。缺少"我答"和"她的反应"。
|
||||
|
||||
|
||||
## 二、核心设计理念
|
||||
|
||||
### 一句话总结
|
||||
**每次选择都必须产生玩家能听到的、不同的后果。**
|
||||
|
||||
### 三个原则
|
||||
|
||||
1. **林夏必须有声音**
|
||||
玩家做出选择后,林夏要说话(或沉默——但沉默本身也要被对方感知到)。
|
||||
|
||||
2. **NPC 必须对林夏的回应做出反应**
|
||||
温暖的回应 → NPC 继续说,说得更多更深。
|
||||
冷淡的回应 → NPC 尴尬地收住,对话很快结束。
|
||||
追问 → NPC 透露新信息(你在其他路径听不到)。
|
||||
沉默 → NPC 感受到沉默,可能追问、可能放弃。
|
||||
|
||||
3. **不同的路径 = 不同的内容**
|
||||
玩家选温暖和选冷淡,应该听到完全不同的音频。
|
||||
不是"播同一段然后改个隐藏分数",而是真正不同的声音。
|
||||
|
||||
|
||||
## 三、交互模型
|
||||
|
||||
### 手势(保持 6 种,不变)
|
||||
| 手势 | 全局含义 |
|
||||
|--------|------------|
|
||||
| 单击 | 接受/回应/继续 |
|
||||
| 双击 | 跳过/忽略 |
|
||||
| 右滑 | 温暖/靠近 |
|
||||
| 左滑 | 冷淡/推开 |
|
||||
| 上滑 | 好奇/追问 |
|
||||
| 下滑 | 沉默/退缩 |
|
||||
|
||||
### 新的对话流程
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [提示音 + 震动] │
|
||||
│ 消息到达 │
|
||||
│ → 单击播放 / 双击跳过 │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ NPC 语音播放(Round 1) │
|
||||
│ "你被甩了我都听说了,明天陪你喝酒" │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [选择提示音] │
|
||||
│ 等待玩家操作 │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [打字音效 ~1秒] │
|
||||
│ [发送音效] │
|
||||
│ 林夏的语音播放 │
|
||||
│ 右滑 → "好啊,明天不见不散。" │
|
||||
│ 左滑 → "再说吧。" │
|
||||
│ 上滑 → "你怎么知道的啊?" │
|
||||
│ 下滑 → [一秒沉默] │
|
||||
│ 单击 → "嗯。" │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ NPC 反应播放(Round 2)—— 因选择而异 │
|
||||
│ │
|
||||
│ 右滑路径: "行!那我叫上安安!老地方见!" │
|
||||
│ 左滑路径: "……好吧,你休息。" │
|
||||
│ 上滑路径: "还不是阿哲那个大嘴巴告诉我的……" │
|
||||
│ 下滑路径: "??你还活着吗哈哈。算了不打扰你了" │
|
||||
│ 单击路径: "嗯是什么意思啊哈哈!行吧你休息" │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [可选] Round 3: 继续对话(仅追问路径) │
|
||||
│ "阿哲到处跟人说你们分手的事……" │
|
||||
│ → 再次选择 → 林夏回应 → 对话结束 │
|
||||
└──────────┬──────────────────────────────────────┘
|
||||
▼
|
||||
┌─────────────────────────────────────────────────┐
|
||||
│ [过渡音效] → 等待 → 下一条消息 │
|
||||
└─────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 关键区别
|
||||
|
||||
| 方面 | 旧版 | 新版 |
|
||||
|-----------|------------------------|-------------------------------|
|
||||
| 林夏的声音 | 无 | 每次选择后都有语音 |
|
||||
| NPC 反应 | 无,直接跳到下一条 | 根据选择播放不同的反应语音 |
|
||||
| 选择的感受 | 四个方向一样 | 四个方向各自导向不同的音频内容 |
|
||||
| 对话长度 | 固定(听完就完) | 温暖/追问路径更长,冷淡/沉默更短 |
|
||||
| 信息量 | 固定 | 追问路径可以获得独家信息 |
|
||||
|
||||
|
||||
## 四、林夏的声音设计
|
||||
|
||||
### 设计原则
|
||||
林夏是一个 24 岁的女生,今晚经历了分手+失业+家庭压力。
|
||||
她的声音应该是:**疲惫但清醒、克制但有温度、年轻但不幼稚。**
|
||||
|
||||
### 语音类型
|
||||
|
||||
#### A. 通用短句(可跨消息复用)
|
||||
| 编号 | 情感方向 | 台词 | 时长 | 复用场景 |
|
||||
|------|---------|---------------|--------|-----------------|
|
||||
| G01 | 单击 | "嗯。" | 0.5s | 任何简单回应 |
|
||||
| G02 | 单击 | "好。" | 0.5s | 同意类 |
|
||||
| G03 | 温暖 | "嗯~好啊。" | 1s | 接受邀约 |
|
||||
| G04 | 温暖 | [轻笑] | 1s | 轻松回应 |
|
||||
| G05 | 冷淡 | "知道了。" | 0.8s | 敷衍回应 |
|
||||
| G06 | 冷淡 | "行吧。" | 0.6s | 不情愿同意 |
|
||||
| G07 | 追问 | "嗯?" | 0.5s | 想听更多 |
|
||||
| G08 | 追问 | "然后呢?" | 0.8s | 催促继续 |
|
||||
| G09 | 沉默 | [轻呼吸] | 1.5s | 说不出口 |
|
||||
| G10 | 沉默 | [沉默+叹气] | 2s | 无力回应 |
|
||||
|
||||
#### B. 场景专属台词(每条消息独有)
|
||||
每条有选择的消息需要 3-5 条林夏专属台词,详见第五节。
|
||||
|
||||
### 录制要求
|
||||
- 同一个声优录制所有林夏的台词
|
||||
- 录音环境安静(模拟深夜卧室发语音的感觉)
|
||||
- 情绪基调:不是哭,不是崩溃,是一种**撑着的疲惫**
|
||||
- 总量估算:通用 10 条 + 专属 ~40 条 = **约 50 条短语音,总时长约 2 分钟**
|
||||
|
||||
|
||||
## 五、16 条消息重新设计
|
||||
|
||||
> 每条消息标注:NPC 说什么(Round 1)→ 玩家选择 → 林夏说什么 → NPC 怎么反应(Round 2)
|
||||
> 追问路径可能延伸到 Round 3。
|
||||
|
||||
---
|
||||
|
||||
### MSG-01 妈妈 · 电话
|
||||
|
||||
**类型**:来电
|
||||
**Round 1**(接听后):妈妈说"今晚煮了你爱吃的排骨,你什么时候回来呀。"
|
||||
**接听后无选择**——这是第一通电话,让玩家熟悉"接电话 → 听完"的流程。
|
||||
通话结束后,林夏轻轻说一句"嗯……好。"(自动播放,不需选择)
|
||||
|
||||
**不接** → 直接跳到下一条。妈妈的来电未接。
|
||||
|
||||
**状态**:接听 → MOM_LINK = true
|
||||
|
||||
---
|
||||
|
||||
### MSG-02 小美 · 微信语音 ×3(教学关)
|
||||
|
||||
**Round 1**:小美连发三条语音:
|
||||
- "林夏!你还活着吗!"
|
||||
- "你被甩了我都听说了——别难过啊"
|
||||
- "明天陪你喝酒,去不去"
|
||||
|
||||
**选择 + Round 2**:
|
||||
|
||||
| 方向 | 林夏说 | 小美反应 | 效果 |
|
||||
|------|--------------------------|-----------------------------------------------|--------------|
|
||||
| 右滑 | "好啊,明天不见不散。" | "行!那我叫上安安!老地方见!别放鸽子啊!" | engagement+2 |
|
||||
| 左滑 | "再说吧。" | "……好吧。你要是改主意了随时说。" | avoidance+1 |
|
||||
| 上滑 | "你怎么知道的啊?" | "还不是阿哲自己发朋友圈!你不知道吗?他发了又秒删……" | engagement+1, **独家信息** |
|
||||
| 下滑 | [沉默 2s] | "??你还活着吗哈哈。好了不烦你了,有事找我。" | avoidance+2 |
|
||||
| 单击 | "嗯。" | "嗯是什么意思啊哈哈!行吧你休息。" | engagement+0 |
|
||||
|
||||
**追问路径 Round 3**(上滑后):
|
||||
小美说完"他发了又秒删" → 选择提示音
|
||||
- 右滑 → 林夏:"他……发了什么?" → 小美:"就发了一张你们以前的照片,配了一句'值得'。两分钟就删了" → **独家信息**
|
||||
- 其他 → 对话结束
|
||||
|
||||
---
|
||||
|
||||
### MSG-03 外卖小哥 · 电话
|
||||
|
||||
**类型**:来电
|
||||
**Round 1**:外卖小哥:"你好,你的麻辣烫到了,在楼下。"
|
||||
**接听后自动**:林夏说"好,我下来拿。"(无选择)
|
||||
**不接** → 漏接。
|
||||
|
||||
*设计意图*:日常感。即使世界在崩塌,外卖还是要拿。
|
||||
|
||||
---
|
||||
|
||||
### MSG-04 阿哲 · 微信语音
|
||||
|
||||
**Round 1**:阿哲说"那个……我的 AirPods 好像落你那了,方便帮我寄一下吗?"
|
||||
|
||||
| 方向 | 林夏说 | 阿哲反应 | 效果 |
|
||||
|------|--------------------------|---------------------------------------------|-------------------|
|
||||
| 右滑 | "你那边……还好吗。" | "我……挺好的。" [停顿] "你呢?" | engagement+2 |
|
||||
| 左滑 | "知道了。明天寄。" | "嗯……谢了。" | HE_BACK=false, avoidance+1 |
|
||||
| 上滑 | "你怎么不自己来拿。" | "我……不太方便过去。" [欲言又止] | engagement+2 |
|
||||
| 下滑 | [沉默 3s] | [等了5秒] "那……我晚点再说吧。" → (10秒后阿哲撤回消息) | HE_BACK=null, avoidance+2 |
|
||||
| 单击 | "好。" | "谢谢。" | HE_BACK=false, engagement+1 |
|
||||
|
||||
**右滑 Round 3**(阿哲问"你呢?"后):
|
||||
- 右滑 → 林夏:"不太好。" → 阿哲:"……对不起。" [然后挂断般的沉默]
|
||||
- 左滑 → 林夏:"挺好的。" → 阿哲:"那就好。" [敷衍,对话结束]
|
||||
- 下滑 → [沉默] → 阿哲:"……那,晚安。"
|
||||
|
||||
**上滑 Round 3**(阿哲说"不太方便"后):
|
||||
- 上滑 → 林夏:"为什么。" → 阿哲:"我……" [长停顿] "没什么。你寄吧。" → HE_BACK=false
|
||||
- 右滑 → 林夏:"算了,不问了。" → 对话结束
|
||||
|
||||
---
|
||||
|
||||
### MSG-05 HR王姐 · 微信语音
|
||||
|
||||
**Round 1**:王姐说"小夏,离职流程周三前办完就行。别有压力。"
|
||||
|
||||
| 方向 | 林夏说 | 王姐反应 | 效果 |
|
||||
|------|---------------------------|--------------------------------------------------|--------------|
|
||||
| 右滑 | "谢谢王姐。" | "别客气。你还年轻,出去看看也好。这行业你知道的。" | engagement+1 |
|
||||
| 左滑 | "好的,知道了。" | [无反应,对话结束] | avoidance+0 |
|
||||
| 上滑 | "王姐……有什么建议吗?" | "你想听真话?别在这行耗了。你有本事,去试试别的。" → **独家** | engagement+2 |
|
||||
| 下滑 | [沉默] | [无反应,对话结束] | avoidance+1 |
|
||||
| 单击 | "好。" | [无反应,对话结束] | engagement+0 |
|
||||
|
||||
---
|
||||
|
||||
### MSG-06 安安 · 微信语音
|
||||
|
||||
**Round 1**:安安在酒吧里大喊:"我在 Helens!快来!今天 happy hour!"(背景很吵)
|
||||
|
||||
| 方向 | 林夏说 | 安安反应 | 效果 |
|
||||
|------|---------------------------|------------------------------------------------|--------------|
|
||||
| 右滑 | "在哪儿啊?我看看吧。" | "对面那个!我给你留了位置!赶紧赶紧!" | engagement+2 |
|
||||
| 左滑 | "不了,你们玩好。" | "好吧!那我给你寄一杯!" [大笑] | avoidance+0 |
|
||||
| 上滑 | "你喝了多少了?" | "才两杯!我清醒得很!……好吧三杯。快来!" | engagement+1 |
|
||||
| 下滑 | [沉默] | "喂?信号不好吗?好吧以后再约!" | avoidance+1 |
|
||||
| 单击 | "嗯。" | "嗯是来还是不来啊!算了回头聊!" | engagement+0 |
|
||||
|
||||
---
|
||||
|
||||
### MSG-07 大学寝室群 · 5条语音
|
||||
|
||||
**Round 1**:群消息连续播放:
|
||||
- 室友A:"我升主管了!!!"
|
||||
- 室友A:"请你们吃饭!!"
|
||||
- 室友B:"我的天!恭喜!!"
|
||||
- 室友B:"必须喝一个!"
|
||||
- 室友C:"@林夏 你也来吧"
|
||||
|
||||
| 方向 | 林夏说 | 群里反应 | 效果 |
|
||||
|------|--------------------------|------------------------------------------------|-------------------|
|
||||
| 右滑 | "恭喜恭喜!太厉害了!" | 室友A:"哈哈谢谢!我请客!你最近怎么样啊?" | GROUP_REPLY, engagement+2 |
|
||||
| 左滑 | "恭喜。" | [群里继续聊别的,没人注意到你的冷淡] | avoidance+1 |
|
||||
| 上滑 | "怎么升的啊?讲讲!" | 室友A:"说来话长!我们老板走了我就顶上了哈哈" → **信息** | GROUP_REPLY, engagement+2 |
|
||||
| 下滑 | [沉默,不回群] | [群里继续热闹,但渐渐没人@你了] | avoidance+2 |
|
||||
| 单击 | [发一个表情] | 室友B:"林夏发表情了哈哈" | GROUP_REPLY, engagement+0 |
|
||||
|
||||
**右滑 Round 3**(室友A 问"你最近怎么样"后):
|
||||
- 右滑 → 林夏:"挺好的~你请客我去!" → 室友们欢呼
|
||||
- 左滑 → 林夏:"还行。" → 室友B:"你是不是有事啊?没事可以跟我们说" → **关心**
|
||||
- 下滑 → [沉默] → 对话自然结束
|
||||
|
||||
---
|
||||
|
||||
### MSG-08 未知号码 · 电话(悬疑)
|
||||
|
||||
**类型**:来电
|
||||
**接听后**:只有呼吸声,6 秒后自动挂断。然后心跳音效。
|
||||
**无选择**——悬疑钩子。
|
||||
**不接** → 未接来电,号码显示"未知"。
|
||||
|
||||
---
|
||||
|
||||
### MSG-09 小美(醉)· 语音
|
||||
|
||||
**BGM 切换为悬疑风格**
|
||||
|
||||
**Round 1**(4 段醉酒语音,断断续续):
|
||||
- "林夏……我跟你说个事"
|
||||
- "阿哲那个人……大三的时候追过我"
|
||||
- "但我没答应他……因为我知道你喜欢他"
|
||||
- "我到现在都没跟你说……对不起"
|
||||
|
||||
| 方向 | 林夏说 | 小美反应 | 效果 |
|
||||
|------|----------------------------|-----------------------------------------------|-------------------|
|
||||
| 右滑 | "小美……你没事吧。" | "我没事……我就是喝多了想告诉你……你别怪我。" [哭] | engagement+2 |
|
||||
| 左滑 | "我知道了。" | [沉默 3 秒] → 小美撤回了刚才的语音 | avoidance+1 |
|
||||
| 上滑 | "你……为什么现在才说。" | "因为你今天……我怕你以后恨我……" → **深入** | engagement+2 |
|
||||
| 下滑 | [沉默] | [10 秒后] 小美撤回了刚才的语音 | avoidance+2, nostalgia+1 |
|
||||
| 单击 | "嗯。" | "你不生气吗?" [等 3 秒] "算了……当我没说" | nostalgia+1 |
|
||||
|
||||
**上滑 Round 3**(小美说"怕你恨我"后):
|
||||
- 右滑 → 林夏:"我不恨你。" → 小美 [大哭]:"谢谢你……谢谢你林夏"
|
||||
- 左滑 → 林夏:"我得想想。" → 小美:"好……对不起" → 对话结束
|
||||
- 下滑 → [沉默] → 小美:"你还在吗?" → [长沉默] → 小美撤回
|
||||
|
||||
---
|
||||
|
||||
### MSG-10 妈妈 · 文字消息
|
||||
|
||||
**Round 1**:消息到达提示音。短暂停顿后,TTS 朗读三个字——"睡了吗?"
|
||||
|
||||
| 方向 | 林夏说 | 妈妈反应 | 效果 |
|
||||
|------|----------------------------|----------------------------------------------|--------------------|
|
||||
| 右滑 | "没有,怎么了?" | 妈妈发语音:"没事,就是想起来问一下。今天怎么样?" | MOM_LINK, engagement+2 |
|
||||
| 左滑 | "嗯,要睡了。" | 妈妈发文字:"好,早点睡。"(TTS) | MOM_LINK, avoidance+1 |
|
||||
| 上滑 | "妈……你能打电话给我吗?" | [电话铃响] 妈妈打来了!→ 接听后妈妈说"怎么了夏夏?" | MOM_LINK, engagement+3 |
|
||||
| 下滑 | [不回复] | [30 秒后] 妈妈发文字:"看到了回一下。"(TTS) | avoidance+2 |
|
||||
| 单击 | "嗯。" | 妈妈发文字:"嗯就是睡了?晚安。"(TTS) | MOM_LINK |
|
||||
|
||||
**上滑路径**(妈妈打来电话后):
|
||||
这是一通真正的电话。妈妈说"怎么了夏夏?你声音不对。"
|
||||
- 右滑 → 林夏:"没什么……就是有点累。" → 妈妈:"累了就回家歇几天。妈煮了排骨。"
|
||||
- 上滑 → 林夏:"妈,我辞职了。" → 妈妈 [沉默 2 秒]:"辞了就辞了。回来再说。"
|
||||
- 下滑 → [沉默,只有呼吸] → 妈妈:"不想说就不说。妈在这呢。"
|
||||
|
||||
**右滑路径**(妈妈问"今天怎么样"后):
|
||||
- 右滑 → 林夏:"还好。" → 妈妈:"那就好。别太晚了。"
|
||||
- 上滑 → 林夏:"不太好。" → 妈妈:"怎么了?" → [可继续展开]
|
||||
|
||||
---
|
||||
|
||||
### MSG-11 阿哲 · 电话(关键分支)
|
||||
|
||||
**类型**:来电
|
||||
**Round 1**(接听后):阿哲说"那个……AirPods 的事,我能过去拿吗?就 5 分钟。"
|
||||
|
||||
| 方向 | 林夏说 | 阿哲反应 | 效果 |
|
||||
|------|-------------------------|------------------------------------------|-----------------|
|
||||
| 右滑 | "可以。但只有 5 分钟。" | "好,我马上过来。谢谢。" → [挂断] | HE_BACK=true |
|
||||
| 左滑 | "不方便。我明天寄给你。" | "好吧……那谢了。" → [挂断] | HE_BACK=false |
|
||||
| 上滑 | "为什么非要今天来?" | "我……明天要出差。" [停顿] "就 5 分钟。" | 继续选择 |
|
||||
| 下滑 | [沉默 → 挂断音] | [电话断了] | HE_BACK=false |
|
||||
| 单击 | "不了。" | "好。" → [挂断] | HE_BACK=false |
|
||||
|
||||
**如果 HE_BACK=true** → 消息 12 之前插入门铃声 + 敲门声
|
||||
|
||||
---
|
||||
|
||||
### MSG-12 周南 · 微信语音
|
||||
|
||||
**Round 1**:周南说"林夏,是我,周南。初三坐你后桌那个。好久没联系了,今天突然想到你。"
|
||||
|
||||
| 方向 | 林夏说 | 周南反应 | 效果 |
|
||||
|------|----------------------------|--------------------------------------------------|---------------------|
|
||||
| 右滑 | "周南!你还记得我啊!" | "当然记得。你是我们班最安静的那个。" [轻笑] | ZHOUNAN_DEPTH+1, engagement+2 |
|
||||
| 左滑 | "嗯,你好。" | "嗯……好久不见。你现在在哪呢?" | ZHOUNAN_DEPTH+1, nostalgia+1 |
|
||||
| 上滑 | "你怎么有我微信的?" | "你忘了吗?毕业那天你加的我。不过你可能早忘了哈哈。" | ZHOUNAN_DEPTH+1, nostalgia+2 |
|
||||
| 下滑 | [沉默] | "你是不是不记得我了?没关系的。就是突然想说声嗨。" | nostalgia+1 |
|
||||
| 单击 | "嗯……好久不见。" | "是啊,好久不见。" | ZHOUNAN_DEPTH+1 |
|
||||
|
||||
---
|
||||
|
||||
### MSG-13 周南 · 长语音 ×4
|
||||
|
||||
**BGM 切换为周南主题**
|
||||
|
||||
**Round 1**(四段语音,讲他的十年):
|
||||
- "高考那年我没考好,去复读了"
|
||||
- "后来上了个二本,学了个不喜欢的专业"
|
||||
- "毕业回了老家,在我爸店里帮忙"
|
||||
- "今年刚来北京出差……今天是我生日"
|
||||
|
||||
| 方向 | 林夏说 | 周南反应 | 效果 |
|
||||
|------|---------------------------|--------------------------------------------------|----------------------|
|
||||
| 右滑 | "一个人在北京,还好吗?" | "还行吧。习惯了。你呢?你在北京过得好吗?" | ZHOUNAN_DEPTH+1, engagement+2 |
|
||||
| 左滑 | "你讲了好多。" | "是吗?不好意思,话太多了。" [轻笑] | ZHOUNAN_DEPTH+1, nostalgia+1 |
|
||||
| 上滑 | "……生日快乐。" | [沉默 2 秒] "谢谢你。你是今天第一个跟我说的。" | ZHOUNAN_DEPTH+1, ZHOUNAN_SHARE, nostalgia+2 |
|
||||
| 下滑 | [沉默] | "不好意思突然说这么多……那,晚安。" | avoidance+1 |
|
||||
| 单击 | "嗯,我都听到了。" | "嗯。谢谢你听我说。" | ZHOUNAN_DEPTH+1 |
|
||||
|
||||
**右滑 Round 3**(周南问"你在北京过得好吗"后):
|
||||
- 右滑 → 林夏:"不太好。今天也是我的坏日子。" → 周南:"那我们算是难兄难妹了。" [轻笑] → **ZHOUNAN_SHARE**
|
||||
- 左滑 → 林夏:"还行吧。" → 周南:"那就好。"
|
||||
- 上滑 → 林夏:"你为什么突然联系我?" → 周南:"因为……今天生日嘛,想起以前的事。想起你。"
|
||||
|
||||
---
|
||||
|
||||
### MSG-14 妈妈 · 第二次电话
|
||||
|
||||
**类型**:来电
|
||||
**Round 1**:妈妈说"夏夏,你不接电话我有点担心。你还好吗?"
|
||||
|
||||
接听后 → 林夏自动说"嗯,我没事。"
|
||||
妈妈:"真的没事?" → 短暂停顿
|
||||
- 如果之前 MOM_LINK=true:"好。那早点睡。妈爱你。"
|
||||
- 如果之前 MOM_LINK=false:"你今天怎么都不理妈妈?出什么事了吗?" → 玩家可选择
|
||||
|
||||
**状态**:接听 → MOM_LINK=true
|
||||
|
||||
---
|
||||
|
||||
### MSG-15 时光胶囊 · 系统通知
|
||||
|
||||
**特殊消息**:系统提示音 + "3 年前的今晚,你给自己录过一段备忘录。"
|
||||
- 单击播放 → 根据玩家画像播放不同版本 → SELF_RECORD=true
|
||||
- 双击跳过 → avoidance+2
|
||||
|
||||
*无选择交互。这条消息是独白时刻。*
|
||||
|
||||
---
|
||||
|
||||
### MSG-16 妈妈 · 长语音(结局前奏)
|
||||
|
||||
**条件**:MOM_LINK=true 时播放
|
||||
**8 段语音**:妈妈讲她 24 岁那年的故事——1995 年在广州被辞退、被甩、外婆每天打电话问"吃了吗"。
|
||||
|
||||
*无选择交互。这是全游戏最长的独白,让玩家安静听完。*
|
||||
|
||||
播放结束 → 触发结局判定。
|
||||
|
||||
|
||||
## 六、情感反馈系统
|
||||
|
||||
### 环境音随情感变化
|
||||
|
||||
游戏底层跑着环境音轨。根据玩家的累计 profile 分数,环境音逐渐变化:
|
||||
|
||||
| 倾向 | 环境音特征 | 过渡时机 |
|
||||
|------------|-------------------------------|-----------------|
|
||||
| engagement | 柔和雨声、远处隐约的音乐、温暖感 | 每 3 条消息检查 |
|
||||
| avoidance | 安静、时钟滴答、偶尔远处车声 | 每 3 条消息检查 |
|
||||
| nostalgia | 梦幻混响、远处风铃、slightly reverb | 每 3 条消息检查 |
|
||||
|
||||
### 对话节奏随情感变化
|
||||
|
||||
| 玩家倾向 | 消息间隔 | 说明 |
|
||||
|-------------|-----------|--------------------------|
|
||||
| 多次温暖/追问 | 较短(1.5s)| 夜晚感觉充实,消息来得快 |
|
||||
| 多次冷淡/沉默 | 较长(3-4s)| 空虚感,等待的时间更长 |
|
||||
|
||||
|
||||
## 七、结局系统(不变,但感受更强)
|
||||
|
||||
5 个结局的触发条件保持不变。但因为整个游戏中玩家做了大量有感知的选择,到达结局时会更有"是我导致了这个结局"的感觉。
|
||||
|
||||
| 结局 | 条件 | 描述 |
|
||||
|-----|---------------------------|-------------|
|
||||
| A | MOM_LINK + SELF_RECORD | 明天再说 |
|
||||
| B | HE_BACK=false + ZHOUNAN≥1 | 寄出 |
|
||||
| C | 全部已读 + 回复≤2 | 今晚就这样 |
|
||||
| D | UNREAD≥8 | 早上好 |
|
||||
| E | ZHOUNAN≥2 + SHARE + profile | 好 |
|
||||
|
||||
|
||||
## 八、音频资产需求清单
|
||||
|
||||
### 林夏语音
|
||||
| 类别 | 数量 | 平均时长 | 总时长 |
|
||||
|--------------|---------|---------|------------|
|
||||
| 通用短句 | 10 条 | 1s | ~10s |
|
||||
| 消息专属台词 | ~45 条 | 2s | ~90s |
|
||||
| **合计** | **~55 条** | | **~100s** |
|
||||
|
||||
### NPC 反应语音(Round 2 & 3)
|
||||
| 角色 | 条数 | 总时长估算 |
|
||||
|---------|---------|----------|
|
||||
| 小美 | 10 条 | ~40s |
|
||||
| 阿哲 | 8 条 | ~30s |
|
||||
| 王姐 | 3 条 | ~10s |
|
||||
| 安安 | 5 条 | ~15s |
|
||||
| 寝室群 | 8 条 | ~30s |
|
||||
| 妈妈 | 10 条 | ~40s |
|
||||
| 周南 | 10 条 | ~40s |
|
||||
| **合计** | **~54 条** | **~205s** |
|
||||
|
||||
### 总计新增音频
|
||||
- 林夏 ~55 条,~100 秒
|
||||
- NPC 反应 ~54 条,~205 秒
|
||||
- **总计约 109 条语音,约 5 分钟录制量**
|
||||
|
||||
### UI 音效(合成,无需录制)
|
||||
保持现有合成音效方案:notify, choiceReady, choiceWarm, choiceCold, choiceCurious, choiceSilent, skip, next, ending。
|
||||
新增:
|
||||
- `typing`:打字/录音音效(1-2 秒,合成或使用现有 sfx_keyboard)
|
||||
- `send`:发送音效(极短,合成)
|
||||
|
||||
|
||||
## 九、技术实现概要
|
||||
|
||||
### 新状态机
|
||||
|
||||
```
|
||||
idle → notification/ringing → playing → choosing → responding → reacting → [choosing | idle]
|
||||
```
|
||||
|
||||
新增两个状态:
|
||||
- **responding**:林夏说话中(播放林夏语音 + 打字/发送音效)
|
||||
- **reacting**:NPC 反应播放中
|
||||
|
||||
### 数据结构变更
|
||||
|
||||
```javascript
|
||||
// 每条消息的 choices 结构
|
||||
choices: {
|
||||
right: {
|
||||
linxia: 'audio/linxia/msg02_warm.mp3', // 林夏的回应
|
||||
npcReact: ['audio/xiaomei/msg02_react_warm.mp3'], // NPC 的反应
|
||||
state: { ... },
|
||||
profile: { engagement: 2 },
|
||||
followUp: { // 可选:Round 3 继续对话
|
||||
audio: ['audio/xiaomei/msg02_followup.mp3'],
|
||||
choices: { ... } // 递归结构
|
||||
}
|
||||
},
|
||||
left: { ... },
|
||||
up: { ... },
|
||||
down: { ... },
|
||||
tap: { ... },
|
||||
}
|
||||
```
|
||||
|
||||
### 对话流程伪代码
|
||||
|
||||
```javascript
|
||||
async _handleChoice(dir) {
|
||||
const choice = this.currentMsg.choices[dir];
|
||||
|
||||
// 1. 播放情感音效
|
||||
SFX_UI[emotionSfx[dir]]();
|
||||
|
||||
// 2. 打字/发送音效
|
||||
this.state = 'responding';
|
||||
await Snd.playFXAsync('typing', 1000);
|
||||
Snd.playFXOnce('send');
|
||||
|
||||
// 3. 播放林夏的回应
|
||||
if (choice.linxia) {
|
||||
await Snd.playVoiceAsync([choice.linxia]);
|
||||
} else {
|
||||
await sleep(1500); // 沉默
|
||||
}
|
||||
|
||||
// 4. 播放 NPC 反应
|
||||
if (choice.npcReact) {
|
||||
this.state = 'reacting';
|
||||
await Snd.playVoiceAsync(choice.npcReact);
|
||||
}
|
||||
|
||||
// 5. 如果有后续对话
|
||||
if (choice.followUp) {
|
||||
this.currentMsg = choice.followUp;
|
||||
this.state = 'playing';
|
||||
await Snd.playVoiceAsync(choice.followUp.audio);
|
||||
if (choice.followUp.choices) {
|
||||
this.state = 'choosing';
|
||||
return; // 等待下一次选择
|
||||
}
|
||||
}
|
||||
|
||||
// 6. 推进到下一条
|
||||
this._proceedToNext();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## 十、总结
|
||||
|
||||
| 维度 | 旧版 | 新版 |
|
||||
|-----------|--------------------|---------------------------------|
|
||||
| 林夏的存在感 | 隐形 | 有声音、有性格、有情绪变化 |
|
||||
| 选择的感受 | 四个方向一样 | 听到完全不同的对话和反应 |
|
||||
| 对话深度 | 单轮 | 2-3 轮,追问路径可获独家信息 |
|
||||
| 情感反馈 | 无 | 环境音变化 + 对话节奏变化 |
|
||||
| 新增录音量 | — | ~5 分钟(109 条短语音) |
|
||||
| 交互复杂度 | 不变 | 6 种手势,含义一致 |
|
||||
Reference in New Issue
Block a user