原书来自:异步社区
翻译by曾小健
第4章 人工智能
人工智能算法用于确定计算机控制的实体在游戏中的动作。本章介绍三种有用的游戏人工智能技术:1.用状态机改变行为2.实体在世界中移动的计算路径(寻路),3.在双人回合游戏(极小化极大和游戏树)中作出决定。本章将向读者展示如何应用这些AI技术来创建塔防游戏项目。
4.1状态机行为
对于非常简单的游戏,AI始终具有相同的行为。例如,双人兵乓中的AI只需跟踪移动中球的位置。 因为此行为在游戏中并没有改变,所以它是无状态的。但对于更复杂的游戏,AI在不同的时间点表现不同。 在吃豆人中,每个幽灵都有三种不同的行为:追逐玩家,散开(幽灵回到设置的“起始位置”),或者跑离玩家。在行为中表示这些变化的方式就是用状态机(statemachine),其中每个行为对应于一个状态。
4.1.1设计状态机
状态本身只是部分定义状态机。 同样重要的是状态机决定如何改变或在状态之间转换。此外,每个州可以有进入或退出州时发生的行为。
在为游戏角色的AI实现状态机时,首先谨慎规划不同的状态以及它们如何互连。以隐形游戏中的基本防卫角色为例。 默认情况下,守卫在预定义路径上巡逻。 如果守卫在巡逻时检测到玩家,则会开始攻击。如果在任何时间点,守卫受到致命伤害,它就会死亡。在这个例子中,守卫AI有三种不同的状态:巡逻,进攻和死亡。
接下来,读者需要为每个状态定义转换。死亡状态转换非常简单:当守卫造成致命伤害时,转换为死亡。 无论当前状态如何,都会发生此情况。 如果在巡逻状态期间发现了玩家,则守卫进入攻击状态。图4.1中的状态机图表示状态和转换的组合。
图4.1基本的隐形AI状态机
尽管这个AI是功能性的,但大多数隐形游戏中的AI角色更为复杂。 假设守卫在巡逻状态时听到可疑声音。 目前的状态机决定守卫继续巡逻。理想情况下,声音应该惊动守卫,并让守卫去搜索玩家。 调查状态可以代表这种行为。
领取专属 10元无门槛券
私享最新 技术干货