版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MMORPG游戏的人工智能(AI )和行为树设计文 / alchemistli 什么是 MMORPG 的 AI ?玩MMORPG的地球人都知道,MMORPG的AI实在是弱智 的要死。即 使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都 像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战斗AI O尽管有很多人把动画,或者自动寻路之类的功能也叫做AI ,但是我们并不讨论这种基本功能。我们讨论的AI是指,可以使得NPC好像一个真人一样活动的AI O拥有这样AI的NPC看起来就不再是那个只有血条和攻击力的模 型,而给玩家的感受会是一个有信念、欲望和意图的生命。从更广泛的意义 上说
2、,如果整个游戏世界是高AI ”的,那么这个游戏世界会充满着自由度。这意味着玩家可以在游戏中创造”出前所未有的武器、科技甚至会 有能力改变整个游戏世界外貌和文明。如果真正出现这样款MMORPG ,那 么赢得粉丝们的惊声尖叫应该并不意外。品管中心孕育中的项目“失落的大陆”目前就正在向这个方 向努力中,希望能够取得一定水准的突破。个典型的AI系统包括,感知,导航和决策三个字系统。对于游戏来说,感知系统是可以“作弊”的,不需要NPC去“感知”世界,系统可以直接告诉NPC世界是怎样的。而导航系统,不属于今天的讨论范围。而决策系统才是让NPC看起来可以有自己的意图和信念,所以我们接下来主要讨论决策系统。A
3、I决策系统的常见模型AI决策系统往往是这样写的:switch (自己) case 血量充足": 打怪();break;case 快死了 "补血 0 ; break: case 死了戏全局->Ganieover() ; break: 复制代码件的提高, 以分给AI执行的CPU时间越来越长,老板们可随着硬对AI的要求自然也提高了,比如说老板可能会想出这样的策略:血量80的时候用魔法补一补就行了,血量60的时候吃个小血瓶,血量40的时候吃大血瓶,血量20的时候赶快逃跑。于是AI程序员就需要找到上面这个switch ,然后修改里头的case。想象一下,万一碰到了一个Dota高
4、手当老 板,心中有着各种很NB的杀敌策略,需要随时根据环境状态判断利用哪 种策略。当策略越来越多,很快,一个带有上 万行代码的函数就横空出世 7!如果这个时候遇到bug 了,甭说修复了,仅仅是阅读这个函数就恐怕 就得呕吐了。毫无疑问,上面的方法在遇到大量的状态的时候会让代码崩溃,不过经过无 数前辈前仆后继用各种切身努力,帮我们提出了一种又一种精简代码的手 段。目前常见的AI模型包括FSM (有限状态机,包括HFSM分层有限状态机)和Behavior央”switch-case来说,FSM编程与人类思维相似从而便于梳理,更加灵 活。当每种状态被封装之后,就不会再有一个“中函数来控制所有 的逻辑,每
5、个状态只要管好它自己就好了。这样复杂的决策系统就被切分两个子系统,不同状态以及状态之间的转化。切分后的这两个子系统的复杂度与原系统比都大大简化,从而使得代码变得可以维护。FSM在相当多的游戏中被应用,甚至Unreal Engine的脚本语言是直接支持状态编程的。当游戏中的NPC决策并不太复杂时候,FSM是非常有效的。比如Half-Life这款游戏,里面的AI被业界称赞了很久,而其中的AI就是通过FSM来实现的。们接下来通过一个简单的例子来认识一下FSMo比如个AI文字表述如下:1)平时的状态是巡逻2)如果遇到敌人之后打量一下敌人3)如果敌人比自己弱小,那就打攻击4)如果敌人比自己强大,那就跑逃
6、跑那么这个可以很自然的转换成FSM ,然后进行编程实现带边框的节点表示状态,而箭头上的条件表示状态切换的条件。虽然FSM简洁,和人的直觉思维相近,但是FSM也是有缺点的:A)由于我们所能做的仅是编辑从一状态到另一状态的转换,而无法做出更高层次的模式功能,所以会导致我们发现自己总是在构建相似的行为,这会花费我们大部分时间。B)使用FSM实现目标导向的行为需要做很多工作。这是一个大问题,因为大部分有针对性的AI需要处理长远目标。C) FSM难以并发。当并行运行多个状态机,要么死锁,要么我们通过手工编辑来确保它们在某个程度上能够兼容。D)大规模支持较差,即使是分层的有限状态机,也难以大规模扩展。它们
7、往往是在其中夹杂一大块逻辑代码,而非行为编辑模块化。E)用FSM实现任何设计都需要做大量工作,需要花费设计师的大量时间(并非编程时间),甚至最终这还会成行为中的bugs的来源。行为树(Behavior Tree) 行为树是在Next-Gen AI中提出的模型, 虽说是Next-Gen Al ,但距其原型提出己有约10年时间。其中 Spore (抱子),Crysis (孤岛危机)2, Red Dead Redemption野大镖客:救赎)等就是用行为树作为它们的AI模型。而越来越多的引擎也都开始直接支持行为树,比如Cry Engine,Havok 等。对于用行为树定模型构造的AI系统来说,每次执
8、行AI时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。行为树常见的基本类型节点有5种(当然也可以扩展更多类型):1)顺序节点(Sequence):属于组合节点,顺序执行子节点,只要 碰到一个子节点返回false,则停止继续执行,并返回false,否则返回true,类似于程序中的逻辑与。2)选择节点(Selector):属于组合节点,顺序执行子节点,只要碰到一个子节点返回true,则停止继续执行,并返回true,否则返回false,类似于程序中的逻辑或。3)平行节点(ParallelNode):提供了平行的概念,无论
9、子节点返回值是什么都会 遍历所有子节点。所以不需要像哪个Ch订d Node应摆前,哪个应摆后。Selector/Sequence 那样预判Parallel Node 增加方便性的同时,也增加实现和维护复杂度。4)条件节点5)执(Condition):属于叶子节点,判断条件是否成立。行节点(Action):属于叶子节点,执行动作,一般返回true接下来我们看一个行为树构造的AI ,这个AI的逻辑文字表 述为,一个NPC在晚上需要执行巡逻任务。而且如果天下雨的话,户外的人是需要打伞的。程序大概流程如下1)次处理接先处理Basic_AI节点,由于该节点是并行节点,所以将会依 下来两个子树,无论第一个
10、子树的返回值是什么。2)对于打伞节点,由于该节点是顺序节点,所以会依次处 理其子节点,但是如果某个子节点返回false,那么该节点执行停止执行,并且返回false。因此执行打伞动作会不会执行取决于在它前面的两个条件是否返回true3)执行完大伞节点后,接下来必然会执行守夜节点,而守夜节点是选择节点,所以要 么会执行夜里巡逻,要么会执行休息节点。夜里巡逻会不会这姓自然取决于条件节点是晚上吗的返回值行为树模型看似简单,但是以下几个优点让行为树目前变成了复杂AI的主流模型A)静态性越复杂的功能越需要简单的基础,否则最后连自己都玩不过来。即使系统需要Halo3带来方便。B)直观性行为树可以方便地把复杂
11、的AI知识条目组织得非常直观。默认的组合节点处理子节某些动态性,也应该尽量使用静态的行为树来表示。相对于Halo2对BT AI的一个改进就是去除了一些的动态性。原则就是保持全部Node静态,只是根据事件和环境来检查是否启用Node。静态性直接带来的好处就是整棵树的规 划无需再运行时动态调整,大大方便设计人员和编程人员, 并且大大减少诡异的bug,同时这也为很多优化和预编辑都点的迭代方式就像是处理一个预设优先策略队列,也非常符合人类的正常思考模式:先最优再次优。此外,行为树编辑器对优秀的程序员来说也是唾手可得。C)复用性各种节点,包括叶子节点,可复用性都极高。D)扩展性可以容易地为项目量身定做新的组合节点或修饰节点。还可 以积累一个项目 相关的节点库,长远来说非常有价值。小结 在浏览过行为树
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血液学检验试题+答案
- 心血管内科测试题含答案
- 建设工程安全生产管理测试题含答案
- 会展产品合同范例
- 借用模具合同范例
- 2025年重庆货运从业资格证模拟考试0题答案解析
- 会投资合同范例
- 挖机租赁合同范例全部
- 房屋烫顶合同范例
- 新车销售购车合同范例
- 【同课异构】一场“瞒天过海”的骗局-《皇帝的新装》
- 境外投资合同范本2024年
- 《建筑施工工艺》 课件 第五章 钢筋混凝土结构施工
- 2024年北师大版数学八年级上册知识点总结
- 《新时代公民道德建设实施纲要》、《新时代爱国主义教育实施纲要》知识竞赛试题库55题(含答案)
- 混凝土搅拌站规划设计方案
- DL∕T 5210.4-2018 电力建设施工质量验收规程 第4部分:热工仪表及控制装置
- 2024至2030年中国再生资源回收利用行业市场深度分析及行业发展趋势报告
- 水利水电工程单元工程施工质量验收评定表及填表说明
- HG-T 2006-2022 热固性和热塑性粉末涂料
- 全球及中国羽绒服行业现状分析
评论
0/150
提交评论