一个人独自玩恐怖游戏,走到走廊尽头,手放在门把上,屏幕外传来一声很轻的吸气。对游戏来说,这一声吸气和窗外的摩托车声一样,都只是缓冲区里的一段波形。问题是,波形里有没有值得读取的东西,读到什么程度才不算越界。
先划清界线:听形状,不听内容
把语音识别的转写结果交给恐怖导演,是最容易想到、也最不该做的方案。转写意味着游戏要理解玩家在说什么,意味着原始音频要离开设备,还意味着玩家一句无心的闲话可能被留存。恐怖游戏想要的其实只是“此刻紧不紧张”,这个判断用不着词语。
PA真人游戏世界智能研究组在设计这类输入时,把可提取的量限定为下面几类,全部是与内容无关的声学特征:
- 音量突变:相邻几十毫秒内的能量陡增,对应惊叫、爆粗口或撞到桌子;
- 惊呼的短促程度:一次发声持续多久,从起音到衰减的形状;
- 沉默时长:玩家已经多久没有发出任何声音,长时间屏息在恐怖游戏里本身就是信号;
- 呼吸类节律:只在安静环境下可靠,且个体差异很大,只作弱信号;
- 是否有交谈:只判断有没有多人声、是否连续,不判断说了什么。
有队友在旁边的时候,玩家的恐惧会被稀释,笑声与吐槽会替玩家释放压力;这时仍按独自游玩的标准加码,往往用力过猛。
处理链路:数字出来,音频留下
合理的做法是把整条处理放在设备本地,音频缓冲区只存在于一个很短的环形队列里,特征提取完就覆盖。游戏主逻辑拿到的只是一份每秒更新一两次的小结构,下面是一个示意(字段与数值均为示例):
VoiceFeatures {
loudness_db_rel: +9.5 // 相对个人基线的偏移,不是绝对分贝
onset_sharpness: 0.82 // 起音陡峭程度,0-1
silence_sec: 47 // 距上次发声的秒数
multi_speaker: false // 是否检测到多人声
confidence: 0.4 // 环境嘈杂时自动降低
}
三条底线需要写进产品设计而不是写进说明书:第一,明确授权,默认关闭,在设置里能一键停用,停用以后游戏体验不应变差,只是少了一路输入;第二,不上传、不保存原始音频,只在一局内存放聚合值;第三,界面上要有明显的“正在使用麦克风”提示,玩家看得见才谈得上信任。PA真人的研究框架里把这三条视为进入设计评审的前提,而不是可选项。
没有个人基线,数字没有意义
同样是55分贝的一声“哇”,对一个平时话很多的玩家是日常,对一个平时全程一言不发的玩家就是极端事件。绝对音量几乎没有价值,必须相对于每个人自己的基线来读。
基线怎么建?一种做法是在开局前的安全区里做一小段自然的校准:不需要玩家念台词,只是在教程阶段记录他普通的环境底噪和说话音量范围。之后每个特征都表示成“相对基线偏离了多少”。基线还要缓慢漂移,因为房间噪声、麦克风与距离都会变。示例参数:基线用较长的滑动窗口(比如几分钟)更新,瞬时事件只用最近几秒判断,两者的时间尺度必须错开,否则一声惊叫会把自己的基线一起拉高。
融合:声音只是投票者之一
单靠麦克风判断紧张程度,会在很多场合翻车。更稳妥的办法是让它与游戏内行为一起作为证据,交给导演系统权衡。关于导演系统需要读取哪些行为信号,可以参考走廊场景里的导演系统拆解,这里只说声音在其中的位置。
| 信号 | 来源 | 单独使用的问题 | 与声音互相印证的情形 |
|---|---|---|---|
| 音量突变 | 麦克风 | 可能是现实里的干扰 | 同时出现急停、转镜 |
| 沉默时长 | 麦克风 | 玩家可能只是不爱说话 | 与手电频繁开关、原地徘徊同现 |
| 转镜速度 | 输入设备 | 手感差异大 | 惊呼后转镜骤然加快 |
| 安全区停留 | 游戏内 | 可能在整理背包 | 沉默且长时间停留 |
融合方式不必复杂。用加权的证据分而不是硬规则:每路信号给出“紧张倾向”的强弱与置信度,置信度低的一路(比如环境噪声很大时的麦克风)自动降权。示例:当麦克风置信度低于0.3,它对总分的贡献直接归零,导演只看行为信号。关闭麦克风的玩家走的是同一套逻辑,只是证据少了一路。
它会在哪些地方出错
先说最常见的三种误判。第一,环境噪声:窗外施工、空调、家人说话,都可能被当成惊叫。第二,直播与录像场景:主播本来就在对观众说话,声音全程处于高位,基线一开始就是错的,这类情况需要检测“持续多人声且能量长时间偏高”,然后干脆退出声音判断。第三,玩家本人有意“表演”:有些玩家在游戏里会故意大叫,这时声音反映的是表演而不是恐惧。
还有一个更隐蔽的问题:玩家一旦发现“我一叫,怪物就不来了”,就可能学会控制声音去操纵导演。这里目前没有公认的好办法,能做的是让声音只影响“时机的微调”,而不是“事件的有无”。
下一步可以观察什么
在评估上,可以做对照测试:同一批玩家分别开启和关闭声音输入,比较他们对节奏的主观评价,以及暂停和退出行为,而不是拿“惊叫次数变多”当成成功。关于加码之后玩家会怎样,可以接着读恐怖事件的疲劳问题。另一个方向是把声音信号与怪物对玩家路线的学习放在同一个感知层里,但要格外注意公平:怪物可以“听到”玩家在游戏里发出的声响,却不应该借助现实里的真实声音去“作弊”。更多恐怖设计的讨论可以在PA真人AI恐怖游戏栏目看到。