- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1行为树分析
游戏中自主角色的行为建模技术研究
摘要:
为了满足玩家的需求,现代视频游戏中NPC(非玩家角色)行为的复杂性急剧增加。针对传统行为控制技术面临复杂行为设计时所表现出来的局限性,行为树作为一个新方法已在某些大型视频游戏中被采用。针对目前所亟待解决的一系列问题,通过对比研究几种流行的行为建模技术,给出了一种更具通用性的基于行为树的行为建模方法,并通过实例验证了该方法的可行性。
关键字:行为树;行为控制;行为建模;游戏人工智能
0 引言
为计算机游戏设计智能的NPC行为是一项艰巨的任务,也是目前AI应用领域所面临的一个挑战。对视频游戏的开发商而言开发具有智能行为的游戏角色变得越来越重要,因为这样能够牢牢地吸引玩家的注意力,从而延长这款游戏的生命周期。因此,目前已有各种技术和方法被游戏开发者所采用,为的就是实现逼真的人工智能,给玩家带来更丰富的游戏体验。然而目前的现实是,游戏中的角色行为往往过于单调乏味,无法应对动态变化的游戏环境,在诸多情况下NPC的行为很容易被玩家所猜测到,从而令玩家丧失继续游戏的兴趣。
究其原因是因为现今计算机游戏中的大多数NPC利用FSM(有限状态机)的设计来应对游戏中的事件。就像Jeff Orkin在2006年GDC(游戏开发者大会)指出的一样[1]:“如果我问台下的听众,要你们投票选出现今应用于游戏中的最普遍的AI技术,那么其中得票最高的答案将会是FSMs”。显然该方法的局限性在于,它无法以一种简单的方式设计复杂的多级智能NPC行为,另一方面由于基于硬编码的行为逻辑,从而也无法在动态的游戏环境中产生合理的交互式角色行为。
为了满足玩家的需求,现代游戏中NPC行为的复杂性急剧提高。因此需要更加灵活的方法用来开发游戏中NPC的行为,以适应现代游戏的复杂性。本文接下来将会讨论现今游戏中行为建模和控制所亟需解决的一系列问题,以及讨论目前各种主流技术在解决这些问题所做的相关工作,随后我们给出了一个更具有通用性的基于行为树的行为建模与控制方法,并通过实例研究验证了该方法的可行性。
1 问题描述及已有的行为建模与控制技术
我们认为游戏需要提供一种AI体系结构上的支持,来实现对复杂角色行为的直接创建、重用和执行期控制。为此,总结了目前行为系统应该支持的5种特性。
交互性,能应对环境的动态改变,并迅速做出恰当的反应;
可中断性,运行中的行为应该可以被其他行为或者事件中断,也应该能自行中断;
可恢复性,被中断的行为可以恢复以继续执行,且如果需要应该能从被中断点恢复;
协作性,多个智能体可以相互协作;
可创作性,非程序员能容易的创建行为。
行为的交互性意味着,NPC应根据环境的动态变化选择合适的行为,这意味着行为应该表现出某种程度的动态性,而不是完全依据事先定义好的方式执行。我们把第一种行为称作非确定性行为,而后一种叫做预定义行为。对行为交互性不同程度的支持往往带来AI系统在体系结构上的较大变化。
行为的中断-恢复性表明NPC在某种程度上对执行的行为有一定的记忆和组织规划能力。它需要鉴别那些行为比较急迫,哪些行为可以延缓,还需要对被打断行为的执行情况进行了解,并且当一个行为需要等待事件和资源时能够主动挂起自己。对该特性的支持往往需要在行为执行期的控制机制上加以解决。
行为协作性则要求多个NPC的行为能够联合起来完成一件事情。这样智能体就需要了解该行为是否是协作行为,并能在协作过程中出现突发状况时能进行重新规划,以及当协作失败时能够以合理的方式退出。协作行为还应该利用与中断-恢复行为之间潜在的交互性。当一个协作行为在协作过程中等待它的合作者时,应该能使处于等待中的协作者有机会挂起自己的等待任务,转而执行其它的行为,并且当合作者做出回应的时候又能恢复原来的行为。对于协作行为不仅需要在行为控制机制上提供支持,例如:同步机制,消息机制,而且在行为设计上也应该支持以简单的方式描述两个或多个协作者应该具有的行为。
可创作性说明NPC的行为不应该只能由程序员实现,更主要的是让非程序员,例如:游戏的设计人员,能够以一种简单的方式把自己的知识赋予自主角色。这一特性是实现大规模复杂行为的内在要求。为了获得该特性,通常需要行为系统是可扩展性的和模块化的。此外,为了能使设计师方便的定义行为,还应该能够很好的支持可视化的行为设计工具。
2 已有技术分析及其相关工作
在人工智能和Agent研究的领域中,把具有完全非确定性行为的智能体称作基于推理的智能体,而基于纯预定义行为实现的智能体叫做基于电路的智能体。这两种智能体的实现方式分别代表了智能体设计中陈述性和过程性的两种极端。Stuart Russell[2]的观点是单独的两种方法都不充分,提倡实现混合体系结构的智能体。Funge则基于情景演算,结合目标导向行为和预定义行为建立了自主角色认知
文档评论(0)