AI设计:如何给动作游戏的敌人设计人工智能?

2015年08月11日 13:10 0 点赞 0 评论 更新于 2025-11-21 16:14

游戏中的AI可简单理解为计算机控制的智能角色,这些智能角色能够依据周遭环境或事件的变化进行逻辑判断,进而与玩家产生特定的行为交互。

AI由三个基本元素组成,分别是AI的基本逻辑、AI的基本能力和AI的基本属性。

1、AI的基本逻辑

a. 感知(Perception)

感知指的是AI在所处环境或世界中,侦测周遭环境或事件变化的能力,这种能力由游戏设计者决定并赋予。例如在潜行游戏里,敌人的视野范围为其前方90度角的扇形区域。若游戏设定该AI仅具备视野这一唯一的感知能力,那么只有当玩家进入敌人视野时才会被发现。即便玩家在AI周围大声开枪、用枪抵住AI,甚至开枪打伤它,AI也无法感知到玩家近在咫尺。因此,游戏设计者需要全面考量游戏中AI应侦测的内容,赋予AI完善且生动的感知能力。

b. 行动(Action)

行动是指AI自主决定执行一系列行为,游戏设计者通过设定一系列规则和逻辑次序来控制这些AI的行动。例如在《魔兽世界》(WOW)中,有个NPC白天会守在熄灭的火堆前来回巡逻,夜晚降临时则会去点燃火堆并静静坐着。若游戏设计者想打造一个热闹的城市,可以设计多种不同的AI角色,有的沿着街道从一处跑到另一处,有的小贩站在原地吆喝,甚至可以让两个NPC在行走过程中相遇并交谈。一个拥有丰富AI角色的游戏世界,能让玩家更易融入其中。

c. 反应(Reaction)

反应是指AI在感知到玩家行为所引发的刺激信息时触发的行为。比如在《求生之路》(Left 4 Dead)里的Hunter,探测到玩家位置后会伺机从远距离扑向玩家。若玩家朝Hunter开枪,它会尝试使用天花板跳、三级跳等技能躲避射击;若玩家不射击,它则会直接从远距离扑过来。这种反应也可称为怪物攻击策略,有趣且生动的AI反应能让玩家感受到挑战的乐趣。

大多数游戏AI若能实现上述三点,基本就能满足游戏设计者的需求。

d. 学习(Learning)

较为复杂的游戏AI会记录玩家的行为变化。例如策略游戏的AI可能会根据玩家的策略变化,持续分析玩家的行为,从而做出更复杂的决策,如选择与玩家结盟,或联合其他国家攻击玩家;许多国外RPG游戏中的NPC会依据玩家在游戏中的善恶表现,对玩家展现出截然不同的态度;在射击游戏中,若玩家驾驶坦克,AI使用步枪,两者遭遇时,AI一开始用步枪攻击,发现无效后会去寻找反坦克导弹来摧毁坦克。

高级AI的学习需要随时记录玩家的行为变化,并将这些信息放入专门的分析系统中逐一分析,以得出最有利于自身的反应。具备学习能力的AI相当聪明,但更出色的游戏设计者需要设计一个完善的分析系统,该系统通常用于控制游戏难度。当玩家多次尝试失败后,高级AI会分析出玩家的优缺点,例如玩家射击能力较差,AI便会略微降低自身的移动反应速度,让玩家更容易击中自己。

明确基本逻辑后,我们就可以构建逻辑流程,设计出不同的逻辑类型。例如在《魔兽世界》中,石像鬼和亡灵的生命值(HP)和攻击力相同,但AI逻辑仅有两处不同:

  • 石像鬼:原地石化 -> 侦查 -> 进攻 -> 逃跑 -> 死亡
  • 亡灵:四处巡逻 -> 侦查 -> 进攻 -> 逃跑 -> 死亡

2、AI的基本能力

作为游戏AI设计者,首先要分析并归纳出所设计游戏中AI的基本能力,明确这些基本能力有助于游戏设计者更便捷地制作更多有趣的AI。

大多数游戏中AI的能力大致可分为以下几种:

  • 检测潜在威胁,确认对方身份(敌人还是朋友)
  • 确认威胁级别(专注于威胁最大的目标)
  • 与敌对者交战(战斗技能)
  • 特殊行为(根据游戏需要特意设计的AI行为)

我们可以将这些基本能力作为可调整的嵌入参数,以获得更多类型的AI。例如,10级的石像鬼和5级的精英石像鬼生命值和攻击力相同,但AI能力有两处不同:

  • 石像鬼:侦查 -> 进攻 -> 逃跑 -> 死亡
  • 精英石像鬼:侦查 -> 横扫技能 -> 进攻 -> 逃跑 -> 死亡

也就是说,我们可以保证基本逻辑流程一致,即编写一套基本的AI逻辑:侦查 -> 进攻 -> 逃跑 -> 死亡,在其中嵌入多样化的能力,从而实现AI类型的多样化。

3、AI的基本属性

设计好AI的基本属性至关重要。

大多数游戏中AI的基本属性大致可分为:

  • 身份(阵营)
  • 战斗参数(生命值、攻击力、防御力)
  • 交互范围(追击距离、仇恨侦测距离、攻击交互距离)
  • 侵略性(攻击技能使用频率)
  • 仇恨(主要攻击目标查找)

游戏设计者可以通过调整基本属性设计出“个性”各异的AI。例如在《魔兽世界》中,若要塑造一个凶猛的兽兵,其属性可能是血厚、攻击力高、防御力低、速度快;若要塑造一个坚毅的人兵,属性则可能是血中等、攻击力中等、防御力高、速度缓慢。两者的不同仅体现在外形、动画、生命值和攻击力上,但AI逻辑完全相同,均为简单的侦查 -> 进攻 -> 逃跑 -> 死亡。

如何利用以上基本元素设计游戏中的AI?

第一步:定义游戏中AI的基本挑战

单个的AI挑战往往需要与关卡设计的挑战相结合,形成一个基本的挑战模式(Challenge Pattern)。在游戏设计者拿到怪物详细概念设计之前,必须明确本款游戏中最重要的游戏挑战所在,即玩家玩游戏的乐趣是什么,以及所设计的游戏AI会出现在游戏的哪个部分,扮演何种角色。例如在《超级马里奥》中,玩家需要通过跳跃躲避怪物的直接接触(一碰即死),或准确跳到怪物头上消灭怪物。游戏中最简单的怪物AI表现为在两点之间匀速来回巡逻,这可成为一个基本的挑战模式。越往后的关卡,怪物AI会更复杂,比如有的怪物会使用技能主动攻击玩家,玩家既要躲避怪物的直接接触,又要躲避怪物发出的攻击子弹,这就构成了难度更高的挑战模式。

第二步:设计挑战中的AI基本能力和基本属性

同样以《超级马里奥》为例,怪物的基本能力、基本属性和挑战模式相互关联。通过多样化的能力和属性组合,我们可以获得更多样化的挑战。

第三步:设计AI的逻辑图

这一步通常由游戏设计师和游戏程序员共同商讨完成。若游戏设计师能提供一个结构清晰的游戏AI运行流程,将有助于程序员更好地理解游戏中怪物的行为,有时可能还需要设计者亲自参与AI的制作。如下图是一个简单的RPG游戏中怪物的AI运行流程,也可称为AI逻辑转换结构图。

AI的状态也可理解为程序员常说的状态机。AI会在一个状态下完成指定行为,当指定条件达成时,AI会从一个状态转换到另一个状态,如上图绿色方框所示,包括出生、待命、战斗判定、技能、追击等。

AI的逻辑即AI状态之间来回转换的条件,如上图灰色菱形所示,包括出生状态是否完成、是否巡逻、玩家是否在仇恨范围内等。

第四步:测试游戏中的AI

没有人能保证自己的设计从一开始就是完美的,作为游戏设计者,要时常以玩家的心态去不断测试和体验自己的设计。

作者信息

洞悉

洞悉

共发布了 3994 篇文章