行为树的执行优化方法、装置及存储介质制造方法及图纸

技术编号:21816830 阅读:25 留言:0更新日期:2019-08-10 13:21
本发明专利技术实施例提供一种行为树的执行优化方法、装置及存储介质,方法包括:读取一初始行为树执行文件,获取初始行为树执行文件相应的行为树中的控制节点函数,行为树包括控制节点函数和行为节点函数,分析控制节点函数,得到行为节点函数的执行顺序,并根据行为节点函数的执行顺序,重新构建行为树执行文件,重新构建后的行为树执行文件相应的行为树中包含全部行为节点函数,重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于初始行为树执行文件相应的行为树中包含的控制节点函数的个数,根据重新构建后的行为树执行文件执行行为树,从而减少行为树在控制跳转上的执行时间,降低处理器资源开销。

Execution optimization method, device and storage medium of behavior tree

【技术实现步骤摘要】
行为树的执行优化方法、装置及存储介质
本专利技术实施例涉及游戏人工智能(ArtificialIntelligence,简称:AI),尤其涉及一种行为树的执行优化方法、装置及存储介质。
技术介绍
为了玩家创造引人入胜的体验,游戏AI几乎存在于游戏中的每个角落,构建出一个个令人神往的庞大游戏世界。因此,设计良好的游戏AI,可以增加游戏的交互性,提高玩家的真实感和黏性。游戏AI的实现方式很多,从一开始的基于规则的固化代码实现,到基于状态的有限状态自动机,再到现在主流的基于行为树,不断开放和简化的逻辑让策划人员也可以积极参与到游戏AI的编写中来。具体地,行为树包括大量的树节点,程序人员通过实现一个个树节点,提供了各项基础的节点函数,其中节点函数包括控制节点函数和行为节点函数。策划人员通过组合这些树节点,让游戏单位可以针对周围的游戏环境,做出合适的行为反应。一方面,为了防止客户端作弊,行为树通常运行在服务端;另一方面,为了玩家反馈及时,行为树中节点函数又被高频率地调用;再一方面,行为树中存在大量的节点函数,这些特性都意味着基于行为树的游戏AI实现会带来大量的处理器资源开销。
技术实现思路
本专利技术实施例提供一种行为树的执行优化方法、装置及存储介质,以减少服务端运行行为树带来的处理器资源开销。第一方面,本专利技术实施例提供一种行为树的执行优化方法,包括:读取一初始行为树执行文件,获取所述初始行为树执行文件相应的行为树中的控制节点函数,所述行为树包括控制节点函数和行为节点函数;分析所述控制节点函数,得到所述行为节点函数的执行顺序;根据所述行为节点函数的执行顺序,重新构建所述行为树执行文件,所述重新构建后的行为树执行文件中包含全部所述行为节点函数,所述重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于所述初始行为树执行文件相应的行为树中包含的控制节点函数的个数;根据所述重新构建后的行为树执行文件执行所述行为树。第二方面,本专利技术实施例提供一种行为树的执行优化装置,包括:获取模块,用于读取一初始行为树执行文件,获取所述初始行为树执行文件相应的行为树中的控制节点函数,所述行为树包括控制节点函数和行为节点函数;分析模块,用于分析所述控制节点函数,得到所述行为节点函数的执行顺序;构建模块,用于根据所述行为节点函数的执行顺序,重新构建所述行为树执行文件,所述重新构建后的行为树执行文件中包含全部所述行为节点函数,所述重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于所述初始行为树执行文件相应的行为树中包含的控制节点函数的个数;执行模块,用于根据所述重新构建后的行为树执行文件执行所述行为树。第三方面,本专利技术实施例提供一种行为树的执行优化装置,包括:用于存储程序指令的存储器和处理器;当所述程序指令被所述处理器执行时,使得所述行为树的执行优化装置实现如第一方面中任一项所述的方法。第四方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法。本专利技术实施例提供一种行为树的执行优化方法、装置及存储介质,首先读取一初始行为树执行文件,获取初始行为树执行文件相应的行为树中的控制节点函数,该行为树包括控制节点函数和行为节点函数,之后,分析控制节点函数,得到行为节点函数的执行顺序,并根据行为节点函数的执行顺序,重新构建行为树执行文件,其中,重新构建后的行为树执行文件相应的行为树中包含全部行为节点函数,重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于初始行为树执行文件相应的行为树中包含的控制节点函数的个数,根据重新构建后的行为树执行文件执行行为树。由于重新构建后的行为树执行文件相应的行为树中包含的控制节点函数少于初始行为树执行文件相应的行为树中包含的控制节点函数的个数,去除了至少部分控制节点函数的执行,从而减少行为树在控制跳转上的执行时间,降低处理器资源开销。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的行为树的执行优化方法的流程图;图2为一个游戏中的猎人AI行为树示例图;图3为图2所示猎人AI行为树在优化后的跳转示意图;图4为包含有特殊控制节点的行为树示例图;图5为本专利技术一实施例提供的优化率相对展开率的分布示例图;图6为本专利技术一实施例提供的行为树的执行优化装置的结构示意图;图7为本专利技术另一实施例提供的行为树的执行优化装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,本专利技术实施例各部分及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术下述实施例所涉及的方法流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按照所描述的顺序执行。例如,有些步骤还可以分解,而有些步骤可以合并或部分合并,因此,实际执行的顺序可根据实际情况改变。本专利技术下述实施例所涉及的方框图中的功能模块仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或者不同网络和/或处理器和/或微控制器中实现这些功能实体。为解决基于行为树的游戏AI实现会带来大量的处理器资源开销的技术问题,本专利技术实施例提供了一种基于控制节点展开的行为树的执行优化方案,通过对行为树中控制节点函数的分析,得到每一个行为节点函数执行成功或者失败之后下一个需要执行的行为节点函数,从而跳过控制节点函数,直接构建出一条从头执行到尾的行为链。该构建过程可以看成是控制节点函数的展开,因为重新构建成功后行为树中将只剩下真正需要执行的行为节点函数,或,需要执行的行为节点函数和少量控制节点函数。如下结合多个实例对本专利技术实施例提供的行为树的执行优化方法、装置及存储介质进行说明。图1为本专利技术一实施例提供的行为树的执行优化方法的流程图。该行为树的执行优化方法可由服务端或终端的处理设备,例如处理器,执行相应的软件代码实现,也可由该服务端或终端的处理设备执行相应的软件代码,并结合其他硬件实体实现。其中,服务端例如是服务器,终端例如是手机、平板等可运行单机游戏的设备。其中,服务器可以是一台服务器,或者由若本文档来自技高网...

【技术保护点】
1.一种行为树的执行优化方法,其特征在于,包括:读取一初始行为树执行文件,获取所述初始行为树执行文件相应的行为树中的控制节点函数,所述行为树包括控制节点函数和行为节点函数;分析所述控制节点函数,得到所述行为节点函数的执行顺序;根据所述行为节点函数的执行顺序,重新构建所述行为树执行文件,其中,所述重新构建后的行为树执行文件相应的行为树中包含全部所述行为节点函数,所述重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于所述初始行为树执行文件相应的行为树中包含的控制节点函数的个数;根据所述重新构建后的行为树执行文件执行所述行为树。

【技术特征摘要】
1.一种行为树的执行优化方法,其特征在于,包括:读取一初始行为树执行文件,获取所述初始行为树执行文件相应的行为树中的控制节点函数,所述行为树包括控制节点函数和行为节点函数;分析所述控制节点函数,得到所述行为节点函数的执行顺序;根据所述行为节点函数的执行顺序,重新构建所述行为树执行文件,其中,所述重新构建后的行为树执行文件相应的行为树中包含全部所述行为节点函数,所述重新构建后的行为树执行文件相应的行为树中包含的控制节点函数的个数少于所述初始行为树执行文件相应的行为树中包含的控制节点函数的个数;根据所述重新构建后的行为树执行文件执行所述行为树。2.根据权利要求1所述的方法,其特征在于,所述控制节点函数包括:涉及通用控制节点的控制节点函数。3.根据权利要求2所述的方法,其特征在于,所述通用控制节点包括以下至少一个:顺序节点、选择节点、声明成功节点、声明失败节点和声明取反节点;其中,顺序节点表示顺序执行到其对应的子节点,直至一子节点返回失败;选择节点表示顺序执行到其对应的子节点,直至一子节点返回成功;声明成功节点表示执行其对应的子节点,并返回成功;声明失败节点表示执行其对应的子节点,并返回失败;声明取反节点表示执行其对应的子节点,并将其子节点的返回值取反。4.根据权利要求2所述的方法,其特征在于,所述控制节点函数还包括涉及特殊控制节点的控制节点函数,所述重新构建后的行为树执行文件相应的行为树中还包含涉及所述特殊控制节点的控制节点函数。5.根据权利要求4所述的方法,其特征在于,所述特殊控制节点包括以下至少一个:并行节点、随机节点、乱序选择节点和单次节点;其中,并行节点表示顺序执行其对应的所有子节点;随机节点表示随机选择其对应的一个子节点执行;乱序选择节点表示乱序执行其对应的子节点,直至其中一子节点反馈成功;单次节点表示最多只执行一次子节点。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述分析所述控制节点函数,得到所述行为节点函数的执行顺序...

【专利技术属性】
技术研发人员:吕超
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1