CN107678804A - 行为执行方法和装置、存储介质及电子装置 - Google Patents
行为执行方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN107678804A CN107678804A CN201710727042.9A CN201710727042A CN107678804A CN 107678804 A CN107678804 A CN 107678804A CN 201710727042 A CN201710727042 A CN 201710727042A CN 107678804 A CN107678804 A CN 107678804A
- Authority
- CN
- China
- Prior art keywords
- behavior
- state
- execution
- resource
- behavior state
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种行为执行方法和装置、存储介质及电子装置。该方法包括:获取与目标应用匹配的目标状态图,目标状态图中记录有目标应用中全部的行为状态,目标状态图中记录的行为状态根据进入目标应用中的对象已执行的行为进行实时更新;根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息,执行路径信息所指示的执行路径上包括在目标状态图中第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;控制第一对象执行与执行路径上所包含的行为状态对应的目标行为。本发明解决了采用现有的行为执行方法所导致的增加了操作复杂度的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种行为执行方法和装置、存储介质及电子装置。
背景技术
在很多应用场景中都存在需要多个不同的对象自动完成行为的情况。为了控制上述对象自动执行上述行为,目前通常采用的方式是,为每个对象配置在应用场景中可能执行的全部行为的执行代码。也就是说,为每个对象分别定义该对象可能执行的全部行为的状态,以及这些状态之间的变化条件,从而实现通过判断该对象是否满足进入状态的变化条件,来确定是否控制该对象进入状态,以执行与该状态对应的行为。
然而,在采用上述方式控制对象执行行为时,所有对象均需分别配置全部行为的状态,及状态之间的变化条件。在场景较为复杂的情况下,不仅需为复杂的场景设计不同的执行逻辑,而且还需根据上述执行逻辑为每个对象编写在上述复杂的场景中可能执行的全部行为的执行代码,从而导致行为执行的操作复杂度被增加的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种行为执行方法和装置、存储介质及电子装置,以至少解决采用现有的行为执行方法所导致的增加了操作复杂度的技术问题。
根据本发明实施例的一个方面,提供了一种行为执行方法,包括:获取与目标应用匹配的目标状态图,其中,上述目标状态图中记录有上述目标应用中全部的行为状态,上述行为状态用于指示进入上述目标应用中的对象所要执行的行为的行为策略,上述目标状态图中记录的上述行为状态根据进入上述目标应用中的对象已执行的行为进行实时更新;根据上述目标状态图中记录的上述行为状态确定出上述目标应用中待确定的第一对象的执行路径信息,其中,上述执行路径信息所指示的执行路径上包括在上述目标状态图中上述第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;控制上述第一对象执行与上述执行路径上所包含的行为状态对应的目标行为。
根据本发明实施例的另一方面,还提供了一种行为执行装置,包括:第一获取单元,用于获取与目标应用匹配的目标状态图,其中,上述目标状态图中记录有上述目标应用中全部的行为状态,上述行为状态用于指示进入上述目标应用中的对象所要执行的行为的行为策略,上述目标状态图中记录的上述行为状态根据进入上述目标应用中的对象已执行的行为进行实时更新;第一确定单元,用于根据上述目标状态图中记录的上述行为状态确定出上述目标应用中待确定的第一对象的执行路径信息,其中,上述执行路径信息所指示的执行路径上包括在上述目标状态图中上述第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;第一执行单元,用于控制上述第一对象执行与上述执行路径上所包含的行为状态对应的目标行为。
根据本发明实施例的又一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,上述程序运行时执行上述的方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器通过上述计算机程序执行上述的方法。
在本发明实施例中,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的行为执行方法的应用环境示意图;
图2是根据本发明实施例的一种可选的行为执行方法的流程图;
图3是根据本发明实施例的一种可选的行为执行方法的示意图;
图4是根据本发明实施例的另一种可选的行为执行方法的示意图;
图5是根据本发明实施例的又一种可选的行为执行方法的示意图;
图6是根据本发明实施例的又一种可选的行为执行方法的示意图;
图7是根据本发明实施例的又一种可选的行为执行方法的示意图;
图8是根据本发明实施例的一种可选的行为执行装置的示意图;
图9是根据本发明实施例的一种可选的行为执行设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本发明实施例中,提供了一种上述行为执行方法的实施例。作为一种可选的实施方式,终端102中运行有目标应用,如图1所示目标应用可以但不限于为游戏应用,通过网络104从服务器106获取与目标应用匹配的目标状态图,其中,目标状态图中记录有目标应用中全部的行为状态,该行为状态用于指示进入目标应用中的对象所要执行的行为的行为策略,目标状态图中记录的行为状态根据进入目标应用中的对象已执行的行为进行实时更新;根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象(如图中所示对象A)的执行路径信息,其中,上述执行路径信息所指示的执行路径上包括在目标状态图中第一对象以当前所处的第一行为状态(如静止状态)为起点,所要到达的第二行为状态(攻击对象B的攻击状态)为终点所经过的行为状态;控制第一对象执行与执行路径上所包含的行为状态对应的目标行为(例如,如图1所示控制对象A执行用剑攻击的行为)。此外,作为另一种可选的实施方式,上述终端102也可以从终端102本地获取到与该目标应用匹配的目标状态图(图中未示出)。本实施例中对此不做任何限定。
在本实施例中,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑、台式PC机、数字电视及其他用于执行目标应用中的行为的硬件设备。上述网络可以包括但不限于以下至少之一:广域网、城域网、局域网。上述只是一种示例,本实施例对此不做任何限定。
根据本发明实施例,提供了一种行为执行方法,如图2所示,该方法包括:
S202,获取与目标应用匹配的目标状态图,其中,目标状态图中记录有目标应用中全部的行为状态,行为状态用于指示进入目标应用中的对象所要执行的行为的行为策略,目标状态图中记录的行为状态根据进入目标应用中的对象已执行的行为进行实时更新;
S204,根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息,其中,执行路径信息所指示的执行路径上包括在目标状态图中第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;
S206,控制第一对象执行与执行路径上所包含的行为状态对应的目标行为。
可选地,在本实施例中,上述行为执行方法可以但不限于应用于游戏应用、购物平台应用等通过控制对象执行行为的应用场景中,例如,上述游戏应用可以但不限于为单机游戏应用、多人互动游戏应用等等。其中,上述行为可以但不限于为进入目标应用中的对象所执行的虚拟的行为。以游戏应用为例,上述第一对象可以包括但不限于游戏应用中非玩家角色(Non-Player Character,简称NPC)对应的虚拟对象,上述NPC可以但不限于利用目标状态图,通过上述行为执行方法控制NPC实现自动按照执行路径所包含的行为状态执行对应的游戏行为,以控制NPC执行多样化的游戏行为,这样不仅简化了执行步骤和操作复杂度,而且还将通过控制各个NPC对象进入不同状态,以避免众多的NPC对象同时执行相同行为的问题。以购物平台应用为例,上述第一对象可以但不限于为导购角色对应的虚拟对象,通过上述行为执行方法控制导购角色实现自动按照执行路径所包含的行为状态执行对应的虚拟服务行为,以控制同一虚拟空间内的导购角色向不同的买家提供导购服务。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
可选地,在本实施例中,上述目标状态图可以包括但不限于记录有目标应用中全部的行为状态。如以游戏应用为例进行说明,上述第一对象可以但不限于为游戏应用中的NPC对象,通过将游戏应用中复杂的游戏执行策略划分为不同的独立的行为状态,并配置行为状态之间的转换关系,以利用上述行为状态构成的目标状态图,通过寻路算法灵活地为NPC对象确定出第一对象的执行路径信息,并控制NPC对象按照上述执行路径信息所指示的执行路径上所包含的行为状态执行对应的目标行为。也就是说,利用进入目标应用中的对象已执行的行为而实时更新后的目标状态图来控制目标应用中的第一对象自动执行对应的目标行为,而不再需要为每个NPC对象分别配置不同的执行代码,从而实现简化行为执行的操作复杂度的效果。
可选地,在本实施例中,上述目标状态图中还记录有进入每个行为状态所使用的行为资源。其中,上述行为资源可以但不限于用于标识进入每个行为状态的成本,上述行为资源越高,用于表示行为状态转换所需的成本越高,还用于表示行为状态转换的成功率越低,反而反之。
需要说明的是,在本实施例中,上述行为资源可以但不限于存储在目标应用的服务器中,按照行为策略被初始化设置为预定的初始值。其中,根据不同的实际应用场景,不同行为状态对应的行为资源的初始值可以被配置为相同值,也可以被配置为不同值。本实施例中对此不做任何限定。在执行上述行为的过程中,可以但不限于按照行为策略实时调整目标状态图中进入各个行为状态所使用的行为资源,以实现在第一对象的寻路过程中,可以根据当前目标状态图中实时调整后的行为资源,来获取更加准确的执行路径,以灵活控制不同对象进入目标状态图中不同的行为状态,从而避免进入目标应用的全部对象进入相同的行为状态,执行相同的目标行为,通过上述趋异化控制,以达到提高行为执行的多样性的效果。
此外,在本实施例中,上述目标状态图中还记录有为每个行为状态配置的以下至少一种信息:与每个行为状态对应的行为状态标识、进入每个行为状态的判定条件。也就是说,获取经判断而得到的满足判定条件的一系列行为状态,得到与第一对象对应的多条路径,再通过比对各个路径,以确定第一对象的执行路径信息,进而控制第一对象执行上述执行路径信息所指示的执行路径中包含的行为状态对应的目标行为。上述仅是一种示例,本实施例中对此不做任何限定。
其中,在本实施例中,在确定出第一对象所要执行的执行路径之前,获取根据当前进入目标应用中的对象已执行的行为所更新的目标状态图。利用更新后的目标状态图,确定出第一对象的执行路径信息,在控制第一对象执行完成一次执行路径信息所指示的执行路径上的一个目标行为之后,可以但不限于再次更新目标状态图,利用更新后的目标状态图,以重新确定出新的执行路径,从新的执行路径上获取下一个所要执行的目标行为,依次类推,直至到达第二行为状态。换言之,第一对象在从第一行为状态到达第二行为状态的过程中,实际所经过的行为状态可以在一条执行路径上,也可以经过多次执行路径的切换。上述仅是一种示例,为了实现所确定出的执行状态的灵活性和准确性,本实施例中对此不做任何限定。
例如,假设与目标应用对应的目标状态图如图3所示,该目标状态图中包括六个行为状态,分别为行为状态A至行为状态F。假设获取到第一对象当前所处的第一行为状态为行为状态A,所要到达的第二行为状态为行为状态F,进一步,根据上述行为状态A及行为状态F,确定出执行路径包括:行为状态A-行为状态C-行为状态E-行为状态F。在当前确定出的执行路径上,下一个所要执行的执行状态为行为状态C,控制第一对象进入行为状态C,执行与行为状态C对应的目标行为。然后,将行为状态C更新为当前所处的第一行为状态,并更新目标状态图。利用更新后的目标状态图再次重新确定执行路径,例如执行路径为行为状态C-行为状态D-行为状态F,则可确定出下一个所要执行的执行状态为行为状态D,而不是第一次确定出的行为状态E。也就是说,在本实施例中,利用更新后的目标状态图,以准确控制第一对象在目标状态图中的行为状态转换,从而实现控制第一对象准确执行与上述执行状态对应的目标行为,以便于提高行为执行的准确率和灵活性。
可选地,在本实施例中,还可以但不限于结合对象的其他属性信息确定出多条路径。进一步,再从上述多条路径中确定出一条执行路径。其中,以游戏应用为例,上述属性信息可以包括对象当前拥有的技能、法力值、血量值、装备道具等等。以购物应用为例,上述属性信息可以包括:对象当前拥有的资金、购物类型需求等等。上述仅是一种示例,本实施例中对此不做任何限定。
例如,如图4所示,目标应用以游戏应用为例,目标状态图用于记录游戏应用中的NPC对象的全部的行为状态,如图4所示,上述行为状态可以包括但不限于:移动行为状态、刀攻击行为状态、剑攻击行为状态、射箭攻击行为状态等等。这里第一对象假设以NPC对象a为例进行说明,该NPC对象a的目标状态图可以如图5所示,假设NPC对象a的第一行为状态为移动行为状态,所要到达的第二行为状态对应的目标行为为:攻击玩家对象。在经判断得出NPC对象a与玩家账号对应的玩家对象的距离小于预定阈值的情况下,则确定出NPC对象a可实现近距离攻击,到达第二行为状态的路径可以包括两条,分别为通过刀攻击行为状态,或通过剑攻击行为状态,实现对玩家对象的近距离攻击。
进一步,作为一种可选的实施方式,在确定NPC对象属性信息指示NPC对象a拥有装备“刀”的情况下,则可确定执行路径为:移动行为状态-刀攻击行为状态-攻击玩家对象;作为另一种可选的实施方式,在确定NPC对象a从“移动行为状态”转换到“刀攻击行为状态”所使用的行为资源较少的情况下,则可确定执行路径为:移动行为状态-刀攻击行为状态-攻击玩家对象。也就是说,可确定出NPC对象a在当前行为状态之后的执行状态为“刀攻击行为状态”,以便于完成近距离攻击玩家对象的行为。
此外,在经判断得出NPC对象a与玩家账号对应的玩家对象的距离大于预定阈值的情况下,则确定出NPC对象a可实现远距离攻击,到达第二行为状态的路径可以包括一条,通过射箭攻击行为状态实现对玩家对象的远距离攻击。进一步,在完成射箭攻击行为之后,可以继续判断下一个执行状态,本实施例中对此不做任何限定。
可选地,在本实施例中,在确定执行状态之后,在第一对象进入执行状态时,为进入执行状态所使用的当前行为资源叠加目标行为资源,更新当前行为资源;在第一对象退出执行状态时,从进入执行状态所使用的当前行为资源中扣除目标行为资源,更新当前行为资源。
需要说明的是,在本实施例中,为了控制在目标应用中处在各个行为状态上的对象数量,可以但不限于利用目标应用中的多个对象已执行的行为,来更新目标状态图,如调整目标状态图中进入各个行为状态所使用的行为资源。例如,以第一对象为例,在第一对象确定执行状态(如行为状态C)后,在该执行状态(如行为状态C)原有的行为资源的基础上叠加目标行为资源;进一步,在第二对象确定执行路径时,对于行为状态C,将使用已叠加目标行为资源后的行为资源,来判定是否进入上述执行状态(如行为状态C),从而达到控制对象避免执行相同的目标行为,达到趋异化控制,进而实现提高目标应用中的对象执行行为的多样性的效果。
可选地,在本实施例中,在控制第一对象执行与执行状态对应的目标行为之后,统计每一条路径上所包含的行为状态对应的目标行为被成功执行的次数;根据每一条路径上被成功执行的次数确定出执行路径信息。
需要说明的是,在本实施例中,可以但不限于根据目标行为被成功执行的次数,以调整确定执行路径信息的确定策略,从而达到对目标应用中的多个对象进行趋同控制或趋异控制。例如,在所配置的确定策略为趋同策略的情况下,将被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为执行路径信息;又例如,在所配置的确定策略为趋异策略的情况下,将被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为执行路径信息。
此外,在本实施例中,通过上述方式可实现目标应用的人工智能(ArtificialInterlligence,简称AI)执行过程,一方面,目标应用中的对象是结合第一行为状态和第二行为状态确定执行路径,也就是说,随着第一对象当前所处的第一行为状态的改变,所确定的执行路径也会随之改变,从而保证对象最终实现的执行轨迹的灵活性,而且还提高了对象执行的多样性,避免在目标应用中的多个对象执行相同的行为;另一方面,目标应用中的对象可以实现自学习,在统计出行为被成功执行的次数的情况下,调整确定策略,从而保证多个对象可以确定出与其更加匹配的执行路径及执行状态。
可选地,在本实施例中,在获取目标应用中第一对象的当前行为状态及目标行为状态之前,还包括:获取行为触发请求,其中,行为触发请求中携带有待执行行为的对象,其中,待执行行为的对象包括第一对象;响应行为触发请求调用更新函数,其中,更新函数用于指示获取第一对象的第一行为状态及第二行为状态。
也就是说,上述触发请求可以但不限于触发一个或多个对象分别根据对应的第一行为状态及第二行为状态确定各自对应的执行路径及执行状态,以便于执行对应的目标行为,其中,上述对象中包括第一对象。
通过本申请提供的实施例,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
作为一种可选的方案,目标状态图中还记录有进入每个行为状态所使用的行为资源,其中,在控制第一对象执行与执行路径上所包含的行为状态对应的目标行为的过程中,还包括:
S1,从执行路径上所包含的行为状态中确定出执行状态,其中,执行状态为在第一行为状态之后,第一对象下一个所要执行的目标行为对应的行为状态;
S2,控制第一对象进入执行状态,按照执行状态对应的行为策略执行目标行为,并更新进入执行状态所使用的行为资源。
可选地,在本实施例中,上述行为资源可以但不限于用于标识进入每个行为状态的成本,上述行为资源越高,用于表示行为状态转换所需的成本越高,同时还用于表示行为状态转换的成功率越低,反而反之。
具体结合图6所示示例进行说明,假设目标状态图中进入各个行为状态所使用的行为资源如图6所示,初始值均为1,以第一对象当前所处的第一行为状态(行为状态A),第一次确定执行路径为例进行说明。第一对象所要到达的第二行为状态为行为状态F,假设可行的多条路径包括:1)行为状态A-行为状态C-行为状态E-行为状态F;2)行为状态A-行为状态B-行为状态D-行为状态E-行为状态F。进一步,从上述多条路径中确定出执行路径(假设为路径1)),并从执行路径(路径1))上所包含的行为状态中确定出下一个所要执行的目标行为对应的行为状态(如行为状态C),即行为状态C为执行状态。然后,控制第一对象进入上述行为状态C,按照行为状态C对应的行为策略执行目标行为,假设为剑攻击状态,并更新目标状态图中进入行为状态C所使用的行为资源。
需要说明的是,在本实施例中,上述执行状态可以但不限于在执行路径上,第一对象在退出当前所处的第一行为状态之后,下一个所要进入的行为状态,也是第一对象下一个所要执行的目标行为对应的行为状态。
此外,在本实施例中,每次确定的执行状态是根据实时更新后的目标状态图而确定,换言之,执行状态可以但不限于在不同的执行路径上,参照上述结合图3所举示例。本实施例中对此不做任何限定。
可选地,在本实施例中,目标状态图中的各个行为状态用于指示行为策略,如AI策略,例如,以游戏应用为例,AI策略可以为NPC对象的攻击策略,用于近距离攻击的刀剑攻击行为状态,用于远距离攻击的射箭攻击行为状态。如图3所示,假设NPC对象确定出执行路径包括:行为状态A-行为状态C-行为状态E-行为状态F。当前所处第一行为状态为行为状态A,下一个所要执行的执行状态为行为状态C。则可以控制NPC对象按照执行状态(行为状态C)对应的行为策略执行目标行为;进一步,更新进入执行状态所使用的行为资源。
通过本申请提供的实施例,通过从执行路径上所包含的行为状态中确定出执行状态,并控制第一对象进入执行状态,按照执行状态对应的行为策略执行目标行为,从而实现准确灵活确定第一对象下一个进入的执行状态,调整所要执行的目标行为,进而达到提高行为效率和灵活性的效果。
作为一种可选的方案,更新进入执行状态所使用的行为资源包括:
S1,在第一对象进入执行状态时,为进入执行状态所使用的当前行为资源叠加目标行为资源,更新当前行为资源;
S2,在第一对象退出执行状态时,从进入执行状态所使用的当前行为资源中扣除目标行为资源,更新当前行为资源。
需要说明的是,上述目标行为资源可以但不限于为预配置的固定行为资源。上述当前行为资源可以但不限于行为状态在当前时刻所拥有的行为资源。
具体结合图7所示示例进行说明,受进入目标应用中的对象已执行完成的行为的影响,目标状态图中的行为资源已被更新。假设目标行为资源为1,当前场景中包括两个对象,如对象a和对象b。对象b当前所处的第一行为状态为行为状态A。对象a当前所处第一行为状态为行为状态C,前一个行为状态为行为状态A,对象a从行为状态A进入行为状态C后,进入行为状态C所使用的行为资源在1的基础上,叠加目标行为资源1,得到当前行为资源为2。进一步,在对象a退出行为状态C时,可再扣除目标行为资源1,更新当前行为资源,再次恢复到进入行为状态C所使用的行为资源1。
通过本申请提供的实施例,通过对执行行为状态的行为资源按照目标行为资源进行动态的加减控制,以达到丰富目标应用中多个对象的行为表现的效果。
作为一种可选的方案,根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息包括:
S1,在根据第一行为状态及第二行为状态确定出多条路径的情况下,获取在执行每一条路径上所包含的行为状态对应的行为时所使用的行为资源的资源总和;
S2,根据资源总和从多条路径中确定出第一对象的执行路径,利用执行路径上的行为状态的状态标识生成执行路径信息。
可选地,在本实施例中,从执行路径上所包含的行为状态中确定出执行状态包括:从与多条路径对应的多个资源总和中,获取资源总和最小的路径作为第一对象的执行路径;将在执行路径上位于第一对象当前所处的第一行为状态之后,且与第一行为状态相邻的行为状态确定为执行状态。
可选地,在本实施例中可以包括但不限于通过以下至少一种动态寻路的算法从上述多条路径中确定出执行路径:“A*”算法、“Dijkstra”算法。上述仅是一种示例,本实施例中还可以采用其他最优路径计算方法,本实施例中对此不做任何限定。
具体结合图6所示进行说明,假设根据第一行为状态及第二行为状态确定出多条路径包括:1)行为状态A-行为状态C-行为状态E-行为状态F;2)行为状态A-行为状态B-行为状态D-行为状态E-行为状态F。分别计算多条路径上的各条路径上的行为资源的资源总和,如第一条路径1)的资源总和为3,第二条路径2)的资源总和为4,根据获取资源总和最小的路径的原则,则可确定出第一条路径1)为第一对象的执行路径,其中,第一条路径1)上的各个行为状态的行为状态标识将构成执行路径信息。
进一步,受进入目标应用中的多个对象已执行完成的行为的影响,目标状态图中的行为资源已被更新,例如,可如图7所示,对象b当前所处的第一行为状态为行为状态A,对象a当前所处第一行为状态为行为状态C。则对象b在确定执行路径时,路径1)行为状态A-行为状态C-行为状态E-行为状态F的资源总和由3调整为4。在对象b根据属性信息确定(如装备或技能等)可以进入行为状态B,切获知确定执行路径的确定策略为趋异的情况下,则为了避免对象b与对象a执行相同行为,可控制对象b先进入行为状态B,而不是进入行为状态C。
由上述示例说明,在目标应用中多个对象的执行路径的确定过程是可以互相影响的,以第一对象为例来说明,确定第一对象的执行路径信息所指示的执行路径的过程中,每次都需根据更新后的目标状态图确定下一个执行状态,其中,目标状态图根据进入目标应用中的对象已执行的行为进行实时更新。换言之,第一对象可根据进入目标应用中的对象的已执行行为来确定自身待执行的行为。如以游戏应用为例,NPC对象a可根据进入游戏应用中的玩家对象和其他NPC对象的交互互动结果,来确定NPC对象a当前所要执行的目标行为对应的执行状态,进而逐步确定出所要执行的执行路径,以保证对确定过程的灵活控制。上述仅是一种可选的示例,本实施例中对此不做任何限定。
其中,上述对象b的判断过程可以如下:
根据当前应用场景的所有路径行为状态节点表(如目标状态图)CostOfAllStates,查询并复制出对象b在MyStateMap中所有行为状态节点(可选的多条路径中的行为状态)的行为资源;
使用寻路算法,根据进入每个行为状态所使用的行为资源,分别计算对象b在各个路径下从当前行为状态通向目标行为状态的资源总和;
根据对象b的当前行为状态,判断是否能切换进入下一个执行行为状态。如果进入执行行为状态,就在CostOfAllStates中,对该执行行为状态的行为资源进行递增操作;此外,若有其他对象切换出该执行行为状态,则可对应进行递减操作。
需要说明的是,在本实施例中,通过对进入行为状态所使用的行为资源进行递增或递减操作,相当于在CostOfAllStates中统计了当前场景中每个行为状态的NPC对象的数量,因此在利用面对目标的寻路算法中,可以但不限于选择有较少NPC对象采用的行为状态作为执行准港台,从而实现了避免大量NPC对象趋向同一个行为状态的情况。
通过本申请提供的实施例,根据资源总和从多个路径中确定出第一对象的执行路径,利用执行路径上的行为状态的行为状态标识得到执行路径信息,使用面向目标的动态寻路方式来确定第一对象的执行路径,从而实现在保证行为执行效率的同时,还可实现执行行为的多样化。
作为一种可选的方案,根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息包括:
S1,在根据第一行为状态及第二行为状态确定出多条路径的情况下,统计每一条路径上所包含的行为状态对应的目标行为被成功执行的次数;
S2,根据每一条路径上被成功执行的次数确定出执行路径信息。
可选地,在本实施例中,上述目标行为可以包括但不限于通过以下至少一种方式统计:1)直接统计被成功执行的次数;2)把路径进行哈希处理,并对每个路径的哈希结果进行统计。上述仅是一种可选示例,本实施例中对此不做任何限定。
可选地,在本实施例中,根据每一条路径上被成功执行的次数确定出执行路径信息包括:
S21,在所配置的确定策略为趋同策略的情况下,将被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为执行路径信息;
S22,在所配置的确定策略为趋异策略的情况下,将被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为执行路径信息。
可选地,在本实施例中,除了以标量的方式,配置进入各个行为状态所使用的行为资源,还可以但不限于通过预定策略调整修正上述行为资源。如目标应用中的对象可以但不限于实现深度自学习,例如,在按照行为资源的初始值执行的过程中,可再结合行为被成功执行的次数,实时修正调整用于确定执行路径的确定策略。
具体结合以下示例进行说明,在所配置的确定策略为趋同策略的情况下,则在每个对象确定执行路径时,可以但不限于选择被成功执行的次数为最大值的路径上的行为状态的状态标识作为执行路径信息,以便于从中获取准确的执行行为状态。又例如,在所配置的确定策略为趋异策略的情况下,则在每个对象确定执行路径时,可以但不限于选择被成功执行的次数为最小值的路径上的行为状态的状态标识作为执行路径信息,以便于从中获取准确的执行行为状态。
例如,以游戏应用中的、行为状态E为例,假设NPC对象成功执行与行为状态E对应的行为的次数较多,则表示NPC对象转换至行为状态E的成功率较高。玩家对象在一段时间后可获知上述信息,则可通过游戏操作避开上述行为,从而将使得NPC对象成功执行与行为状态E对应的行为逐渐减少。随着行为被成功执行的次数的变化,NPC对象也将随之调整选择其他执行路径,进而确定出其他与NPC对象相匹配的执行行为状态。
通过本申请提供的实施例,在统计出行为被成功执行的次数的情况下,可以根据自学习的学习结果调整修正各个行为所使用的行为资源,从而保证多个对象可以确定出与其更加匹配的执行路径及执行状态。
作为一种可选的方案,在获取与目标应用匹配的目标状态图之前,还包括:
S1,获取行为触发请求,其中,行为触发请求中携带有待执行行为的对象,其中,待执行行为的对象包括第一对象;
S2,响应行为触发请求调用更新函数,其中,更新函数用于指示获取第一对象的第一行为状态及第二行为状态。
具体结合以下示例进行说明,假设仍以游戏应用为例进行说明,以NPC对象为例进行说明,假设上述行为触发请求可以但不限于为游戏应用中的渲染请求,则在游戏引擎每次渲染游戏画面时,可触发调用一次更新(Update)函数。从而实现在渲染每帧游戏画面时,可通过调用更新函数执行一次寻路算法,以确定该帧内行为状态发生变化的NPC对象的执行行为状态,并在NPC对象的执行行为状态确定后,控制NPC对象执行与上述执行行为状态对应的目标行为。
可选地,在本实施例,在获取行为触发请求之前,还包括:获取目标应用中全部对象的全部行为状态及进入每个行为状态所使用的行为资源;配置目标状态图,其中,在目标状态图中还记录有为每个行为状态配置的以下至少一种信息:与每个行为状态对应的行为状态标识、进入每个行为状态的判定条件、进入该行为状态所使用的行为资源。
需要说明的是,在本实施例中,还可但不限于为每个对象配置以下至少一种数据:适用整个场景的目标状态图、对象的第一行为状态。上述场景中的全部对象可以但不限于共用初始的目标状态图,其中,初始的目标状态图中包括进入各个行为状态的初始的行为资源。在各个对象在目标应用中运行的过程中,进入每个行为状态所使用的行为资源可以但不限于被进行了适应调整,以每个行为状态为当前所处的第一行为状态所得到的对应的执行路径也可以但不限于被进行了适应性更新调整。
需要说明的是,在本实施例中,上述目标状态图中的行为状态可以但不限于为将目标应用中的执行逻辑切分后得到的一个个比较独立的行为状态,利用上述目标状态图记录上述行为状态及各个行为状态之间的组合关系。以便于通过灵活组合上述行为状态,以得到在目标状态图中与第一对象匹配的执行路径。
通过本申请提供的实施例,通过在上述简化执行逻辑得到的目标状态图中使用动态寻路方法,获取到第一对象的执行路径,及所要执行的执行状态,以达到控制第一对象快速完成所要执行的目标行为,克服了相关技术中提出的操作复杂度较高的问题,进而实现在提高行为执行效率的同时,还丰富了行为表现的多样性。此外,通过行为触发请求调用更新函数,以实现通过调用更新函数执行寻路算法,以达到快速准确地确定出对象的执行路径的目的,从而实现提高对象的行为执行效率的效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述行为执行方法的行为执行装置,如图8所示,该装置包括:
1)第一获取单元802,用于获取与目标应用匹配的目标状态图,其中,目标状态图中记录有目标应用中全部的行为状态,行为状态用于指示进入目标应用中的对象所要执行的行为的行为策略,目标状态图中记录的行为状态根据进入目标应用中的对象已执行的行为进行实时更新;
2)确定单元804,用于根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息,其中,执行路径信息所指示的执行路径上包括在目标状态图中第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;
3)执行单元806,用于控制第一对象执行与执行路径上所包含的行为状态对应的目标行为。
可选地,在本实施例中,上述行为执行装置可以但不限于应用于游戏应用、购物平台应用等通过控制对象执行行为的应用场景中,例如,上述游戏应用可以但不限于为单机游戏应用、多人互动游戏应用等等。其中,上述行为可以但不限于为进入目标应用中的对象所执行的虚拟的行为。以游戏应用为例,上述第一对象可以包括但不限于游戏应用中非玩家角色(Non-Player Character,简称NPC)对应的虚拟对象,上述NPC可以但不限于利用目标状态图,通过上述行为执行装置控制NPC实现自动按照执行路径所包含的行为状态执行对应的游戏行为,以控制NPC执行多样化的游戏行为,这样不仅简化了执行步骤和操作复杂度,而且还将通过控制各个NPC对象进入不同状态,以避免众多的NPC对象同时执行相同行为的问题。以购物平台应用为例,上述第一对象可以但不限于为导购角色对应的虚拟对象,通过上述行为执行装置控制导购角色实现自动按照执行路径所包含的行为状态执行对应的虚拟服务行为,以控制同一虚拟空间内的导购角色向不同的买家提供导购服务。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
可选地,在本实施例中,上述目标状态图可以包括但不限于记录有目标应用中全部的行为状态。如以游戏应用为例进行说明,上述第一对象可以但不限于为游戏应用中的NPC对象,通过将游戏应用中复杂的游戏执行策略划分为不同的独立的行为状态,并配置行为状态之间的转换关系,以利用上述行为状态构成的目标状态图,通过寻路算法灵活地为NPC对象确定出第一对象的执行路径信息,并控制NPC对象按照上述执行路径信息所指示的执行路径上所包含的行为状态执行对应的目标行为。也就是说,利用进入目标应用中的对象已执行的行为而实时更新后的目标状态图来控制目标应用中的第一对象自动执行对应的目标行为,而不再需要为每个NPC对象分别配置不同的执行代码,从而实现简化行为执行的操作复杂度的效果。
可选地,在本实施例中,上述目标状态图中还记录有进入每个行为状态所使用的行为资源。其中,上述行为资源可以但不限于用于标识进入每个行为状态的成本,上述行为资源越高,用于表示行为状态转换所需的成本越高,还用于表示行为状态转换的成功率越低,反而反之。
需要说明的是,在本实施例中,上述行为资源可以但不限于存储在目标应用的服务器中,按照行为策略被初始化设置为预定的初始值。其中,根据不同的实际应用场景,不同行为状态对应的行为资源的初始值可以被配置为相同值,也可以被配置为不同值。本实施例中对此不做任何限定。在执行上述行为的过程中,可以但不限于按照行为策略实时调整目标状态图中进入各个行为状态所使用的行为资源,以实现在第一对象的寻路过程中,可以根据当前目标状态图中实时调整后的行为资源,来获取更加准确的执行路径,以灵活控制不同对象进入目标状态图中不同的行为状态,从而避免进入目标应用的全部对象进入相同的行为状态,执行相同的目标行为,通过上述趋异化控制,以达到提高行为执行的多样性的效果。
此外,在本实施例中,上述目标状态图中还记录有为每个行为状态配置的以下至少一种信息:与每个行为状态对应的行为状态标识、进入每个行为状态的判定条件。也就是说,获取经判断而得到的满足判定条件的一系列行为状态,得到与第一对象对应的多条路径,再通过比对各个路径,以确定第一对象的执行路径信息,进而控制第一对象执行上述执行路径信息所指示的执行路径中包含的行为状态对应的目标行为。上述仅是一种示例,本实施例中对此不做任何限定。
其中,在本实施例中,在确定出第一对象所要执行的执行路径之前,获取根据当前进入目标应用中的对象已执行的行为所更新的目标状态图。利用更新后的目标状态图,确定出第一对象的执行路径信息,在控制第一对象执行完成一次执行路径信息所指示的执行路径上的一个目标行为之后,可以但不限于再次更新目标状态图,利用更新后的目标状态图,以重新确定出新的执行路径,从新的执行路径上获取下一个所要执行的目标行为,依次类推,直至到达第二行为状态。换言之,第一对象在从第一行为状态到达第二行为状态的过程中,实际所经过的行为状态可以在一条执行路径上,也可以经过多次执行路径的切换。上述仅是一种示例,为了实现所确定出的执行状态的灵活性和准确性,本实施例中对此不做任何限定。
例如,假设与目标应用对应的目标状态图如图3所示,该目标状态图中包括六个行为状态,分别为行为状态A至行为状态F。假设获取到第一对象当前所处的第一行为状态为行为状态A,所要到达的第二行为状态为行为状态F,进一步,根据上述行为状态A及行为状态F,确定出执行路径包括:行为状态A-行为状态C-行为状态E-行为状态F。在当前确定出的执行路径上,下一个所要执行的执行状态为行为状态C,控制第一对象进入行为状态C,执行与行为状态C对应的目标行为。然后,将行为状态C更新为当前所处的第一行为状态,并更新目标状态图。利用更新后的目标状态图再次重新确定执行路径,例如执行路径为行为状态C-行为状态D-行为状态F,则可确定出下一个所要执行的执行状态为行为状态D,而不是第一次确定出的行为状态E。也就是说,在本实施例中,利用更新后的目标状态图,以准确控制第一对象在目标状态图中的行为状态转换,从而实现控制第一对象准确执行与上述执行状态对应的目标行为,以便于提高行为执行的准确率和灵活性。
可选地,在本实施例中,还可以但不限于结合对象的其他属性信息确定出多条路径。进一步,再从上述多条路径中确定出一条执行路径。其中,以游戏应用为例,上述属性信息可以包括对象当前拥有的技能、法力值、血量值、装备道具等等。以购物应用为例,上述属性信息可以包括:对象当前拥有的资金、购物类型需求等等。上述仅是一种示例,本实施例中对此不做任何限定。
例如,如图4所示,目标应用以游戏应用为例,目标状态图用于记录游戏应用中的NPC对象的全部的行为状态,如图4所示,上述行为状态可以包括但不限于:移动行为状态、刀攻击行为状态、剑攻击行为状态、射箭攻击行为状态等等。这里第一对象假设以NPC对象a为例进行说明,该NPC对象a的目标状态图可以如图5所示,假设NPC对象a的第一行为状态为移动行为状态,所要到达的第二行为状态对应的目标行为为:攻击玩家对象。在经判断得出NPC对象a与玩家账号对应的玩家对象的距离小于预定阈值的情况下,则确定出NPC对象a可实现近距离攻击,到达第二行为状态的路径可以包括两条,分别为通过刀攻击行为状态,或通过剑攻击行为状态,实现对玩家对象的近距离攻击。
进一步,作为一种可选的实施方式,在确定NPC对象属性信息指示NPC对象a拥有装备“刀”的情况下,则可确定执行路径为:移动行为状态-刀攻击行为状态-攻击玩家对象;作为另一种可选的实施方式,在确定NPC对象a从“移动行为状态”转换到“刀攻击行为状态”所使用的行为资源较少的情况下,则可确定执行路径为:移动行为状态-刀攻击行为状态-攻击玩家对象。也就是说,可确定出NPC对象a在当前行为状态之后的执行状态为“刀攻击行为状态”,以便于完成近距离攻击玩家对象的行为。
此外,在经判断得出NPC对象a与玩家账号对应的玩家对象的距离大于预定阈值的情况下,则确定出NPC对象a可实现远距离攻击,到达第二行为状态的路径可以包括一条,通过射箭攻击行为状态实现对玩家对象的远距离攻击。进一步,在完成射箭攻击行为之后,可以继续判断下一个执行状态,本实施例中对此不做任何限定。
可选地,在本实施例中,在确定执行状态之后,在第一对象进入执行状态时,为进入执行状态所使用的当前行为资源叠加目标行为资源,更新当前行为资源;在第一对象退出执行状态时,从进入执行状态所使用的当前行为资源中扣除目标行为资源,更新当前行为资源。
需要说明的是,在本实施例中,为了控制在目标应用中处在各个行为状态上的对象数量,可以但不限于利用目标应用中的多个对象已执行的行为,来更新目标状态图,如调整目标状态图中进入各个行为状态所使用的行为资源。例如,以第一对象为例,在第一对象确定执行状态(如行为状态C)后,在该执行状态(如行为状态C)原有的行为资源的基础上叠加目标行为资源;进一步,在第二对象确定执行路径时,对于行为状态C,将使用已叠加目标行为资源后的行为资源,来判定是否进入上述执行状态(如行为状态C),从而达到控制对象避免执行相同的目标行为,达到趋异化控制,进而实现提高目标应用中的对象执行行为的多样性的效果。
可选地,在本实施例中,在控制第一对象执行与执行状态对应的目标行为之后,统计每一条路径上所包含的行为状态对应的目标行为被成功执行的次数;根据每一条路径上被成功执行的次数确定出执行路径信息。
需要说明的是,在本实施例中,可以但不限于根据目标行为被成功执行的次数,以调整确定执行路径信息的确定策略,从而达到对目标应用中的多个对象进行趋同控制或趋异控制。例如,在所配置的确定策略为趋同策略的情况下,将被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为执行路径信息;又例如,在所配置的确定策略为趋异策略的情况下,将被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为执行路径信息。
此外,在本实施例中,通过上述方式可实现目标应用的人工智能(ArtificialInterlligence,简称AI)执行过程,一方面,目标应用中的对象是结合第一行为状态和第二行为状态确定执行路径,也就是说,随着第一对象当前所处的第一行为状态的改变,所确定的执行路径也会随之改变,从而保证对象最终实现的执行轨迹的灵活性,而且还提高了对象执行的多样性,避免在目标应用中的多个对象执行相同的行为;另一方面,目标应用中的对象可以实现自学习,在统计出行为被成功执行的次数的情况下,调整确定策略,从而保证多个对象可以确定出与其更加匹配的执行路径及执行状态。
可选地,在本实施例中,在获取目标应用中第一对象的当前行为状态及目标行为状态之前,还包括:获取行为触发请求,其中,行为触发请求中携带有待执行行为的对象,其中,待执行行为的对象包括第一对象;响应行为触发请求调用更新函数,其中,更新函数用于指示获取第一对象的第一行为状态及第二行为状态。
也就是说,上述触发请求可以但不限于触发一个或多个对象分别根据对应的第一行为状态及第二行为状态确定各自对应的执行路径及执行状态,以便于执行对应的目标行为,其中,上述对象中包括第一对象。
通过本申请提供的实施例,利用与目标应用匹配的记录有目标应用中全部的行为状态的目标状态图,来确定进入上述目标应用中的待确定的第一对象的执行路径信息,并控制第一对象按照上述行为状态所指示的行为策略,执行上述执行路径信息所指示的执行路径上所包含的行为状态对应的目标行为。从而实现通过控制第一对象完成执行在执行路径上的行为状态,来简化行为执行控制过程,而无需为目标应用中的每个对象分别配置不同的行为执行判定条件,编辑配置不同的执行代码,以达到简化行为执行的操作复杂度的目的。进一步,这样利用目标状态图,通过控制在执行路径上所包含的行为状态间的切换,来实现提高第一对象在目标应用中执行多样化行为的效果,进而达到提高行为执行灵活性,改善行为执行的多样性的效果。
作为一种可选的方案,目标状态图中还记录有进入每个行为状态所使用的行为资源,其中,还包括:
1)第二确定单元,用于在控制第一对象执行与执行路径上所包含的行为状态对应的目标行为的过程中,从执行路径上所包含的行为状态中确定出执行状态,其中,执行状态为在第一行为状态之后,第一对象下一个所要执行的目标行为对应的行为状态;
2)第二执行单元,用于控制第一对象进入执行状态,按照执行状态对应的行为策略执行目标行为,并更新进入执行状态所使用的行为资源。
可选地,在本实施例中,上述行为资源可以但不限于用于标识进入每个行为状态的成本,上述行为资源越高,用于表示行为状态转换所需的成本越高,同时还用于表示行为状态转换的成功率越低,反而反之。
具体结合图6所示示例进行说明,假设目标状态图中进入各个行为状态所使用的行为资源如图6所示,初始值均为1,以第一对象当前所处的第一行为状态(行为状态A),第一次确定执行路径为例进行说明。第一对象所要到达的第二行为状态为行为状态F,假设可行的多条路径包括:1)行为状态A-行为状态C-行为状态E-行为状态F;2)行为状态A-行为状态B-行为状态D-行为状态E-行为状态F。进一步,从上述多条路径中确定出执行路径(假设为路径1)),并从执行路径(路径1))上所包含的行为状态中确定出下一个所要执行的目标行为对应的行为状态(如行为状态C),即行为状态C为执行状态。然后,控制第一对象进入上述行为状态C,按照行为状态C对应的行为策略执行目标行为,假设为剑攻击状态,并更新目标状态图中进入行为状态C所使用的行为资源。
需要说明的是,在本实施例中,上述执行状态可以但不限于在执行路径上,第一对象在退出当前所处的第一行为状态之后,下一个所要进入的行为状态,也是第一对象下一个所要执行的目标行为对应的行为状态。
此外,在本实施例中,每次确定的执行状态是根据实时更新后的目标状态图而确定,换言之,执行状态可以但不限于在不同的执行路径上,参照上述结合图3所举示例。本实施例中对此不做任何限定。
可选地,在本实施例中,目标状态图中的各个行为状态用于指示行为策略,如AI策略,例如,以游戏应用为例,AI策略可以为NPC对象的攻击策略,用于近距离攻击的刀剑攻击行为状态,用于远距离攻击的射箭攻击行为状态。如图3所示,假设NPC对象确定出执行路径包括:行为状态A-行为状态C-行为状态E-行为状态F。当前所处第一行为状态为行为状态A,下一个所要执行的执行状态为行为状态C。则可以控制NPC对象按照执行状态(行为状态C)对应的行为策略执行目标行为;进一步,更新进入执行状态所使用的行为资源。
通过本申请提供的实施例,通过从执行路径上所包含的行为状态中确定出执行状态,并控制第一对象进入执行状态,按照执行状态对应的行为策略执行目标行为,从而实现准确灵活确定第一对象下一个进入的执行状态,调整所要执行的目标行为,进而达到提高行为效率和灵活性的效果。
作为一种可选的方案,第二执行单元包括:
1)叠加模块,用于在第一对象进入执行状态时,为进入执行状态所使用的当前行为资源叠加目标行为资源,更新当前行为资源;
2)扣除模块,用于在第一对象退出执行状态时,从进入执行状态所使用的当前行为资源中扣除目标行为资源,更新当前行为资源。
需要说明的是,上述目标行为资源可以但不限于为预配置的固定行为资源。上述当前行为资源可以但不限于行为状态在当前时刻所拥有的行为资源。
具体结合图7所示示例进行说明,受进入目标应用中的对象已执行完成的行为的影响,目标状态图中的行为资源已被更新。假设目标行为资源为1,当前场景中包括两个对象,如对象a和对象b。对象b当前所处的第一行为状态为行为状态A。对象a当前所处第一行为状态为行为状态C,前一个行为状态为行为状态A,对象a从行为状态A进入行为状态C后,进入行为状态C所使用的行为资源在1的基础上,叠加目标行为资源1,得到当前行为资源为2。进一步,在对象a退出行为状态C时,可再扣除目标行为资源1,更新当前行为资源,再次恢复到进入行为状态C所使用的行为资源1。
通过本申请提供的实施例,通过对执行行为状态的行为资源按照目标行为资源进行动态的加减控制,以达到丰富目标应用中多个对象的行为表现的效果。
作为一种可选的方案,
1)第一确定单元包括:(1)第一获取模块,用于在根据第一行为状态及第二行为状态确定出多条路径的情况下,获取在执行每一条路径上所包含的行为状态对应的行为时所使用的行为资源的资源总和;(2)生成模块,用于根据资源总和从多条路径中确定出第一对象的执行路径,利用执行路径上的行为状态的状态标识生成执行路径信息。
2)第二确定单元包括:(1)第二获取模块,用于从与多条路径对应的多个资源总和中,获取资源总和最小的路径作为第一对象的执行路径;(2)第一确定模块,用于将在执行路径上位于第一对象当前所处的第一行为状态之后,且与第一行为状态相邻的行为状态确定为执行状态。
可选地,在本实施例中,从执行路径上所包含的行为状态中确定出执行状态包括:从与多条路径对应的多个资源总和中,获取资源总和最小的路径作为第一对象的执行路径;将在执行路径上位于第一对象当前所处的第一行为状态之后,且与第一行为状态相邻的行为状态确定为执行状态。
可选地,在本实施例中可以包括但不限于通过以下至少一种动态寻路的算法从上述多条路径中确定出执行路径:“A*”算法、“Dijkstra”算法。上述仅是一种示例,本实施例中还可以采用其他最优路径计算方法,本实施例中对此不做任何限定。
具体结合图6所示进行说明,假设根据第一行为状态及第二行为状态确定出多条路径包括:1)行为状态A-行为状态C-行为状态E-行为状态F;2)行为状态A-行为状态B-行为状态D-行为状态E-行为状态F。分别计算多条路径上的各条路径上的行为资源的资源总和,如第一条路径1)的资源总和为3,第二条路径2)的资源总和为4,根据获取资源总和最小的路径的原则,则可确定出第一条路径1)为第一对象的执行路径,其中,第一条路径1)上的各个行为状态的行为状态标识将构成执行路径信息。
进一步,受进入目标应用中的多个对象已执行完成的行为的影响,目标状态图中的行为资源已被更新,例如,可如图7所示,对象b当前所处的第一行为状态为行为状态A,对象a当前所处第一行为状态为行为状态C。则对象b在确定执行路径时,路径1)行为状态A-行为状态C-行为状态E-行为状态F的资源总和由3调整为4。在对象b根据属性信息确定(如装备或技能等)可以进入行为状态B,切获知确定执行路径的确定策略为趋异的情况下,则为了避免对象b与对象a执行相同行为,可控制对象b先进入行为状态B,而不是进入行为状态C。
由上述示例说明,在目标应用中多个对象的执行路径的确定过程是可以互相影响的,以第一对象为例来说明,确定第一对象的执行路径信息所指示的执行路径的过程中,每次都需根据更新后的目标状态图确定下一个执行状态,其中,目标状态图根据进入目标应用中的对象已执行的行为进行实时更新。换言之,第一对象可根据进入目标应用中的对象的已执行行为来确定自身待执行的行为。如以游戏应用为例,NPC对象a可根据进入游戏应用中的玩家对象和其他NPC对象的交互互动结果,来确定NPC对象a当前所要执行的目标行为对应的执行状态,进而逐步确定出所要执行的执行路径,以保证对确定过程的灵活控制。上述仅是一种可选的示例,本实施例中对此不做任何限定。
其中,上述对象b的判断过程可以如下:
根据当前应用场景的所有路径行为状态节点表(如目标状态图)CostOfAllStates,查询并复制出对象b在MyStateMap中所有行为状态节点(可选的多条路径中的行为状态)的行为资源;
使用寻路算法,根据进入每个行为状态所使用的行为资源,分别计算对象b在各个路径下从当前行为状态通向目标行为状态的资源总和;
根据对象b的当前行为状态,判断是否能切换进入下一个执行行为状态。如果进入执行行为状态,就在CostOfAllStates中,对该执行行为状态的行为资源进行递增操作;此外,若有其他对象切换出该执行行为状态,则可对应进行递减操作。
需要说明的是,在本实施例中,通过对进入行为状态所使用的行为资源进行递增或递减操作,相当于在CostOfAllStates中统计了当前场景中每个行为状态的NPC对象的数量,因此在利用面对目标的寻路算法中,可以但不限于选择有较少NPC对象采用的行为状态作为执行准港台,从而实现了避免大量NPC对象趋向同一个行为状态的情况。
通过本申请提供的实施例,根据资源总和从多个路径中确定出第一对象的执行路径,利用执行路径上的行为状态的行为状态标识得到执行路径信息,使用面向目标的动态寻路方式来确定第一对象的执行路径,从而实现在保证行为执行效率的同时,还可实现执行行为的多样化。
作为一种可选的方案,第一确定单元包括:
1)统计模块,用于在根据第一行为状态及第二行为状态确定出多条路径的情况下,统计每一条路径上所包含的行为状态对应的目标行为被成功执行的次数;
2)第二确定模块,用于根据每一条路径上被成功执行的次数确定出执行路径信息;
可选地,在本实施例中,上述目标行为可以包括但不限于通过以下至少一种方式统计:1)直接统计被成功执行的次数;2)把路径进行哈希处理,并对每个路径的哈希结果进行统计。上述仅是一种可选示例,本实施例中对此不做任何限定。
其中,第二确定模块包括:
(1)第一确定子模块,用于在所配置的确定策略为趋同策略的情况下,将被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为执行路径信息;
(2)第二确定子模块,用于在所配置的确定策略为趋异策略的情况下,将被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为执行路径信息。
可选地,在本实施例中,除了以标量的方式,配置进入各个行为状态所使用的行为资源,还可以但不限于通过预定策略调整修正上述行为资源。如目标应用中的对象可以但不限于实现深度自学习,例如,在按照行为资源的初始值执行的过程中,可再结合行为被成功执行的次数,实时修正调整用于确定执行路径的确定策略。
具体结合以下示例进行说明,在所配置的确定策略为趋同策略的情况下,则在每个对象确定执行路径时,可以但不限于选择被成功执行的次数为最大值的路径上的行为状态的状态标识作为执行路径信息,以便于从中获取准确的执行行为状态。又例如,在所配置的确定策略为趋异策略的情况下,则在每个对象确定执行路径时,可以但不限于选择被成功执行的次数为最小值的路径上的行为状态的状态标识作为执行路径信息,以便于从中获取准确的执行行为状态。
例如,以游戏应用中的、行为状态E为例,假设NPC对象成功执行与行为状态E对应的行为的次数较多,则表示NPC对象转换至行为状态E的成功率较高。玩家对象在一段时间后可获知上述信息,则可通过游戏操作避开上述行为,从而将使得NPC对象成功执行与行为状态E对应的行为逐渐减少。随着行为被成功执行的次数的变化,NPC对象也将随之调整选择其他执行路径,进而确定出其他与NPC对象相匹配的执行行为状态。
通过本申请提供的实施例,在统计出行为被成功执行的次数的情况下,可以根据自学习的学习结果调整修正各个行为所使用的行为资源,从而保证多个对象可以确定出与其更加匹配的执行路径及执行状态。
实施例3
根据本发明实施例,还提供了一种电子装置。可选地,图9是根据本发明实施例的一种电子装置的结构框图。如图9所示,该电子装置可以包括:处理器902、存储器904、显示屏906及传输装置908,其中,上述传输装置908可以包括但不限于:网络适配器910、射频模块912。上述处理器902通过用户接口914向显示屏906发送所要显示的内容,或接收通过显示屏906输入的内容。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
其中,存储器904可用于存储软件程序以及模块,如本发明实施例中的行为执行方法和装置对应的程序指令/模块,处理器51通过运行存储在存储器904内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的行为执行方法。存储器904可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器904可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置908用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置908包括一个网络适配器(NetworkInterface Controller,NIC)910,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置908为射频(Radio Frequency,RF)模块912,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器904用于存储预设动作条件和预设权限用户的信息、以及应用程序。
本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取与目标应用匹配的目标状态图,其中,目标状态图中记录有目标应用中全部的行为状态,行为状态用于指示进入目标应用中的对象所要执行的行为的行为策略,目标状态图中记录的行为状态根据进入目标应用中的对象已执行的行为进行实时更新;
S2,根据目标状态图中记录的行为状态确定出目标应用中待确定的第一对象的执行路径信息,其中,执行路径信息所指示的执行路径上包括在目标状态图中第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;
S3,控制第一对象执行与执行路径上所包含的行为状态对应的目标行为。
可选地,在本实施例中,目标状态图中还记录有进入每个行为状态所使用的行为资源,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,从执行路径上所包含的行为状态中确定出执行状态,其中,执行状态为在第一行为状态之后,第一对象下一个所要执行的目标行为对应的行为状态;
S2,控制第一对象进入执行状态,按照执行状态对应的行为策略执行目标行为,并更新进入执行状态所使用的行为资源。
可选地,在本实施例中存储介质被设置为存储用于执行以下步骤的程序代码:
S1,在第一对象进入执行状态时,为进入执行状态所使用的当前行为资源叠加目标行为资源,更新当前行为资源;
S2,在第一对象退出执行状态时,从进入执行状态所使用的当前行为资源中扣除目标行为资源,更新当前行为资源。
可选地,在本实施例中存储介质被设置为存储用于执行以下步骤的程序代码:
S1,在根据第一行为状态及第二行为状态确定出多条路径的情况下,获取在执行每一条路径上所包含的行为状态对应的行为时所使用的行为资源的资源总和;
S2,根据资源总和从多条路径中确定出第一对象的执行路径,利用执行路径上的行为状态的状态标识生成执行路径信息。
可选地,在本实施例中存储介质被设置为存储用于执行以下步骤的程序代码:
S1,在根据第一行为状态及第二行为状态确定出多条路径的情况下,统计每一条路径上所包含的行为状态对应的目标行为被成功执行的次数;
S2,根据每一条路径上被成功执行的次数确定出执行路径信息。
可选地,在本实施例中存储介质被设置为存储用于执行以下步骤的程序代码:
S1,在所配置的确定策略为趋同策略的情况下,将被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为执行路径信息;
S2,在所配置的确定策略为趋异策略的情况下,将被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为执行路径信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种行为执行方法,其特征在于,包括:
获取与目标应用匹配的目标状态图,其中,所述目标状态图中记录有所述目标应用中全部的行为状态,所述行为状态用于指示进入所述目标应用中的对象所要执行的行为的行为策略,所述目标状态图中记录的所述行为状态根据进入所述目标应用中的对象已执行的行为进行实时更新;
根据所述目标状态图中记录的所述行为状态确定出所述目标应用中待确定的第一对象的执行路径信息,其中,所述执行路径信息所指示的执行路径上包括在所述目标状态图中所述第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;
控制所述第一对象执行与所述执行路径上所包含的行为状态对应的目标行为。
2.根据权利要求1所述的方法,其特征在于,所述目标状态图中还记录有进入每个所述行为状态所使用的行为资源,其中,在所述控制所述第一对象执行与所述执行路径上所包含的行为状态对应的目标行为的过程中,还包括:
从所述执行路径上所包含的行为状态中确定出执行状态,其中,所述执行状态为在所述第一行为状态之后,所述第一对象下一个所要执行的所述目标行为对应的行为状态;
控制所述第一对象进入所述执行状态,按照所述执行状态对应的行为策略执行所述目标行为,并更新进入所述执行状态所使用的行为资源。
3.根据权利要求2所述的方法,其特征在于,所述更新进入所述执行状态所使用的行为资源包括:
在所述第一对象进入所述执行状态时,为进入所述执行状态所使用的当前行为资源叠加目标行为资源,更新所述当前行为资源;
在所述第一对象退出所述执行状态时,从进入所述执行状态所使用的所述当前行为资源中扣除所述目标行为资源,更新所述当前行为资源。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标状态图中记录的所述行为状态确定出所述目标应用中待确定的第一对象的执行路径信息包括:
在根据所述第一行为状态及所述第二行为状态确定出多条路径的情况下,获取在执行每一条路径上所包含的行为状态对应的行为时所使用的所述行为资源的资源总和;
根据所述资源总和从所述多条路径中确定出所述第一对象的所述执行路径,利用所述执行路径上的所述行为状态的状态标识生成所述执行路径信息。
5.根据权利要求4所述的方法,其特征在于,所述从所述执行路径上所包含的行为状态中确定出执行状态包括:
从与所述多条路径对应的多个所述资源总和中,获取所述资源总和最小的路径作为所述第一对象的所述执行路径;
将在所述执行路径上位于所述第一对象当前所处的所述第一行为状态之后,且与所述第一行为状态相邻的行为状态确定为所述执行状态。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标状态图中记录的所述行为状态确定出所述目标应用中待确定的第一对象的执行路径信息包括:
在根据所述第一行为状态及所述第二行为状态确定出多条路径的情况下,统计每一条路径上所包含的行为状态对应的所述目标行为被成功执行的次数;
根据每一条路径上所述被成功执行的次数确定出所述执行路径信息。
7.根据权利要求6所述的方法,其特征在于,所述根据每一条路径上所述被成功执行的次数确定出所述执行路径信息包括:
在所配置的确定策略为趋同策略的情况下,将所述被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为所述执行路径信息;
在所配置的确定策略为趋异策略的情况下,将所述被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为所述执行路径信息。
8.根据权利要求1所述的方法,其特征在于,在所述获取与目标应用匹配的目标状态图之前,还包括:
获取行为触发请求,其中,所述行为触发请求中携带有待执行行为的对象,其中,所述待执行行为的对象包括所述第一对象;
响应所述行为触发请求调用更新函数,其中,所述更新函数用于指示获取所述第一对象的所述第一行为状态及所述第二行为状态。
9.一种行为执行装置,其特征在于,包括:
第一获取单元,用于获取与目标应用匹配的目标状态图,其中,所述目标状态图中记录有所述目标应用中全部的行为状态,所述行为状态用于指示进入所述目标应用中的对象所要执行的行为的行为策略,所述目标状态图中记录的所述行为状态根据进入所述目标应用中的对象已执行的行为进行实时更新;
第一确定单元,用于根据所述目标状态图中记录的所述行为状态确定出所述目标应用中待确定的第一对象的执行路径信息,其中,所述执行路径信息所指示的执行路径上包括在所述目标状态图中所述第一对象以当前所处的第一行为状态为起点,所要到达的第二行为状态为终点所经过的行为状态;
第一执行单元,用于控制所述第一对象执行与所述执行路径上所包含的行为状态对应的目标行为。
10.根据权利要求9所述的装置,其特征在于,所述目标状态图中还记录有进入每个所述行为状态所使用的行为资源,其中,还包括:
第二确定单元,用于在所述控制所述第一对象执行与所述执行路径上所包含的行为状态对应的目标行为的过程中,从所述执行路径上所包含的行为状态中确定出执行状态,其中,所述执行状态为在所述第一行为状态之后,所述第一对象下一个所要执行的所述目标行为对应的行为状态;
第二执行单元,用于控制所述第一对象进入所述执行状态,按照所述执行状态对应的行为策略执行所述目标行为,并更新进入所述执行状态所使用的行为资源。
11.根据权利要求10所述的装置,其特征在于,所述第二执行单元包括:
叠加模块,用于在所述第一对象进入所述执行状态时,为进入所述执行状态所使用的当前行为资源叠加目标行为资源,更新所述当前行为资源;
扣除模块,用于在所述第一对象退出所述执行状态时,从进入所述执行状态所使用的所述当前行为资源中扣除所述目标行为资源,更新所述当前行为资源。
12.根据权利要求10所述的装置,其特征在于,
所述第一确定单元包括:
第一获取模块,用于在根据所述第一行为状态及所述第二行为状态确定出多条路径的情况下,获取在执行每一条路径上所包含的行为状态对应的行为时所使用的所述行为资源的资源总和;
生成模块,用于根据所述资源总和从所述多条路径中确定出所述第一对象的所述执行路径,利用所述执行路径上的所述行为状态的状态标识生成所述执行路径信息;
所述第二确定单元包括:
第二获取模块,用于从与所述多条路径对应的多个所述资源总和中,获取所述资源总和最小的路径作为所述第一对象的所述执行路径;
第一确定模块,用于将在所述执行路径上位于所述第一对象当前所处的所述第一行为状态之后,且与所述第一行为状态相邻的行为状态确定为所述执行状态。
13.根据权利要求9所述的装置,其特征在于,所述第一确定单元包括:
统计模块,用于在根据所述第一行为状态及所述第二行为状态确定出多条路径的情况下,统计每一条路径上所包含的行为状态对应的所述目标行为被成功执行的次数;
第二确定模块,用于根据每一条路径上所述被成功执行的次数确定出所述执行路径信息;
其中,所述第二确定模块包括:
第一确定子模块,用于在所配置的确定策略为趋同策略的情况下,将所述被成功执行的次数为最大值的路径上的行为状态的状态标识,确定为所述执行路径信息;
第二确定子模块,用于在所配置的确定策略为趋异策略的情况下,将所述被成功执行的次数为最小值的路径上的行为状态的状态标识,确定为所述执行路径信息。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至8任一项中所述的方法。
15.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710727042.9A CN107678804B (zh) | 2017-08-22 | 2017-08-22 | 行为执行方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710727042.9A CN107678804B (zh) | 2017-08-22 | 2017-08-22 | 行为执行方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107678804A true CN107678804A (zh) | 2018-02-09 |
CN107678804B CN107678804B (zh) | 2021-04-09 |
Family
ID=61135072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710727042.9A Active CN107678804B (zh) | 2017-08-22 | 2017-08-22 | 行为执行方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678804B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597641A (zh) * | 2018-12-07 | 2019-04-09 | 武汉瓯越网视有限公司 | 一种对象行为的控制方法、装置、终端及存储介质 |
CN110226589A (zh) * | 2019-05-06 | 2019-09-13 | 上海秒针网络科技有限公司 | 目标对象驱赶方法和装置、存储介质及电子装置 |
CN110297697A (zh) * | 2018-03-21 | 2019-10-01 | 北京猎户星空科技有限公司 | 机器人动作序列生成方法和装置 |
CN112090077A (zh) * | 2020-09-08 | 2020-12-18 | 福建天晴在线互动科技有限公司 | 一种游戏技能状态多路转换的路线设置方法及其系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080600A1 (en) * | 2003-10-10 | 2005-04-14 | Synopsys, Inc. | Mixed-signal finite state machine models ensuring analog continuity |
CN101873334A (zh) * | 2009-04-24 | 2010-10-27 | 同济大学 | 一种状态驱动的可执行业务流程执行方法 |
US20110283253A1 (en) * | 2010-05-12 | 2011-11-17 | Microsoft Corporation | Enforcement of architectural design during software development |
CN103686865A (zh) * | 2012-09-26 | 2014-03-26 | 索尼公司 | 网络资源使用的决策装置和方法 |
CN104866291A (zh) * | 2014-02-24 | 2015-08-26 | 上海连梦文化传播有限公司 | 一种基于Android的手机2D游戏引擎 |
CN105656688A (zh) * | 2016-03-03 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 状态控制方法和装置 |
CN106390456A (zh) * | 2016-09-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 游戏中角色行为的生成方法和装置 |
-
2017
- 2017-08-22 CN CN201710727042.9A patent/CN107678804B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080600A1 (en) * | 2003-10-10 | 2005-04-14 | Synopsys, Inc. | Mixed-signal finite state machine models ensuring analog continuity |
CN101873334A (zh) * | 2009-04-24 | 2010-10-27 | 同济大学 | 一种状态驱动的可执行业务流程执行方法 |
US20110283253A1 (en) * | 2010-05-12 | 2011-11-17 | Microsoft Corporation | Enforcement of architectural design during software development |
CN103686865A (zh) * | 2012-09-26 | 2014-03-26 | 索尼公司 | 网络资源使用的决策装置和方法 |
CN104866291A (zh) * | 2014-02-24 | 2015-08-26 | 上海连梦文化传播有限公司 | 一种基于Android的手机2D游戏引擎 |
CN105656688A (zh) * | 2016-03-03 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 状态控制方法和装置 |
CN106390456A (zh) * | 2016-09-30 | 2017-02-15 | 腾讯科技(深圳)有限公司 | 游戏中角色行为的生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
杨柳 等: "《智能规划理论和方法研究》", 31 July 2017, 冶金工业出版社 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297697A (zh) * | 2018-03-21 | 2019-10-01 | 北京猎户星空科技有限公司 | 机器人动作序列生成方法和装置 |
CN110297697B (zh) * | 2018-03-21 | 2022-02-18 | 北京猎户星空科技有限公司 | 机器人动作序列生成方法和装置 |
CN109597641A (zh) * | 2018-12-07 | 2019-04-09 | 武汉瓯越网视有限公司 | 一种对象行为的控制方法、装置、终端及存储介质 |
CN109597641B (zh) * | 2018-12-07 | 2022-03-08 | 武汉瓯越网视有限公司 | 一种对象行为的控制方法、装置、终端及存储介质 |
CN110226589A (zh) * | 2019-05-06 | 2019-09-13 | 上海秒针网络科技有限公司 | 目标对象驱赶方法和装置、存储介质及电子装置 |
CN110226589B (zh) * | 2019-05-06 | 2022-01-28 | 上海秒针网络科技有限公司 | 目标对象驱赶方法和装置、存储介质及电子装置 |
CN112090077A (zh) * | 2020-09-08 | 2020-12-18 | 福建天晴在线互动科技有限公司 | 一种游戏技能状态多路转换的路线设置方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107678804B (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106390456B (zh) | 游戏中角色行为的生成方法和装置 | |
US11135514B2 (en) | Data processing method and apparatus, and storage medium for concurrently executing event characters on a game client | |
CN107678804A (zh) | 行为执行方法和装置、存储介质及电子装置 | |
CN109508789A (zh) | 预测手牌的方法、存储介质、处理器以及设备 | |
US20210365782A1 (en) | Method and apparatus for generating neural network model, and computer-readable storage medium | |
CN110882544B (zh) | 多智能体训练方法、装置和电子设备 | |
CN106422332A (zh) | 应用于游戏的人工智能操作方法和装置 | |
CN107970608A (zh) | 关卡游戏的设置方法和装置、存储介质、电子装置 | |
CN109876444A (zh) | 数据展示方法和装置、存储介质及电子装置 | |
CN110882542A (zh) | 游戏智能体的训练方法、装置、设备及存储介质 | |
CN107398072A (zh) | 游戏画面的显示方法和装置 | |
CN108211361B (zh) | 游戏中虚拟资源获取概率的确定方法和装置、存储介质、电子装置 | |
CN110134375B (zh) | 游戏角色行为的控制方法、装置及可读存储介质 | |
CN105446742B (zh) | 一种人工智能执行任务的优化方法 | |
CN110339569A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN106412277A (zh) | 虚拟场景的加载方法和装置 | |
CN103577704A (zh) | 游戏系统中npc处理事件的方法及装置 | |
CN109993308A (zh) | 基于云平台共享学习系统及方法、共享平台及方法、介质 | |
CN110152290A (zh) | 游戏运行方法和装置、存储介质及电子装置 | |
CN110251942A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
Cadena et al. | Fuzzy case-based reasoning for managing strategic and tactical reasoning in starcraft | |
CN110008999A (zh) | 目标帐号的确定方法、装置、存储介质及电子装置 | |
CN108111568A (zh) | 对象获取方法和装置、存储介质及电子装置 | |
CN110325965B (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
CN110569900A (zh) | 游戏ai决策方法及装置 |
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 |