游戏AI的综合设计
AIArtificialI
tellige
ce作为游戏的重要组成部分,对游戏的可玩性起到越来越大的作用。玩家早已不满足傻瓜似的敌人和NPC,渴望见到能像人一样思考的虚拟人物。本文首先介绍游戏常见的人工智能技术,然后综合利用各种技术设计一个较为通用的AI引擎。
有限状态机FSM:有限状态机是游戏中最常用的人工智能技术,其他技术基本都需要有限状态机的支持。有限状态机把单位的行为抽象成若干种状态,在一定的条件下状态之间可以相互转换。例如,敌人开始处于巡逻状态,当玩家靠近时,转换成追击状态,当玩家远离后,又恢复巡逻。单位的AI可以用一张状态图表示。模糊逻辑FuzzyLogic:模糊逻辑是布尔逻辑的扩展。布尔逻辑中“是”和“否”是绝对的,而模糊逻辑中会有“有点是”、“不怎么是”、“非常是”的区别。例如上例,玩家靠近巡逻状态的敌人,这种靠近就是一种模糊的概念。使用了模糊逻辑后,有时敌人认为距离3米就算靠近了,有时认为距离2米才算靠近。模糊状态机FuSM:结合模糊逻辑和有限状态机,就产生了模糊状态机。模糊状态机中,单位不是绝对的处于某种状态,而是同时处于几种状态,只是每种状态的比重不同。智能地形SmartTerrai
:智能地形是给地形赋予特殊的信息,从而用于AI寻路、伏击等战术。CS中的路径点WayPoi
t就是一种智能地形。相似的还有智能物品等。A寻路算法AStarPathFi
di
g:A算法被证明是最高效的寻路算法,在寻路中被广泛应用。A算法是对迪杰斯特拉算法的改进,详细资料网上有很多。脚本系统ScriptSystem:脚本系统应该是游戏引擎的组成部分,但也可以算作AI的一种技术。例如DOTA使用的是WarCraft的引擎,地图编辑者使用
f地图编辑器为DOTA中的各个英雄编写不同的JASS脚本,英雄们才有了一定的AI。目前最流行的脚本语言是Lua脚本,WOW就是使用Lua做脚本语言。遗传算法Ge
eticAlgorithm与神经网络NeuralNetwork:这二者属于较为高级的AI技术,都具有机器学习,进化的性质。但是,实际游戏中应用的并不多,因为游戏中的单位通常不能接收足够的学习,学习的结果也不好控制,容易出现意想不到的情况。
游戏中的AI引擎就是要综合利用上述技术,并且要与渲染、物理模拟等引擎部件配合。首先我们了解一下人类大脑的结构:
人脑脑干小脑运动区感觉、视觉、听觉、嗅觉区额叶颞叶作用呼吸、血液循环等生命中枢平衡动作各种感受高层大脑功能记忆
模拟人脑结构,设计我们的AI引擎结构:
AI物理模拟导航r