论文部分内容阅读
游戏行业在国内外发展的速度很快,年产值已经超过影视娱乐行业。游戏人工智能开始变得和图形、声效一样成了游戏设计中十分重要的部分。特别是在FPS游戏中,如果智能的非玩家角色NPC(包括敌方单位,我方单位以及中立单位)在游戏环境中获取信息,感知周围环境的变化,并做出合理的决策和响应,和玩家协作或者对抗,能极大的提升玩家的体验。传统的FPS游戏中会有多个智能体NPC存在于游戏场景中,但是它们往往是单独行动,没有智能体间的合作,不符合实际的情况。另外,在传统FPS游戏中玩家Player只是一个参与者,而非指挥者。基于以往的键盘或者摇杆的人机交互方式,玩家很难像真实环境中那样通过语音或者动作指令指挥虚拟队友在游戏场景中进行战斗,也很难控制玩家的替身在游戏场景中移动。本文针对多虚拟角色的FPS游戏中的多智能体决策模型展开研究,通过建立新的多智能体AI模型,支持游戏中虚拟角色之间以及与玩家之间的配合协作及交互控制。论文主要的研究工作和研究成果包括:(1)设计并实现了一套状态驱动的多智能体层级决策模型。该模型使用了层级AI架构设计,将多智能体进行层级组织。在每一层上都可以使用有限状态机的方法进行自主的行为选择。信息收集的过程自下而上,简单有效,而决策自上而下,方便集中控制。上一层决策,通过改变下一层单位的状态来执行。(2)设计了一套满足语义的玩家语音和动作指令解译和执行方法。指令处理过程分为指令合成、指令包装、指令消息传递、指令翻译和指令执行五个环节。论文研究工作针对每个环节中所碰到的问题都提出并实现了相应的解决方案。(3)在以上工作的基础上,提出了一套支持指令控制的多智能体层级决策模型。该模型支持经过解译的玩家指令经由分队Team层流向单兵,最终通过切换单兵状态的方式,实现对于虚拟角色的实时指令控制,使得指令控制和多智能体层级决策模型在架构上的达到统一。(4)设计并实现了易于复用和扩展的智能体初始化方法。结合Unity3D游戏引擎的特性,设计实现了使用XML配置文件的方法来初始化每一层智能组织的脚本控制组件以及每一层的有限状态机。该方法支持通过改变XML配置文件中的脚本控制组件的配置,扩展出新的智能单位。该方法支持通过改变XML配置文件中的有限状态机的配置,扩展出智能体新的决策策略。该方法使得脚本控制组件和有限状态机中的状态在最大程度上得到了复用。(5)通过在游戏中的实验和应用测试,验证了支持指令控制的层级多智能体决策模型的有效性。实验结果显示,决策模型能正确合理的驱动多个虚拟角色,表现出一定的智能体之间的合作,同时指令控制准确无误。整体AI运行稳定,CPU时间耗用低于16%。