自动生成行为树代码的方法及系统技术方案

技术编号:15840060 阅读:212 留言:0更新日期:2017-07-18 16:41
本发明专利技术提供了一种自动生成行为树代码的方法及系统,包括:步骤1:定义需要用到的行为树节点;步骤2:配置人工智能数据,具体地,根据步骤1中定义的行为树节点组成人工智能的行为树;步骤3:加载人工智能配置文件,按照数据文本描述的各种节点以及节点之间的关系依次组建可运行的行为树代码;步骤4:重复步骤3进行编译,遍历结束后,返回创建的整套行为树代码。本发明专利技术根据lua数据文本自动生成lua代码,减少了大量代码的编写工作,让行为树的生成过程更加简单易懂。从而能够更加有效地实现游戏中的人工智能行为,加快游戏开发进度,便于代码的升级和维护。

Method and system for automatically generating behavior tree codes

The present invention provides a method and system for automatic generation of behavior tree code includes: Step 1: define the need to use the behavior tree node; step 2: configuration of artificial intelligence data, specifically, according to the 1 steps defined in the behavior of the tree node composition of artificial intelligent behavior tree; step 3: artificial intelligence loading configuration according to the relationship between the data file, a text description of the various nodes and nodes are set up operational behavior tree code; step 4: repeat step 3 to compile, search is terminated, create a set of behavior tree code returns. The invention automatically generates Lua code according to the Lua data text, reduces the preparation of a large amount of codes, and makes the generation process of the behavior tree more simple and easy to understand. Thus, the artificial intelligence behavior in the game can be realized more effectively, the game development schedule can be accelerated, and the code upgrade and maintenance can be conveniently carried out.

【技术实现步骤摘要】
自动生成行为树代码的方法及系统
本专利技术涉及游戏
,具体地,涉及自动生成行为树代码的方法及系统。
技术介绍
为了便于实现游戏中的人工智能行为,很多游戏里面采用行为树作为人工智能的解决方案。如何描述行为树有很多种方法,例如直接编写代码去描述行为树。直接编写行为树代码的方式不方便进行维护,且不能清晰的显示人工智能的逻辑。经检索,申请号为:201480033537.6,名称为:自动源代码生成,提出了从包括变量代码元素和方法的简档中自动生成源代码语句。简档从具有已标识的变量代码元素的现有代码基构建,已标识的变量代码元素在被用于源代码语句的不同版本中时不同。开发者可定义变量代码元素的值,其接着被简档中的方法用于自动生成对应的源代码语句。申请号为:201110391484.3,名称为:代码自动生成方法及装置,提出了一种代码自动生成方法及装置,该方法包括:获取通过用户界面输入的待生成代码的代码配置信息,根据获取的所述代码配置信息得到表结构信息;根据确定的代码类型和选择的操作类型,提取相应的代码模板;将所述表结构信息以及用户配置的配置信息填充到提取的所述代码模板中,得到所述待生成代码。可以自动生成各种不同类型的代码,具有普遍适用性。上述专利申请针对源代码的自动生成,但是不能用来描述游戏中的人工智能行为,目前还未检索到关于行为树代码的自动生成技术。为此,本发现提供了一种用数据和文本描述行为树的方法和系统,可以根据数据文本自动生成行为树代码。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种自动生成行为树代码的方法及系统。根据本专利技术提供的自动生成行为树代码的方法,包括如下步骤:步骤1:定义需要用到的行为树节点;步骤2:配置人工智能数据,具体地,利用步骤1中定义的行为树节点组装成具有人工智能的行为树;步骤3:加载步骤2的人工智能配置数据,按照数据描述的各种节点以及节点之间的组装关系组建成能够运行的行为树代码;步骤4:重复步骤3,依次遍历配置数据中的所有节点以及节点之间的组装关系,直到遍历完所有配置数据,遍历完所有配置数据后,返回创建的整套行为树代码;其中,遍历是指按照配置数据的顺序依次读取配置数据。优选地,所述步骤1包括:由于每个行为树节点都有一个列表用于存储孩子节点,每个行为树节点都有一个位置描述,所述位置描述表示在兄弟节点里面该行为树节点所处的顺序;其中,行为树节点是指能够按照特定逻辑运行的一套代码;行为树节点能够相互嵌套,即一个行为树节点能够嵌套若干个不同的行为树节点,形成层级关系;孩子节点是指:嵌套在行为树节点上的下一层级的行为树节点,相对于上层行为树节点,下一层的行为树节点被称为孩子节点;兄弟节点是指:属于同一层级的行为树节点,该同一层级的行为树节点互为兄弟节点;具体地,所述行为树节点包括:顺序节点、选择节点、条件节点、动作节点;所述顺序节点是指:按照顺序依次执行,一旦某一个节点执行失败则返回结果;所述选择节点是指:按照顺序依次执行,一旦某一个节点执行成功则返回;所述条件节点是指:用来判断条件是否符合的节点;所述动作节点是指:执行具体业务逻辑的节点。优选地,所述步骤2中配置人工智能数据是指用不同的行为树节点进行组合的文本描述,其中的人工智能数据由多个行为树节点组成,组成方式包括嵌套和顺序组合。根据本专利技术提供的自动生成行为树代码的系统,包括如下模块:定义模块:用于定义需要用到的行为树节点;配置模块:用于配置人工智能数据,具体地,根据定义的行为树节点组成人工智能的行为树;行为树代码组建模块:用于加载人工智能配置文件,按照数据文本描述的各种节点以及节点之间的关系依次组建可运行的行为树代码;遍历模块:用于对所有配置数据进行遍历,遍历结束后,返回创建的整套行为树代码。优选地,所述定义模块中由于每个行为树节点都有一个列表用于存储孩子节点,每个行为树节点都有一个位置描述,所述位置描述表示在兄弟节点里面该行为树节点所处的顺序;其中,行为树节点是指能够按照特定逻辑运行的一套代码;行为树节点能够相互嵌套,即一个行为树节点能够嵌套若干个不同的行为树节点,形成层级关系;孩子节点是指:嵌套在行为树节点上的下一层级的行为树节点,相对于上层行为树节点,下一层的行为树节点被称为孩子节点;兄弟节点是指:属于同一层级的行为树节点,该同一层级的行为树节点互为兄弟节点;具体地,所述行为树节点包括:顺序节点、选择节点、条件节点、动作节点;所述顺序节点是指:按照顺序依次执行,一旦某一个节点执行失败则返回结果;所述选择节点是指:按照顺序依次执行,一旦某一个节点执行成功则返回;所述条件节点是指:用来判断条件是否符合的节点;所述动作节点是指:执行具体业务逻辑的节点。优选地,所述配置模块中配置人工智能数据是指用不同的行为树节点进行组合的文本描述,其中的人工智能数据由多个行为树节点组成,组成方式包括嵌套和顺序组合。与现有技术相比,本专利技术具有如下的有益效果:本专利技术提供的自动生成行为树代码的方法及系统,根据lua数据文本自动生成lua代码,减少了大量代码的编写工作,让行为树的生成过程更加简单易懂。从而能够更加有效地实现游戏中的人工智能行为,加快游戏开发进度,便于代码的升级和维护。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术提供的自动生成行为树代码的方法的流程图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。根据本专利技术提供的自动生成行为树代码的方法,包括如下步骤:步骤1:定义需要用到的行为树节点;每个行为树节点都有一个列表存储孩子节点,每个行为树节点都有一个位置描述,所述位置描述表示在兄弟节点里面该行为树节点所处的顺序;其中,行为树节点是指可以按照特定逻辑运行的一套代码,行为树节点可以嵌套,即一个行为树节点可以嵌套若干个其他节点,运行若干个其他节点代码,形成层级关系;孩子节点是指:嵌套在其他节点的行为树节点,相对于上层节点,下面一层的节点称为孩子节点。兄弟节点是指:相对于同一层级的节点,互相称为兄弟节点。所述行为树节点包括:顺序节点(按照子节点顺序依次执行,一旦某一个节点执行失败则返回结果);选择节点(按照子节点顺序依次执行,一旦某一个节点执行成功则返回),条件节点(专门用来判断条件是否符合的节点),动作节点(执行具体业务逻辑的节点)步骤2:配置人工智能数据用步骤1中定义的几种行为树节点组成人工智能的行为树。其中配置是指用不同的行为树节点进行组合的文本描述。其中的数据由多个行为树节点组成,组成方式包括嵌套和顺序组合。步骤3:加载人工智能配置文件,按照数据文本描述的各种节点以及节点之间的关系依次组建可运行的行为树代码,重复这个步骤进行编译,遍历结束后,返回创建的整套代码。任何应用行为树技术的方案,都可以采用这种方法进行自动代码的生成技术。所以任何应用行为树技术的实例都可以用到。本专利技术还提供了一种自动生成行为树代码的系统,包括如下模块:定义模块:用于定义需要用到的行为树节点;配本文档来自技高网...
自动生成行为树代码的方法及系统

【技术保护点】
一种自动生成行为树代码的方法,其特征在于,包括如下步骤:步骤1:定义需要用到的行为树节点;步骤2:配置人工智能数据,具体地,利用步骤1中定义的行为树节点组装成具有人工智能的行为树;步骤3:加载步骤2的人工智能配置数据,按照数据描述的各种节点以及节点之间的组装关系组建成能够运行的行为树代码;步骤4:重复步骤3,依次遍历配置数据中的所有节点以及节点之间的组装关系,直到遍历完所有配置数据,遍历完所有配置数据后,返回创建的整套行为树代码;其中,遍历是指按照配置数据的顺序依次读取配置数据。

【技术特征摘要】
1.一种自动生成行为树代码的方法,其特征在于,包括如下步骤:步骤1:定义需要用到的行为树节点;步骤2:配置人工智能数据,具体地,利用步骤1中定义的行为树节点组装成具有人工智能的行为树;步骤3:加载步骤2的人工智能配置数据,按照数据描述的各种节点以及节点之间的组装关系组建成能够运行的行为树代码;步骤4:重复步骤3,依次遍历配置数据中的所有节点以及节点之间的组装关系,直到遍历完所有配置数据,遍历完所有配置数据后,返回创建的整套行为树代码;其中,遍历是指按照配置数据的顺序依次读取配置数据。2.根据权利要求1所述的自动生成行为树代码的方法,其特征在于,所述步骤1包括:由于每个行为树节点都有一个列表用于存储孩子节点,每个行为树节点都有一个位置描述,所述位置描述表示在兄弟节点里面该行为树节点所处的顺序;其中,行为树节点是指能够按照特定逻辑运行的一套代码;行为树节点能够相互嵌套,即一个行为树节点能够嵌套若干个不同的行为树节点,形成层级关系;孩子节点是指:嵌套在行为树节点上的下一层级的行为树节点,相对于上层行为树节点,下一层的行为树节点被称为孩子节点;兄弟节点是指:属于同一层级的行为树节点,该同一层级的行为树节点互为兄弟节点;具体地,所述行为树节点包括:顺序节点、选择节点、条件节点、动作节点;所述顺序节点是指:按照顺序依次执行,一旦某一个节点执行失败则返回结果;所述选择节点是指:按照顺序依次执行,一旦某一个节点执行成功则返回;所述条件节点是指:用来判断条件是否符合的节点;所述动作节点是指:执行具体业务逻辑的节点。3.根据权利要求1所述的自动生成行为树代码的方法,其特征在于,所述步骤2中配置人工智能数据是指用不同的行为树节点进行组合的文本描述,其中的人工智...

【专利技术属性】
技术研发人员:刘斌程伟马吉峰林水香
申请(专利权)人:上海时年信息科技有限公司
类型:发明
国别省市:上海,31

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

1