一个走廊场景足够说明问题。玩家第一次走到走廊尽头的拐角,一只怪物从侧面扑出来,心跳飙到顶点。第二次走到另一处拐角,又是如此。到第三个拐角,他已经把手电关掉,贴着墙,提前半秒后退,手指放在冲刺键上。怪物出现,只是完成了他的预测。
问题不在怪物不够凶,而在触发点是固定的。固定触发点是关卡设计师熟悉的工具:在某块地板上放一个体积触发器,玩家踩上去,脚本运行。PA真人AI恐怖游戏方向关心的,是把“在哪里出事”这个决定,从关卡里的一块地板,挪到一个能观察玩家的系统里。
预期一旦形成,恐惧就会退化
恐惧依赖不确定:玩家知道危险存在,却不知道它何时、从哪里、以什么形式到来。规律被摸清,不确定就消失了。所以自适应恐怖要回答的不是“怎样让怪物更强”,而是“怎样让事件不可预测,却依旧公平”。折中的办法,是让事件的发生条件与玩家此刻的状态相关,而不是与地图上的某个坐标相关。
导演需要看到什么
导演要做判断,就必须有输入。下表是研究组设想的一组信号,全部来自游戏内可以合法获取的行为数据,数值阈值均为示例参数,实际要在测试中标定。
| 信号 | 怎样读取 | 可能说明什么 |
|---|---|---|
| 路线重复度 | 近5分钟内经过相同导航区块的比例 | 高于60%(示例)说明玩家在沿熟路走 |
| 转镜速度 | 视角角速度突变与来回扫视次数 | 频繁快速扫视表示警觉 |
| 停顿与回头 | 在门口、拐角的停留时长;原地转身次数 | 犹豫行为,是“已经预期”的重要线索 |
| 手电与麦克风 | 手电开关频率;玩家授权后的音量突变 | 关手电藏身、屏息不动是高紧张表现 |
| 安全区停留 | 在存档点或安全房间的累计时间 | 可能是恢复,也可能是逃避,需结合资源判断 |
这些信号单独看都不可靠,导演读的是一段时间里的组合与变化,并与该玩家自己的基线比较。麦克风的做法见玩家戴着麦克风玩恐怖游戏以后,声音能不能成为AI判断紧张程度的数据,那里强调声音只作辅助信号,处理应留在本地。
怎样判断“玩家已经预期”
预期度是导演最重要的中间量。直观的做法,是给每一类事件维护一个“被玩家学会的程度”:“拐角伏击”被触发过几次,每次玩家是否在触发前做出了规避动作,比如后退、转身、扔物试探。规避出现得越早越稳定,学会的程度就越高。
预期度E的粗略估计:E = 0.4×同类事件已遇次数(归一化)+ 0.3×提前规避比例 + 0.2×路线重复度 + 0.1×停顿密度。E超过0.7时,同类事件冷却翻倍,导演倾向换一种形式或选择沉默。权重与阈值只为说明思路,需要用真实试玩数据反复标定。
选择策略:从事件库里挑,而不是即兴创造怪物
让大语言模型即兴写一段恐怖情节,在延迟、可控性与一致性上都是坏主意:怪物要与关卡、动画、音效、碰撞对得上,模型写出的东西游戏里未必做得出来。PA真人研究组倾向的结构是:设计师先写好事件库,每个事件带着前提条件、张力代价(示例:轻惊吓2点、追逐6点)、可用形式和冷却时间,导演只在授权范围内挑选。
{
"event": "door_slam_behind",
"zone_tags": ["corridor", "indoor"],
"tension_cost": 2,
"forms": ["audio_only", "object_shift"],
"preconditions": { "player_hp_min": 30, "light_on": false },
"cooldown_sec": 90,
"learned_by_player_threshold": 0.7
}
张力预算的意思是:导演手上有一个可支出的额度,事件消耗它,沉默与安静会缓慢补充它。预算见底就不能再出事,预算充裕而预期度又低,才考虑高代价事件。这与恐怖事件越来越智能以后怎样避免堆刺激造成玩家疲劳直接相关,导演只追求惊吓率,很快会把玩家的感官耗尽。
两个经典参照
《求生之路》(2008年发售)的AI导演,会根据每位玩家当前的处境、状态、技能和位置,动态安排敌人与物品的数量与位置,并借助音乐和视觉线索制造节奏起伏;此前一个简单得多的版本已被用在《半条命2:第二章》的关键战斗里。
《异形:隔离》(2014年)采用双层结构:导演AI全知,知道玩家在哪,却不把精确位置直接告诉异形;异形靠行为树和脚步、枪声、动态探测器等真实感知去搜索。导演还维护一个威胁量表,过高时让异形退去,给玩家喘息。异形看似“在学习”,其实很多行为是随流程逐步解锁的,那是一种进化的错觉,并非在线机器学习。
两个例子给出一个不太时髦的结论:节奏与紧张度靠可控的规则、曲线与预算就能做得很好,生成式模型更适合台词与环境叙事这类细节层。怪物路线的学习属于另一个问题,见怪物AI怎样学习玩家最常使用的逃跑路线:它解决“怪去哪找”,导演解决“此刻该不该出现”。
一条走廊的分步推演
回到开头那条走廊。以下是一次示例推演,所有数字均为示例参数。
- 玩家第三次进入相似的长走廊。导演读到:近5分钟路线重复度72%,拐角前平均停顿1.8秒,手电已关闭,血量55%。
- 查询预期度:“拐角伏击”已触发2次,玩家两次都提前后退,学会程度0.81,超过阈值,暂时封存。
- 张力预算此刻7点。候选有“身后关门声”(代价2)、“天花板异响”(代价2)、“远处追逐脚步”(代价5)。
- 玩家资源不宽裕,追逐过重,被排除;导演选定“身后关门声”,形式设为仅音频。
- 玩家在拐角前如约停顿,什么都没有发生,导演推迟事件。他松一口气快步前行,十几米后,身后传来门砸上的声音。他回头,只看到空走廊。
- 导演记录:玩家回头扫视三次后加速离开,判定有效紧张,预算扣2点,90秒内不再出同类事件。
这里没有怪物出场,紧张度却比“拐角必吓”更高,因为玩家的预测落空了两次。
边界:假线索与安全区,做到哪一步为止
导演最诱人的能力,是利用玩家的预期反向做文章:制造看起来很像危险的假线索,或者在习以为常的安全区里发生一点不对劲的小事。这些手法可以用,但有底线。
- 假线索要有可回想的因果。地上拖出的血迹之后要有一具尸体,或至少有被搬走的痕迹。整个线索链没有任何后续,玩家会认定自己被系统耍了。
- 安全区只能缓慢侵蚀。存档点是玩家管理自己压力的依据,真有怪物闯入,玩家会失去所有调节手段。稳妥的做法是允许出现“不对劲”的暗示,比如物件位移,而实体袭击不发生在被明确标记的安全区。
- 调节要能被玩家理解。学界研究自适应难度时也指出,动态调节不透明会让玩家觉得不公平。游戏可以提供导演强度选项,或在结算时回看“这一局导演做了什么”。
目前没有解决的问题是:玩家状态的估计再准也只是估计,不同人对同一事件的感受差异很大,最终仍要靠试玩校准。这也是PA真人研究组把导演系统定位成“设计师的调度工具”,而不是自动化恐怖生成器的原因,导演的每次决定都要写进日志,事后可回放,可被设计师推翻。关于“沉默本身如何成为一种事件”,可以接着读真正让玩家紧张的为什么可能不是怪物出现,而是AI知道什么时候让怪物不出现。更多设计笔记收在PA真人AI恐怖游戏栏目里。