在这本书中有大量的算法和技术。读者很容易迷失其中,所以从全局着眼去了解各个部分是如何组合在一起的十分重要。
为了有所帮助,我使用了一个统一的结构来讨论游戏中使用的AI。这不是唯一可选的模型,也不是唯一贴合本书中技术的模型。但是为了使讨论更清楚,我将展示每种技术如何适用于制作游戏 AI 角色的通用结构。
下图描述了这个通用模型。它将人工智能任务分成三个部分:运动、决策和策略。前两个部分包含基于字符的算法,最后一个部分针对某一团队或某一方进行操作。围绕着这三个AI元素的是一套完整的附加基础设施。
并不是所有的游戏应用程序都需要全部三个组件的AI:
一方面,棋盘游戏,如象棋或冒险只需要战略层面,游戏中的 AI 玩家不需要自己做决定,也不需要担心如何移动棋子或角色。
另一方面,在许多游戏中根本没有策略。平台游戏中的 NPC 角色,比如《超级马里奥兄弟》(Super Mario Bros),是纯粹的反应型游戏,他们自己做出简单的决定并根据这些决定行事。AI逻辑并没有协同这些敌人角色来让他们将阻挠玩家的任务做到最好。
一、运动
移动是指将决策转化为某种运动的算法。在《超级马里奥·阳光》游戏中,当一个没有投射攻击的敌人角色需要攻