独立开发者谈如何为复古 FPS 复刻 90 年代末的敌人 AI

AI3D 发表于 4 周前 浏览 1 分类 创作分享

Agent 64 有意复刻了主机 FPS 设计中某个特定时代。你们最想从那些 90 年代末的射击游戏中保留什么?

真正让那些游戏与众不同的,是两方面因素的结合。射击手感非常独特,而且几十年来都没人再这样做过。而任务结构与推进方式也独树一帜,它们以此营造出很强的重复游玩价值。

你把敌人描述为拥有“直接来自 1997 年的前沿 AI”。那个时代的哪些行为或怪癖,对让 Agent 64 显得原汁原味至关重要?

敌人迟缓的反应和动画,给了你充足的时间移动和应对。除此之外,当时的 AI 比起我们今天仍会遇到的东西,其实差不了多少。高质量的 NPC 行为更多取决于设计师的创造力,而不是任何真正硬性的技术限制。

Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS
Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS

现代硬件让你能做出聪明得多的敌人。你是如何决定在哪些地方改进 AI,又在哪些地方有意保留老派的局限?

如果被逼入绝境,落单的角色有时会惊慌失措,并去找其他房间里的同伴求助。我把动画做得非常明显,让它们符合这类 AI 所需的经典夸张动作。

你能拆解一下 Agent 64 的敌人在底层是如何运作的吗?守卫能感知到什么,又能进入哪些不同的行为状态?

和自《Doom》以来大多数 FPS 敌人一样,Agent 64 的敌人拥有视觉和听觉。发现你之后,它们会嘲讽、攻击,或者去找队友。我不得不一定程度上限制它们的感知或集结能力,否则它们会在整张地图上互相示警。

Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS
Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS

经典 FPS 敌人往往非常易于读取。你是如何在可预测、可理解的行为,与让敌人显得聪明且反应灵敏之间取得平衡的?

很简单:我并没有试图让它们变聪明。从根本上让战斗好玩的真正诀窍,不是让敌人真的聪明,而是让它们容易读懂,同时仍保有一定程度的不可预测性。

在《GoldenEye》这类游戏里,动画是敌人个性的重要组成部分,尤其是夸张的受击反应。在 Agent 64 中,动画和 AI 行为的联系有多紧密?

显然,我无法做出像那些 Rareware 游戏一样过分花哨、细节繁复的死亡动画。所以相反,我只专注于手感,并做出更干脆利落的动画。有点像现代动作片相比老片不会过度渲染。

Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS
Solo Developer on Recreating the Late-'90s Console Shooter Enemy AI for an FPS

更高难度会添加目标并扩展任务,而不是简单提高敌人生命值或伤害。敌人的行为如何让这些更难的版本感觉不同?

敌人会作出反应,并且在你拥有某些目标时,有时会改变自己的目标。根据难度和目标不同,它们会优先处理不同目标,有时甚至会改变阵营。

作为单人开发者,你构建了哪些工具或系统,来高效地在整个战役中创建巡逻、遭遇战和不同的 AI 配置?

这就是我的独家秘方,也就是我编写状态机并处理它们的方式。游戏使用 Unity 制作,但大部分逻辑代码完全是自定义的;没有使用任何第三方插件。

在复刻了这种风格的敌人 AI 之后,你认为现代 FPS 开发者能从 90 年代末射击游戏处理敌人的方式中学到什么?

始终给玩家一些预警。始终在造成伤害之前给玩家反应机会。哪怕这个机会非常短暂。完成一个关卡应当始终有可能、并且让人感觉有可能做到不受任何伤害。

Replicant D6,Agent 64: Spies Never Die 的游戏开发者

采访由 David Jagneaux 进行

相关链接

原文链接:https://80.lv/articles/solo-developer-on-recreating-the-late-90s-console-shooter-enemy-ai-for-an-fps

喜欢这篇内容吗?