CN107943707A - 行为树的测试方法、装置和存储介质以及终端 - Google Patents
行为树的测试方法、装置和存储介质以及终端 Download PDFInfo
- Publication number
- CN107943707A CN107943707A CN201711371859.3A CN201711371859A CN107943707A CN 107943707 A CN107943707 A CN 107943707A CN 201711371859 A CN201711371859 A CN 201711371859A CN 107943707 A CN107943707 A CN 107943707A
- Authority
- CN
- China
- Prior art keywords
- behavior
- node
- tree
- behavior node
- property value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种行为树的测试方法、装置和存储介质以及终端。其中,该方法包括:接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发执行行为树;分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。本发明解决了相关技术中的行为树测试方法测试效率较低的技术问题。
Description
技术领域
本发明涉及测试领域,具体而言,涉及一种行为树的测试方法、装置和存储介质以及终端。
背景技术
行为树作为目前应用非常广泛的游戏人工智能(Artificial Intelligence,简称AI)技术,已经被广泛的应用于游戏领域,但是因为AI逻辑本身的复杂性,也导致了行为树编辑的AI的验证和测试的工作比较复杂。游戏开发和测试人员需要花费大量时间构建各种测试用例,想方设法模拟各种游戏环境,然后观察行为树AI的处理逻辑是否符合预期,来验证在各个场景下行为树AI的是否有效。而这个模拟过程需要花费大量的时间,到目前为止并没有提出一种有效的方法来加速这一过程。
目前常用的开发和测试行为树AI的最基本的步骤如下:
1.使用行为树编辑器编辑好AI并且把AI同步到服务器端,
2.模拟和设定AI其中一个分支测试需要的游戏环境,
3.触发行为树AI,
4.观察编辑的行为树AI是否符合预期。
上述步骤验证了一个行为树AI某个分支的正确性,然后重复上述步骤验证其他分支来达到验证整个行为树AI的正确性。然而一个游戏AI可能有数十个甚至上百个分支需要测试,而一个大型游戏有数千个游戏AI需要验证。这样的验证方式就需要花费大量的人力来验证游戏AI部分,而且很可能存在某些分支验证不完整的问题,影响游戏体验。更要命的是一个AI往往需要多次迭代,这就更暴露了这种方法的低效性。一个游戏开发者可能只需要花费比较少的时间来开发游戏AI,但是却需要花费数倍的时间来测试自己开发的游戏AI。
针对相关技术中的行为树测试方法测试效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种行为树的测试方法、装置和存储介质以及终端,以至少解决相关技术中的行为树测试方法测试效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种行为树的测试方法,该方法包括:接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发执行行为树;分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
进一步地,行为树的测试方法由服务器执行,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:分别记录在待执行的行为节点执行之前和执行之后的属性值;将记录结果反馈至属性集合和行为树的输入端。
进一步地,分别记录在待执行的行为节点执行之前和执行之后的属性值包括:确定待执行的行为节点的关联属性,其中,关联属性包含于属性集合;分别记录在待执行的行为节点执行之前和执行之后的关联属性的属性值。
进一步地,行为树的测试方法由测试端执行,测试端与服务器通信,接收输入的游戏实体的属性集合和行为树包括:将属性集合和行为树发送至服务器;触发执行行为树包括:接收输入的启动指令,其中,启动指令用于启动执行行为树;将启动指令发送至服务器,其中,服务器用于在接收到启动指令之后执行行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至测试端。
进一步地,在分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值之后,该方法还包括:通过显示设备显示以下信息至少之一:在执行每个行为节点之前的属性值;在执行每个行为节点之后的属性值;对应的行为节点的标识。
进一步地,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:接收输入的控制指令,其中,控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止行为树的执行;按照控制指令对应的方式对行为树中相应的行为节点执行相应的操作。
进一步地,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:接收暂停指令,其中,暂停指令用于控制暂停执行当前将要执行的行为节点;响应于暂停指令,暂停执行当前将要执行的行为节点;接收输入的对应于属性集合和/或行为树的修改数据;根据修改数据对属性集合和/或行为树进行相应的修改;接收执行指令,其中,执行指令用于控制执行待执行的行为节点。
根据本发明实施例的另一方面,还提供了一种行为树的测试装置,该装置包括:接收单元,用于接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发单元,用于触发执行行为树;确定单元,用于分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
进一步地,行为树的测试装置由服务器执行,确定单元包括:第一记录模块,用于分别记录在待执行的行为节点执行之前和执行之后的属性值;反馈模块,用于将记录结果反馈至属性集合和行为树的输入端。
进一步地,确定单元包括:确定模块,用于确定待执行的行为节点的关联属性,其中,关联属性包含于属性集合;第二记录模块,用于分别记录在待执行的行为节点执行之前和执行之后的关联属性的属性值。
进一步地,行为树的测试装置由测试端执行,测试端与服务器通信,接收单元还用于将属性集合和行为树发送至服务器;触发单元包括:第一接收模块,用于接收输入的启动指令,其中,启动指令用于启动执行行为树;发送模块,用于将启动指令发送至服务器,其中,服务器用于在接收到启动指令之后执行行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至测试端。
进一步地,该装置还包括:显示单元,用于在分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值之后,通过显示设备显示以下信息至少之一:在执行每个行为节点之前的属性值;在执行每个行为节点之后的属性值;对应的行为节点的标识。
进一步地,确定单元包括:第二接收模块,用于接收输入的控制指令,其中,控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止行为树的执行;执行模块,用于按照控制指令对应的方式对行为树中相应的行为节点执行相应的操作。
进一步地,确定单元包括:第三接收模块,用于接收暂停指令,其中,暂停指令用于控制暂停执行当前将要执行的行为节点;响应模块,用于响应于暂停指令,暂停执行当前将要执行的行为节点;第四接收模块,用于接收输入的对应于属性集合和/或行为树的修改数据;修改模块,用于根据修改数据对属性集合和/或行为树进行相应的修改;第五接收模块,用于接收执行指令,其中,执行指令用于控制执行待执行的行为节点。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明的行为树的测试方法。
根据本发明实施例的另一方面,还提供了一种终端,该终端包括一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明的行为树的测试方法。
在本发明实施例中,通过接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发执行行为树;分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值,解决了相关技术中的行为树测试方法测试效率较低的技术问题,进而实现了能够通过行为树测试方法的测试效率的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的行为树的测试方法的流程图;
图2是根据本发明实施例的一种可选的行为树的测试装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供了一种行为树的测试方法的实施例。
图1是根据本发明实施例的一种可选的行为树的测试方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收输入的游戏实体的属性集合和行为树;
步骤S102,触发执行行为树;
步骤S103,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
游戏实体可以是各种带AI的游戏实体,例如,怪物monster,非玩家控制角色NPC,玩家等等,游戏实体的属性集合包括多个属性,每个属性的值用于表示该游戏实体的一个属性的信息,例如,属性集合可以包括游戏实体的名字、当前回合数、血量、等级、唯一标记等等。行为树是包括多个行为节点的树状结构,行为树用于表示对应的游戏实体的行为逻辑。每个行为节点在执行之后,可能会对对应游戏实体的属性集合产生影响,导致属性集合中的一个或多个属性值发生变化。属性集合中的多个属性值与多个行为节点相关联,每个行为节点与至少一个属性值关联,多个属性值中可能存在与行为节点不关联的属性值,例如,游戏实体的名字、唯一标识等。
例如,在测试端通过行为树编辑器编辑一个单元unit(是一种游戏实体),编辑该unit的初始的属性集合,该属性集合中包括游戏实体的所有属性的值,包括Unit名字,当前回合数,Unit血量,Unit等级,Unit唯一标记等等。在编辑该unit的游戏AI时,可以将编辑的属性集合关联到对应的行为节点。
该实施例提供的行为树的测试方法可以通过测试端执行,也可以通过与测试端通信的服务器执行。
在步骤S101提供的方案是通过测试端执行的情况下,接收输入的属性集合和行为树可以是通过测试端的输入设备接收的,在测试端接收到输入的信息之后,可以将信息发送至服务器,通过服务器来执行行为树,或者,也可以在测试端直接执行行为树。在步骤S101提供的方案是通过与测试端的服务器执行的情况下,接收输入的属性集合和行为树可以是测试端在通过输入设备接收之后发送至服务器中。
触发执行行为树可以是通过测试端输入的相应的指令控制的。在触发执行行为树之后,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
在步骤S103提供的方案是通过测试端执行的情况下,测试端可以直接获取每个行为节点执行之前和执行之后的属性值,从而能够直接通过属性值的变化和行为节点执行之后的属性值判断该行为节点的正确性进而验证整个行为树的正确性等,以达到对行为树进行测试的技术效果。
在步骤S103提供的方案是通过与测试端通信的服务器执行的情况下,服务器可以将在执行每个行为节点之前的属性值和在执行每个行为节点之后的属性值反馈至测试端,进一步地,服务器还将对应的行为节点的标识反馈至测试端。
服务器发送属性值和标识的时序可以是任意的,根据情况而定,本发明对此不作具体限定。
例如,服务器可以在执行一个行为节点之前将当前的属性值和该行为节点的标识反馈至测试端,在执行对应行为节点之后将当前的属性值反馈至测试端,或者,服务器也可以分别记录在待执行的行为节点执行之前和执行之后的属性值,并将记录结果反馈至属性集合和行为树的输入端。
进一步地,服务器可以仅发送与对应的行为节点相关联的属性值,具体而言,服务器确定待执行的行为节点的关联属性,其中,关联属性包含于属性集合;分别记录在待执行的行为节点执行之前和执行之后的关联属性的属性值,并将记录结果反馈至属性集合和行为树的输入端。
在步骤S103之后,可以通过显示设备显示在执行每个行为节点之前的属性值、在执行每个行为节点之后的属性值、对应的行为节点的标识等信息。该显示设备是与测试端相连的显示设备,测试端可以通过行为树编辑器把从服务器获取的属性值和行为树的行为节点的标识ID可视化的显示出来,测试人员可以根据显示的属性值和行为树AI的执行情况验证当前AI的有效性。例如,显示的具体方式可以是动态地展示行为树每个行为节点的执行状态,当前正在执行的行为节点通过高亮的标记进行显示。
在该实施例提供的行为树的测试方法是由测试端执行的情况下,步骤S102触发执行行为树包括:测试端接收输入的启动指令,其中,启动指令用于启动执行行为树,测试端将启动指令发送至服务器,其中,服务器用于在接收到启动指令之后执行行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至测试端。
可选的,在步骤S103执行行为树的行为节点的过程中,还可以进行暂停、重复、后退、停止等的操作,具体而言,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:接收输入的控制指令,其中,控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止行为树的执行;按照控制指令对应的方式对行为树中相应的行为节点执行相应的操作。
可选的,在步骤S103执行行为树的行为节点的过程中暂停执行节点的步骤包括:接收暂停指令,其中,暂停指令用于控制暂停执行当前将要执行的行为节点;响应于暂停指令,暂停执行当前将要执行的行为节点;接收输入的对应于属性集合和/或行为树的修改数据;根据修改数据对属性集合和/或行为树进行相应的修改;接收执行指令,其中,执行指令用于控制执行待执行的行为节点。例如,测试人员在对行为树进行测试的过程中,如果发现不符合预期结果的测试结果,测试人员可以在测试端暂停执行行为树,在测试端将暂停指令发送至服务器之后,服务器即暂停执行行为树,进而,测试人员可以修改行为树或行为节点,并将修改数据发送至服务器,服务器在接收到修改数据之后,根据修改数据对行为树进行相应的修改,并在接收到执行指令之后进行新的测试。可选的,在行为树的测试结果不符合预期的情况下,测试人员还可以重建行为树,生成一个新的行为树并对新的行为树进行测试。
该实施例通过接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发执行行为树;分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值,解决了相关技术中的行为树测试方法测试效率较低的技术问题,进而实现了能够通过行为树测试方法的测试效率的技术效果。
下面对上述实施例的一种具体实施方式进行描述如下:
步骤1,在编辑一个Unit(单元,相当于游戏实体,包括各种可以带AI的游戏实体,比如Monster,NPC,玩家等)的AI(相当于编辑行为树)之前,先在行为树编辑器上编辑该Unit的属性集合,属性集合包括Unit名字,当前回合数,Unit血量,Unit等级,Unit唯一标记等等。同时,在编辑属性集合时,需要编辑AI对应Unit的属性的数据源信息(包括每个属性名字、属性数据类型等),然后对每个属性赋予初始的属性值以得到属性集合。
步骤2,在编辑Unit对应的游戏AI时,把步骤1编辑的属性集合关联到对应的游戏AI上。
步骤3,把行为树AI和其对应的属性集合同步到游戏服务器,其中,还需要将属性的数据源信息同步给游戏服务器。
步骤4,开启一场战斗,触发行为树AI被执行,服务器读取行为树AI关联的属性集合,在每次行为树AI执行前后,服务器把数据源里面的数据同步给编辑器,把属性集合内的属性值(Unit名字,当前回合数,Unit血量,Unit等级,Unit唯一标记等等)发送给行为树编辑器,同时把本次被执行的分支里面的节点ID发送给行为树编辑器。
步骤5,行为树编辑器把从游戏服务器收到的属性以及对应的属性值和行为树分支节点ID可视化显示出来,根据属性值和行为树AI的执行情况验证当前AI的有效性。行为树编辑器上把测试到的分支和当前的Unit的数据同时显示出来,可以更加直观的反应出行为树AI的实时运行情况,开发或者测试人员根据显示的信息很容易判断当前AI的正确性。例如,可以在编辑器上查看AI相关的各类数据,在显示的行为树上高亮显示正在执行的行为节点。
步骤6,在需要修改属性集合的情况下,测试人员也可以在编辑器上修改这些数据,实时同步到服务器,从而方便的构建下一个分支的测试条件,加速行为树AI的测试速度。具体的,在编辑器上暂停行为树执行,修改下一个分支测试需要的属性值,设置下一个行为树AI分支执行需要的执行条件(比如下一个分支的执行条件是当前回合数为3,则修改当前回合数为3),然后在编辑器上启动执行行为树AI。
重复步骤3至步骤6,直到验证完成整个行为树AI,从而使得行为树AI的开发,测试和验证整个流程都在行为树编辑器上完成。
该具体实施方式的行为树的测试方法将大量人工执行的过程统一放到了行为树编辑器上执行,极大简化了测试过程,加速了行为树AI现有技术的测试过程,行为树编辑器不仅提供编辑的功能,还能够提供一套完备的可视化工具来完成测试环境设定、AI触发与暂停、结果验证这3个步骤,让AI的开发、测试、验证全都在行为树编辑器上全部完成,简化AI的测试和验证工作。,提高了测试和验证的工作效率,
需要说明的是,在附图的流程图虽然示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请还提供了一种存储介质的实施例,该实施例的存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行本发明实施例的行为树的测试方法。
本申请还提供了一种终端的实施例,该实施例的终端包括一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,第一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序包括用于执行本发明实施例的行为树的测试方法。
本申请还提供了一种行为树的测试装置的实施例。需要说明的是,本发明实施例提供的行为树的测试装置可以用于执行本发明实施例提供的行为树的测试方法。
图2是根据本发明实施例的一种可选的行为树的测试装置的示意图,如图2所示,该装置包括接收单元10,触发单元20和确定单元30。其中,接收单元用于接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联;触发单元用于触发执行行为树;确定单元用于分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
该实施例通过接收单元接收输入的游戏实体的属性集合和行为树,其中,行为树包括多个行为节点,其中,属性集合包括多个属性值且多个属性值与多个行为节点相关联,通过触发单元触发执行行为树,通过确定单元分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值,解决了相关技术中的行为树测试方法测试效率较低的技术问题,进而实现了能够通过行为树测试方法的测试效率的技术效果。
作为一种可选的实施方式,行为树的测试装置由服务器执行,确定单元包括:第一记录模块,用于分别记录在待执行的行为节点执行之前和执行之后的属性值;反馈模块,用于将记录结果反馈至属性集合和行为树的输入端。
作为一种可选的实施方式,确定单元包括:确定模块,用于确定待执行的行为节点的关联属性,其中,关联属性包含于属性集合;第二记录模块,用于分别记录在待执行的行为节点执行之前和执行之后的关联属性的属性值。
作为一种可选的实施方式,行为树的测试装置由测试端执行,测试端与服务器通信,接收单元还用于将属性集合和行为树发送至服务器;触发单元包括:第一接收模块,用于接收输入的启动指令,其中,启动指令用于启动执行行为树;发送模块,用于将启动指令发送至服务器,其中,服务器用于在接收到启动指令之后执行行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至测试端。
作为一种可选的实施方式,该装置还包括:显示单元,用于在分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值之后,通过显示设备显示以下信息至少之一:在执行每个行为节点之前的属性值;在执行每个行为节点之后的属性值;对应的行为节点的标识。
作为一种可选的实施方式,确定单元包括:第二接收模块,用于接收输入的控制指令,其中,控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止行为树的执行;执行模块,用于按照控制指令对应的方式对行为树中相应的行为节点执行相应的操作。
作为一种可选的实施方式,确定单元包括:第三接收模块,用于接收暂停指令,其中,暂停指令用于控制暂停执行当前将要执行的行为节点;响应模块,用于响应于暂停指令,暂停执行当前将要执行的行为节点;第四接收模块,用于接收输入的对应于属性集合和/或行为树的修改数据;修改模块,用于根据修改数据对属性集合和/或行为树进行相应的修改;第五接收模块,用于接收执行指令,其中,执行指令用于控制执行待执行的行为节点。
上述的装置可以包括处理器和存储器,上述单元均可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
上述本申请实施例的顺序不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。
其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种行为树的测试方法,其特征在于,包括:
接收输入的游戏实体的属性集合和行为树,其中,所述行为树包括多个行为节点,其中,所述属性集合包括多个属性值且所述多个属性值与所述多个行为节点相关联;
触发执行所述行为树;
分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
2.根据权利要求1所述的方法,其特征在于,所述行为树的测试方法由服务器执行,
分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:
分别记录在待执行的行为节点执行之前和执行之后的属性值;
将记录结果反馈至所述属性集合和所述行为树的输入端。
3.根据权利要求2所述的方法,其特征在于,分别记录在待执行的行为节点执行之前和执行之后的属性值包括:
确定所述待执行的行为节点的关联属性,其中,所述关联属性包含于所述属性集合;
分别记录在所述待执行的行为节点执行之前和执行之后的所述关联属性的属性值。
4.根据权利要求1所述的方法,其特征在于,所述行为树的测试方法由测试端执行,所述测试端与服务器通信,
接收输入的游戏实体的属性集合和行为树包括:将所述属性集合和所述行为树发送至所述服务器;
触发执行所述行为树包括:接收输入的启动指令,其中,所述启动指令用于启动执行所述行为树;将所述启动指令发送至所述服务器,其中,所述服务器用于在接收到所述启动指令之后执行所述行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至所述测试端。
5.根据权利要求4所述的方法,其特征在于,在分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值之后,所述方法还包括:
通过显示设备显示以下信息至少之一:
在执行每个所述行为节点之前的属性值;
在执行每个所述行为节点之后的属性值;
对应的行为节点的标识。
6.根据权利要求1所述的方法,其特征在于,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:
接收输入的控制指令,其中,所述控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止所述行为树的执行;
按照所述控制指令对应的方式对所述行为树中相应的行为节点执行相应的操作。
7.根据权利要求1所述的方法,其特征在于,分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值包括:
接收暂停指令,其中,所述暂停指令用于控制暂停执行当前将要执行的行为节点;
响应于所述暂停指令,暂停执行所述当前将要执行的行为节点;
接收输入的对应于所述属性集合和/或所述行为树的修改数据;
根据所述修改数据对所述属性集合和/或所述行为树进行相应的修改;
接收执行指令,其中,所述执行指令用于控制执行待执行的行为节点。
8.一种行为树的测试装置,其特征在于,包括:
接收单元,用于接收输入的游戏实体的属性集合和行为树,其中,所述行为树包括多个行为节点,其中,所述属性集合包括多个属性值且所述多个属性值与所述多个行为节点相关联;
触发单元,用于触发执行所述行为树;
确定单元,用于分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值。
9.根据权利要求8所述的装置,其特征在于,所述行为树的测试装置由服务器执行,所述确定单元包括:
第一记录模块,用于分别记录在待执行的行为节点执行之前和执行之后的属性值;
反馈模块,用于将记录结果反馈至所述属性集合和所述行为树的输入端。
10.根据权利要求9所述的装置,其特征在于,所述确定单元包括:
确定模块,用于确定所述待执行的行为节点的关联属性,其中,所述关联属性包含于所述属性集合;
第二记录模块,用于分别记录在所述待执行的行为节点执行之前和执行之后的所述关联属性的属性值。
11.根据权利要求8所述的装置,其特征在于,所述行为树的测试装置由测试端执行,
所述测试端与服务器通信,
所述接收单元还用于将所述属性集合和所述行为树发送至所述服务器;
所述触发单元包括:第一接收模块,用于接收输入的启动指令,其中,所述启动指令用于启动执行所述行为树;发送模块,用于将所述启动指令发送至所述服务器,其中,所述服务器用于在接收到所述启动指令之后执行所述行为树,并将在执行每个行为节点之前和执行每个行为节点之后的属性值、以及对应的行为节点的标识反馈至所述测试端。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
显示单元,用于在分别确定在执行每个行为节点之前与执行每个行为节点之后的属性值之后,通过显示设备显示以下信息至少之一:
在执行每个所述行为节点之前的属性值;
在执行每个所述行为节点之后的属性值;
对应的行为节点的标识。
13.根据权利要求8所述的装置,其特征在于,所述确定单元包括:
第二接收模块,用于接收输入的控制指令,其中,所述控制指令用于控制执行以下操作之一:暂停执行一个行为节点、重复执行一个行为节点、后退执行前一行为节点、停止所述行为树的执行;
执行模块,用于按照所述控制指令对应的方式对所述行为树中相应的行为节点执行相应的操作。
14.根据权利要求8所述的装置,其特征在于,所述确定单元包括:
第三接收模块,用于接收暂停指令,其中,所述暂停指令用于控制暂停执行当前将要执行的行为节点;
响应模块,用于响应于所述暂停指令,暂停执行所述当前将要执行的行为节点;
第四接收模块,用于接收输入的对应于所述属性集合和/或所述行为树的修改数据;
修改模块,用于根据所述修改数据对所述属性集合和/或所述行为树进行相应的修改;
第五接收模块,用于接收执行指令,其中,所述执行指令用于控制执行待执行的行为节点。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7任意一项所述的行为树的测试方法。
16.一种终端,其特征在于,包括:
一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至7任意一项所述的行为树的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371859.3A CN107943707B (zh) | 2017-12-19 | 2017-12-19 | 行为树的测试方法、装置和存储介质以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711371859.3A CN107943707B (zh) | 2017-12-19 | 2017-12-19 | 行为树的测试方法、装置和存储介质以及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107943707A true CN107943707A (zh) | 2018-04-20 |
CN107943707B CN107943707B (zh) | 2021-02-19 |
Family
ID=61941255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711371859.3A Active CN107943707B (zh) | 2017-12-19 | 2017-12-19 | 行为树的测试方法、装置和存储介质以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107943707B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189504A (zh) * | 2018-09-20 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 行为执行方法、行为树生成方法、装置和计算机设备 |
CN109343913A (zh) * | 2018-10-22 | 2019-02-15 | 竞技世界(北京)网络技术有限公司 | 一种游戏行为树控制方法 |
CN109471675A (zh) * | 2018-10-30 | 2019-03-15 | 张家口浩扬科技有限公司 | 一种对于硬件执行改变的方法及其系统 |
CN110008304A (zh) * | 2019-04-03 | 2019-07-12 | 网易(杭州)网络有限公司 | 行为树的差异可视化处理方法和装置 |
CN110891044A (zh) * | 2018-09-11 | 2020-03-17 | 中国科学院信息工程研究所 | 一种网络测试场景中的npc生成及刻画方法 |
CN111123888A (zh) * | 2019-12-19 | 2020-05-08 | 江苏中天科技软件技术有限公司 | 一种工控协议测试方法、系统及电子设备和存储介质 |
CN111481937A (zh) * | 2020-04-09 | 2020-08-04 | 网易(杭州)网络有限公司 | 游戏任务的测试方法、装置、测试终端和服务器 |
CN112190945A (zh) * | 2020-10-22 | 2021-01-08 | 网易(杭州)网络有限公司 | 游戏数据处理方法和装置、计算机可读存储介质、电子设备 |
CN112882930A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071306A1 (en) * | 2003-02-05 | 2005-03-31 | Paul Kruszewski | Method and system for on-screen animation of digital objects or characters |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105561578A (zh) * | 2015-12-11 | 2016-05-11 | 北京像素软件科技股份有限公司 | 一种非玩家控制角色npc的行为决策方法 |
CN106899441A (zh) * | 2017-03-16 | 2017-06-27 | 网易(杭州)网络有限公司 | 故障节点定位方法及装置 |
CN107085519A (zh) * | 2017-05-04 | 2017-08-22 | 网易(杭州)网络有限公司 | 行为树调试处理方法、装置、系统、存储介质和处理器 |
-
2017
- 2017-12-19 CN CN201711371859.3A patent/CN107943707B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071306A1 (en) * | 2003-02-05 | 2005-03-31 | Paul Kruszewski | Method and system for on-screen animation of digital objects or characters |
CN105068929A (zh) * | 2015-08-06 | 2015-11-18 | 网易(杭州)网络有限公司 | 测试脚本生成方法和装置、测试方法、测试装置以及测试系统 |
CN105561578A (zh) * | 2015-12-11 | 2016-05-11 | 北京像素软件科技股份有限公司 | 一种非玩家控制角色npc的行为决策方法 |
CN106899441A (zh) * | 2017-03-16 | 2017-06-27 | 网易(杭州)网络有限公司 | 故障节点定位方法及装置 |
CN107085519A (zh) * | 2017-05-04 | 2017-08-22 | 网易(杭州)网络有限公司 | 行为树调试处理方法、装置、系统、存储介质和处理器 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110891044B (zh) * | 2018-09-11 | 2021-04-27 | 中国科学院信息工程研究所 | 一种网络测试场景中的npc生成及刻画方法 |
CN110891044A (zh) * | 2018-09-11 | 2020-03-17 | 中国科学院信息工程研究所 | 一种网络测试场景中的npc生成及刻画方法 |
CN109189504A (zh) * | 2018-09-20 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 行为执行方法、行为树生成方法、装置和计算机设备 |
CN109189504B (zh) * | 2018-09-20 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 行为执行方法、行为树生成方法、装置和计算机设备 |
CN109343913A (zh) * | 2018-10-22 | 2019-02-15 | 竞技世界(北京)网络技术有限公司 | 一种游戏行为树控制方法 |
CN109343913B (zh) * | 2018-10-22 | 2021-09-24 | 竞技世界(北京)网络技术有限公司 | 一种游戏行为树控制方法 |
CN109471675B (zh) * | 2018-10-30 | 2021-11-19 | 北京无限自在文化传媒股份有限公司 | 一种对于硬件执行改变的方法及其系统 |
CN109471675A (zh) * | 2018-10-30 | 2019-03-15 | 张家口浩扬科技有限公司 | 一种对于硬件执行改变的方法及其系统 |
CN110008304A (zh) * | 2019-04-03 | 2019-07-12 | 网易(杭州)网络有限公司 | 行为树的差异可视化处理方法和装置 |
CN111123888A (zh) * | 2019-12-19 | 2020-05-08 | 江苏中天科技软件技术有限公司 | 一种工控协议测试方法、系统及电子设备和存储介质 |
CN111481937A (zh) * | 2020-04-09 | 2020-08-04 | 网易(杭州)网络有限公司 | 游戏任务的测试方法、装置、测试终端和服务器 |
CN111481937B (zh) * | 2020-04-09 | 2023-04-07 | 网易(杭州)网络有限公司 | 游戏任务的测试方法、装置、测试终端和服务器 |
CN112190945A (zh) * | 2020-10-22 | 2021-01-08 | 网易(杭州)网络有限公司 | 游戏数据处理方法和装置、计算机可读存储介质、电子设备 |
CN112190945B (zh) * | 2020-10-22 | 2024-03-15 | 网易(杭州)网络有限公司 | 游戏数据处理方法和装置、计算机可读存储介质、电子设备 |
CN112882930A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
CN112882930B (zh) * | 2021-02-04 | 2023-09-26 | 网易(杭州)网络有限公司 | 自动化测试方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107943707B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943707A (zh) | 行为树的测试方法、装置和存储介质以及终端 | |
CN106528395A (zh) | 测试用例的生成方法及装置 | |
CN105608258B (zh) | 一种基于模型的系统设计及信息流可视化仿真系统及方法 | |
CN104133667B (zh) | 实现人工智能行为的方法、装置及人工智能编辑器 | |
CN109857668A (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
CN109901838A (zh) | 基于组件化的前端开发方法、装置、设备及存储介质 | |
CN105205006B (zh) | 多平台通用测试方法、装置和系统 | |
CN107193733A (zh) | 模拟Monkey测试的方法、装置和系统 | |
CN108052451A (zh) | 测试方法、系统、测试服务器、测试终端及存储介质 | |
CN104809056B (zh) | 一种接口测试代码的生成方法和装置 | |
CN105302706B (zh) | 应用程序测试方法和装置 | |
CN106095666A (zh) | 游戏自动化测试方法及相关装置 | |
CN109408384A (zh) | 软件应用的测试方法、装置、处理器及电子装置 | |
CN104268079B (zh) | 一种pos应用程序测试的方法及系统 | |
SA114360073B1 (ar) | تحديد النمط السلوكي للذكاء الاصطناعي | |
CN105843873A (zh) | 用于管理数据建模的系统及其方法 | |
CN106339302B (zh) | 客户端的测试方法和装置 | |
CN109558317A (zh) | 测试用例的处理方法及装置 | |
CN108415821A (zh) | 测试报告的生成方法及装置 | |
CN108347356A (zh) | 一种多协议单元测试方法、装置、电子设备和存储介质 | |
CN110152290A (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN107547299A (zh) | 一种测试方法及系统 | |
CN107122295A (zh) | 测试用例脚本的生成方法和装置 | |
CN107370804A (zh) | 软件应用处理方法和装置 | |
CN107315586A (zh) | 应用打包的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |