AI构建方法及装置、游戏控制方法及装置、AI系统与流程

文档序号:12668297阅读:409来源:国知局
AI构建方法及装置、游戏控制方法及装置、AI系统与流程

本发明涉及游戏控制领域,尤其涉及一种基于层次化行为树的AI构建方法及装置、游戏控制方法及装置、AI系统。



背景技术:

随着游戏行业的发展,人工智能(Artificial Intelligence,AI)设计的重要性与日俱增。最早的游戏PingPong,直接以玩家对战作为游戏的方式,其本身是不需要AI的。而随着游戏行业的发展,越来越多的游戏以冒险闯关、与怪物对抗作为核心玩点。如在超级马里奥(Super Mario)中,每一个蘑菇、乌龟等都有自己的行动轨迹,BOSS也会根据一定的规则进行攻击,这些都是最初版的游戏AI设计。在各类网络MMORPG(Massively Multiplayer Online Role Play Game,大型多人在线角色扮演游戏)中,怪物从产生、作战、到死亡,都需要使用AI来进行控制。而在目前最主流的主机游戏(Console Game)中,各大工作室对AI的要求也是逐渐的超越了对美术的要求,如在育碧蒙特利尔工作室(Ubisoft Montreal)旗下研发的刺客信条系列(Assassin’s Creed)游戏中,每一个路人会因为玩家的推搡而牢骚,会因为玩家在其附近打架而围观等等,这些都是其优秀的AI设计师所赋予的。

AI是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;是用来让计算机来模拟人的某些思维过程和智能行为,使得游戏中每一个NPC(Non-Player Character,非玩家扮演角色)拥有丰富的行为和思维,从而使得玩家在游戏体验中能充分感受到乐趣,因此这些NPC的构成和点缀起到了决定性的作用且在玩家生存及成长的过程中起到不可或缺。

早起的主流的AI采用的设计结构主要是有限状态机(Finite Status Machine)。有限状态机将指定状态的相关逻辑进行局部化处理,并提供了单一可控的转化聚到在多个状态间切换,容易实现,运行效率也较高,可以处理简单的AI行为。但是,当AI变得复杂时,状态的数量以及转移条件将呈指数级别增长。同时状态机难以被复用。究其根源,有限状态机缺乏有效的模块化手段。

在过去的几年中,行为树(Behavior Tree)已经发展成为了游戏行业构造AI行为的一个主要模型,这得益于行为树的清晰明了、容易理解,而且可以被非程序人员所使用。行为树目前已被集成在多款商业引擎,包括虚幻、cryengine、unity等,他们都为编辑行为树提供了很好的编辑器,提供了图形化编辑、运行流程实时反馈、debug等多种高级功能,极大的方便了游戏制作人员的使用。行为树容易设计和实现,当游戏AI变得复杂大时,它的稳定性、模块性、可重复性和可移植性都是难能可贵的。

对于用行为树定模型构造的AI系统来说,每次执行AI时,系统都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。

主流的行为树方案定义了一系列的节点来供用户使用,节点是行为树的最基本组成结构,无论怎样的行为树都是由节点组成的。组成行为树的节点包含了多种节点来实现不同类型的功能,而每种节点的接口都是相同的,都是接收一个任务,返回任务执行成功或失败。行为树常见的基本类型节点主要包括如下几种(当然也可以扩展更多类型):

1)顺序节点(Sequence Node):属于组合节点,顺序执行子节点,只要碰到一个子节点返回false,则停止继续执行,并返回false,否则返回true,类似于程序中的逻辑“与”。

2)选择节点(Selector Node):属于组合节点,顺序执行子节点,只要碰到一个子节点返回true,则停止继续执行,并返回true,否则返回false,类似于程序中的逻辑“或”。

3)平行节点(Parallel Node):提供了平行的概念,无论子节点返回值是什么都会遍历所有子节点。所以不需要像Selector/Sequence那样预判哪个Child Node应摆前,哪个应摆后。Parallel Node增加方便性的同时,也增加实现和维护复杂度。

4)条件节点(Condition Node):属于叶子节点,判断条件是否成立。

5)执行节点(Action Node):属于叶子节点,执行动作,一般返回true。

6)修饰节点:修饰节点是为其他节点增加一些功能的节点,并不关系被修饰的节点具体在做什么,要怎么去做。

7)循环节点(Loop Node):希望一个节点能够被多次执行,而已经有了一个执行动画的节点,就需要给这个动画节点增加一个循环节点的修饰节点。

通常来说,传统的行为树结构组织就如上所介绍的。在使用时,每个单位(单元)被赋予一个行为树来构造它独立的AI,通过构造,这些组成了一个单位的所有行为,这种方式直接且有效。

发明人在实施本发明的过程中发现,目前传统的使用行为树的方式都是用其来指导单一的AI单元,行为树中的各个节点处理了大量的情况,在不同的情况下拥有不同的行为。然而,这些行为有可能会让多个AI单元看起来行为重复,互相之间缺乏协调。

而且,目前的行为树并不能很好的解决群体性AI的问题。有些游戏中在每个单元AI中加入了其他AI单元相关的情况判断,来保证具有群体性,例如保持阵形,医疗其他单位等。

在真实的游戏中,不但需要每个AI单元都有很智能、合理的表现,同时整个团队以及团队和团队之间都是相互协作的。这对于当前的行为树结构以及状态机来说是很难实现的,即便实现了也会带来巨大的工作量,AI的行为不清晰,不易于维护,而且运行的效率低下。例如许多统筹类决策,如阵形排布、团队治疗分配等,由于其存在对队伍整体方面的数据决策,若交由队伍底层各个体单位来执行,不仅每一个个体之间这一块的工作是重复的、同时可能会引起相互的干扰。

例如,在一个拥有较大战斗规模的游戏(如实施战略游戏,Real-Time Strategy Game,简称RTS)中,若采用传统的、扁平结构的、各个个体单位独自决策的行为树方式,如图1所示。在图1这样的结构中,每一个单位都有数量极多的操作以及游戏状态需要处理,传统的行为树难以承载如此庞大的分支与节点,而状态机更是无法估量对应的状态。面对这样的情况,无论是传统的行为树还是状态机,在处理时不但代码量极大,而且BUG几率非常高,且难以排查。

可见,在AI日益发展的今天,单体的,没有群体性的AI单位已经不能满足我们的需求,我们需要更复杂,群体性更强的表现。



技术实现要素:

本发明实施例的目的是提供一种AI构建方法、装置和游戏控制方法、装置及AI系统,能够满足群体性的需求,保证了整个AI的合理、智能,同时避免了每个单独AI的重复性的决策运算,使得整体AI执行的高效有序。

为实现上述目的,本发明实施例提供了一种层次化行为树的AI构建方法,包括:

由处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;

由中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;

由处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;

其中,处于任一层优先级的每一AI单元基于行为树构建。

作为上述方案的改进,还包括:

预先设置所述中间层优先级中的任一层变更执行上一层优先级下达的指令所对应的执行任务的条件;

当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述中间层优先级的任一层的AI单元更变向处于下一层优先级的AI单元下达的指令。

作为上述方案的改进,所述中间层优先级包括第二层优先级和第三层优先级;

处于所述第二层优先级的AI单元根据所述最高层优先级的AI单元下达的战略指令制定对应的执行方案,根据执行方案创建对应的处于第三层优先级的至少一个AI单元,并向处于第三层优先级的每一AI单元下达对应的执行指令;其中,第三层优先级的每一AI单元对应连接处于最底层优先级的多个AI单元;

处于所述第三层优先级的每一AI单元根据接收到的执行指令,并根据对应连接的最底层优先级的每一AI单元的当前情况,向对应连接的最底层优先级的每一AI单元下达具体的执行任务。

作为上述方案的改进,所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。

作为上述方案的改进,还包括:

预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

处于最高层优先级的所述AI单元根据当前的情况以及所述战略表确定己方的战略。

本发明实施例对应提供了一种层次化行为树的AI构建装置,包括:

最高层优先级战略制定模块,使处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;

中间层优先级战术执行模块,使中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;

最底层优先级具体执行模块,使处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;

其中,处于任一层优先级的每一AI单元基于行为树构建。

作为上述方案的改进,还包括:

变更执行任务条件预置模块,用于预先设置所述中间层优先级中的任一层变更执行上一层优先级下达的指令所对应的执行任务的条件;

所述中间层优先级战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述中间层优先级的任一层的AI单元更变向处于下一层优先级的AI单元下达的指令。

作为上述方案的改进,所述中间层优先级包括第二层优先级和第三层优先级:

处于所述第二层优先级的AI单元根据所述最高层优先级的AI单元下达的战略指令制定对应的执行方案,根据执行方案创建对应的处于第三层优先级的至少一个AI单元,并向处于第三层优先级的每一AI单元下达对应的执行指令;其中,第三层优先级的每一AI单元对应连接处于最底层优先级的多个AI单元;

处于所述第三层优先级的每一AI单元根据接收到的执行指令,并根据对应连接的最底层优先级的每一AI单元的当前情况,向对应连接的最底层优先级的每一AI单元下达具体的执行任务。

作为上述方案的改进,所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。

作为上述方案的改进,还包括:

战略表预设模块,用于预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

最高层优先级战略制定模块还用于,由处于最高层优先级的所述AI单元根据当前的情况以及所述战略表确定己方的战略。

本发明实施例还提供了一种基于行为树的游戏AI构建方法,包括:

由战略中心根据游戏当前的情况确定己方的战略,并将确定的战略向总指挥下达对应的指令;

所述总指挥根据战略中心下达的战略指令制定对应的执行方案,根据执行方案创建对应的至少一个执行小组,并向每一所述执行小组下达对应的执行指令;其中,每一所述执行小组内包括多个战斗单元;

每一所述执行小组根据总指挥下达的执行指令,并根据组内每一战斗单元的当前情况,向组内的每一所述战斗单元下达具体的执行任务;

每一所述战斗单元根据执行小组下达的具体的执行任务执行对应的动作;

其中,每一所述战略中心、总指挥、执行小组以及战斗单元均为基于行为树构建的AI单元。

作为上述方案的改进,还包括:

预先设置所述总指挥、执行小组变更执行上一层优先级下达的指令所对应的执行任务的条件;

当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述总指挥更变向每一所述执行小组下达的指令或所述执行小组更变向每一所述站斗单元下达的指令。

作为上述方案的改进,所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。

作为上述方案的改进,还包括:

预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

所述战略中心根据当前的情况以及所述战略表确定己方的战略。

作为上述方案的改进,所述战略包括防守反击、经济发育或者全面防守战略。

本发明实施例对应提供了一种基于行为树的游戏AI构建装置,包括:

战略制定模块,使战略中心根据游戏当前的情况确定己方的战略,并将确定的战略向总指挥下达对应的指令;

战术执行模块,使所述总指挥根据战略中心下达的战略指令制定对应的执行方案,根据执行方案创建对应的至少一个执行小组,并向每一所述执行小组下达对应的执行指令;其中,每一所述执行小组内包括多个战斗单元;

具体任务分配模块,使每一所述执行小组根据总指挥下达的执行指令,并根据组内每一战斗单元的当前情况,向组内的每一所述战斗单元下达具体的执行任务;

具体任务执行模块,使每一所述战斗单元根据执行小组下达的具体的执行任务执行对应的动作;

其中,每一所述战略中心、总指挥、执行小组以及战斗单元均为基于行为树构建的AI单元。

作为上述方案的改进,还包括:

变更执行任务条件预置模块,用于预先设置所述总指挥、执行小组变更执行上一层优先级下达的指令所对应的执行任务的条件;

所述战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,使所述总指挥更变向每一所述执行小组下达的指令;以及

所述战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,使所述执行小组更变向每一所述站斗单元下达的指令。

作为上述方案的改进,所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。

作为上述方案的改进,还包括:

战略表预设模块,用于预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

所述战略制定模块还用于,由所述战略中心根据当前的情况以及所述战略表确定己方的战略。

作为上述方案的改进,所述战略包括防守反击、经济发育或者全面防守战略。

本发明实施例还提供了一种游戏控制方法,包括:

通过如上所述的层次化行为树的AI构建方法或如上所述的基于行为树的游戏AI构建方法对游戏中的每一AI单元完成构建;

控制游戏中的每一NPC根据构建后的每一AI单元执行对应的操作。

本发明实施例对应提供了一种游戏控制装置,包括:

如上所述的层次化行为树的AI构建装置或如上所述的基于行为树的游戏AI构建装置,以对游戏中的每一AI单元完成构建;以及

控制模块,用于控制游戏中的每一NPC根据构建后的每一AI单元执行对应的操作。

本发明实施例还提供了一种层次化行为树的AI系统,包括自上而下逐层传递指令的多层优先级的AI单元,处于每一层优先级的AI单元根据上一层优先级的AI单元下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中处于每一层优先级的每一AI单元均通过行为树构建以处理当前层级的行为。

作为上述方案的改进,当预设的变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,处于每一层优先级的AI单元更变向处于下一层优先级的AI单元下达的指令。

作为上述方案的改进,处于最顶层优先级的AI单元根据当前情况确定当前策略,并根据确定的当前策略向处于下一层优先级的AI单元下达对应的指令。

与现有技术相比,本发明实施例公开的一种基于行为树的AI构建方法、装置和游戏控制方法、装置及AI系统通过将原本扁平的独立AI单元结构适度垂直化,构建由战略制定到战术执行、自上而下逐层传递的整体AI行为树,由处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;由中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;并由处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;其中,处于任一层优先级的每一AI单元基于行为树构建。将原相近个体单位重复性的决策运算交由更高层的AI来统筹处理,从而大幅度减少在此类重复性决策判断上的运算耗费,提升整体AI运行的效率和稳定性。由于每个AI单元以及整体AI均通过行为树构建,不仅仅可以决定个体单元的AI行为,而且可以从整体上来实现单元和单元之间的配合,从而实现更合理、智能的AI。与传统的行为树不同,本发明实施例提出的层次行为树将AI单元重复性的、统筹规划与决策的工作统一交给上层来执行,不仅使得整体做出的决策更好,同时减少了很多的计算开销、有效提高运行效率以及减少性能消耗。

附图说明

图1是采用现有技术中的基于行为树的AI构建方法构建的较大战斗规模的游戏示意图。

图2是本发明实施例1中一种层次化行为树的AI系统的结构示意图。

图3是本发明实施例2中一种层次化行为树的AI构建方法的流程示意图。

图4是利用本发明实施例2中一种层次化行为树的AI构建方法所构建的层次化行为树示意图。

图5是本实施例3中一种基于行为树的游戏AI构建方法的流程示意图。

图6是利用本发明实施例3中一种基于行为树的游戏AI构建方法所构建的层次化行为树示意图。

图7a~7d是利用本发明实施例3中一种基于行为树的游戏AI构建方法所构建的层次化行为树中的每一层的AI单元的行为树示意图。

图8是本实施例4中一种游戏控制方法的流程示意图。

图9是本发明实施例5中一种层次化行为树的AI构建装置的结构框图。

图10是本发明实施例6中一种基于行为树的游戏AI构建装置的结构框图。

图11是本发明实施例7中一种游戏控制装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的基于层次化行为树AI构建方法、装置和游戏控制方法、装置及AI系统,是为了能够满足群体性的需求,保证了整个AI的合理、智能,同时避免了每个单独AI的重复性的决策运算,使得整体AI执行的高效有序。

本发明实施例1提供一种由战略制定到战术执行、自上而下逐层传递的AI系统(结构),在这样的AI结构中,不仅仅可以决定个体单位的AI行为,而且可以从整体上来实现单元和单元,或小组与小组之间的配合,从而实现更合理、智能的AI。

参见图2,本发明实施例1提供的一种层次化行为树的AI系统,其包括多个自上而下逐层传递指令的多层优先级的AI单元10,处于每一层优先级的AI单元10根据上一层优先级的AI单元10下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元10下达对应的指令;其中处于每一层优先级的每一AI单元10均通过行为树构建以处理当前层级的行为。

在实施例时,处于最顶层优先级的AI单元10根据当前情况确定当前策略,并根据确定的当前策略向处于下一层优先级的AI单元10下达对应的指令。处于最底层优先级的每一AI单元10根据上一层优先级下达的指令执行对应的操作。

另外,在本实施例中,当预设的变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,除去处于最顶层优先级的AI单元10和处于最底层优先级的每一AI单元10外,处于每一层优先级的AI单元10更变向处于下一层优先级的AI单元下达的指令。

在传统的行为树中,每个单元自身从决策到行为构成一颗树,每个AI单元都要进行完整的决策和运算。与传统的行为树不同,本发明实施例提供的AI系统本身就是一颗树,其囊括了整个AI(例如整个游戏中所需的AI)所需要的各个层级,各个层级中的AI单元又有自己的行为树,来处理当前层级的行为,并根据接收到的上层优先级下达的指令,做出具体的执行,并在执行完毕后下达对应的指令下去给处于下一层优先级的AI单元。

因此,实施本实施例时,处于最底层优先级的每一AI单元只需要根据最简单的指令执行对简单的动作(例如,在游戏中的攻击、待命、移动、治疗等动作),而整体的统筹规划与决策,由上层来完成,从而保证了整个AI的合理、智能,同时避免了每个AI单元重复性的决策运算,使得整体AI执行的高效有序。

另外,本实施例是基于目前的行为树结构的基础上进行改进的,因此依然保持行为树的优点:便于维护、更改,清晰,复用性高等。

下面,通过多个具体的实施例来进一步阐述基于本发明实施例所提出的层次化行为树的AI系统的核心思想,如何进一步实现层次化行为树的AI构建方法及装置、游戏控制方法及装置。

参考图3,本发明实施例2提供的一种层次化行为树的AI构建方法的流程示意图。该层次化行为树的AI构建方法包括步骤:

S21、由处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;

S22、由中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;

S23、由处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;其中,处于任一层优先级的每一AI单元基于行为树构建。

结合图4,在本实施例中,所述中间层优先级包括第二层优先级和第三层优先级。所述步骤S22进一步包括:

处于所述第二层优先级的AI单元根据所述最高层优先级的AI单元下达的战略指令制定对应的执行方案,根据执行方案创建对应的处于第三层优先级的至少一个AI单元,并向处于第三层优先级的每一AI单元下达对应的执行指令;其中,第三层优先级的每一AI单元对应连接处于最底层优先级的多个AI单元;

处于所述第三层优先级的每一AI单元根据接收到的执行指令,并根据对应连接的最底层优先级的每一AI单元的当前情况,向对应连接的最底层优先级的每一AI单元下达具体的执行任务。

优选的,本实施例提供的一种层次化行为树的AI构建方法中,还包括步骤:

预先设置所述中间层优先级中的任一层变更执行上一层优先级下达的指令所对应的执行任务的条件;

当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述中间层优先级的任一层的AI单元更变向处于下一层优先级的AI单元下达的指令。

另外,本实施例提供的一种层次化行为树的AI构建方法还包括步骤:

预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

处于最高层优先级的所述AI单元根据当前的情况以及所述战略表确定己方的战略。

可以理解的,实施例中所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。而所述战略包括防守反击、经济发育或者全面防守战略等。

可以理解的,本实施例的所述中间层优先级并不局限于本实施例所举例的两层——第二层优先级和第三层优先级,所述中间层优先级的层数可根据具体实施需求而设定。

本实施例提供的一种层次化行为树的AI构建方法由处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;由中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;并由处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;其中,处于任一层优先级的每一AI单元基于行为树构建。将原相近个体单位重复性的决策运算交由更高层的AI来统筹处理,从而大幅度减少在此类重复性决策判断上的运算耗费,提升整体AI运行的效率和稳定性。

参考图5,是本发明实施例3提供的一种基于行为树的游戏AI构建方法,该方法包括步骤:

S31、由战略中心根据游戏当前的情况确定己方的战略,并将确定的战略向总指挥下达对应的指令;

S32、所述总指挥根据战略中心下达的战略指令制定对应的执行方案,根据执行方案创建对应的至少一个执行小组,并向每一所述执行小组下达对应的执行指令;其中,每一所述执行小组内包括多个战斗单元;

S33、每一所述执行小组根据总指挥下达的执行指令,并根据组内每一战斗单元的当前情况,向组内的每一所述战斗单元下达具体的执行任务;

S34、每一所述战斗单元根据执行小组下达的具体的执行任务执行对应的动作;其中,每一所述战略中心、总指挥、执行小组以及战斗单元均为基于行为树构建的AI单元。

优选的,本实施例提供的一种基于行为树的游戏AI构建方法中,还包括步骤:

预先设置所述总指挥、执行小组变更执行上一层优先级下达的指令所对应的执行任务的条件;

当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述总指挥更变向每一所述执行小组下达的指令或所述执行小组更变向每一所述站斗单元下达的指令。

另外,本实施例提供的一种基于行为树的游戏AI构建方法中,还包括步骤:

预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

所述战略中心根据当前的情况以及所述战略表确定己方的战略。

可以理解的,实施例中所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。而所述战略包括防守反击、经济发育或者全面防守战略等。

下面,结合图6,对本发明实施例的工作原理及过程进行详细的描述。

发明人是实施本发明时,是受到了现实生活中军队作战命令传达的启发,以实现一套层次化的行为树。在军队作战时,每个作战单位的命令都是由其直接上层传达的,例如排长,每个排长接收到作战任务时会负责整个排的行为,为每个作战单位下达指令。排长的指令是连长下达的,连长会根据上层交代的作战任务分配给各个排,为每个排下达其更具体的任务,并且统筹各个排之间的协作关系。连长由营长,营长由团长,团长由旅长,旅长由师长,师长由军长,军长由司令。最终作战指令这样一层一层关系传达下来,每一层收到上层指令后都会根据该指令指定更细化的战术,并集结队伍,给每个队伍或单元下达指令。这样的作战方式不仅让每个作战单位都在做一件对整个战局最有利的事情,让AI显得非常智能。

基于上述启发,本发明人在实施本发明的时候,提出了一种层次化的行为树结构,如图6所示。

由于游戏的单元通常没有真实战争中的人数多,所以本发明实施例仅用一个四层的结构举例说明,如果需要可以增加层数,并不影响本发明的实施效果。

在该四层的行为树结构中,总指挥对应了总司令,执行小组对应了排长。中间的军师旅团营连都可以先不考虑。战略中心是一个特殊的单位,对应了总司令的智囊团,分析整个战局的情况,向司令推荐战略计划。

通常来说,一个标准的游戏AI所需要的内容主要包含了四个部分,1、计划识别;2、战略制定;3、战术执行;4、自我学习。

图6所示的行为树结构够满足游戏标准的AI需求,甚至包括RTS(即时策略)游戏,具体的:

计划识别

本实施例的战略中心用于进行实现计划识别,具体根据当前的战况来确定己方的战略,战况包括我方情况、敌方情况、敌方的战术等。

战略制定

最顶层优先级,通过设置不同的参数来实现不同的性格,如倾向快速进攻、倾向快速发展科技等,以分配各个事情的优先级,为了达到最终的胜利。不但使得AI有趣、更具挑战性,同时也让AI变得容易升级。在这里同样对应了战略中心。通常来说,战略中心会根据默认的战略向总指挥下达战略指令。而当当前情况发生改变时(例如,识别敌人战略改变后)可能会修改战略,从而下达了新的指令。例如,一开始是强调经济发育的,然而当敌人来犯时,战略中心就会暂时放弃经济发育,转为防守。

战术执行

战术执行是指各单位或小组根据战略、战术在一段时间内具体实施的行为。战术的执行决定需要遵循一些基本原则——每个AI单元本身的特点、接收到的指令和战术方案等,例如在最短的时间内消灭敌方最多的火力输出点。本实施例提出的层次行为树结构中,总指挥、执行小组到战斗单元都属于战术执行层。

自我学习

通过自我学习来丰富战略和战术,同时可以更强化计划识别模块,以应对更多的情况,从而提升AI的丰富程度和智能程度。

在传统的行为树中,单位自身从决策到行为构成一颗树,每个单位都要进行完整的决策和运算。与传统的行为树不同,本实施例提供的行为属结构本身就是一颗树,其囊括了整个AI所需要的各个层级——战略中心、总指挥、执行小组,以及战斗单元。各个层级又有自己的行为树,来处理当前层级的行为,根据接收到的指令,做出具体的战术,并下达下去。其中:

战略中心是整棵树的最上层,也是整个决策链的大脑,用来根据当前的战况确定战略,并通知总指挥执行指定的战略。总指挥是虚拟的最高执行单元(战略中心为最高战略单元),总指挥的任务就是根据战略中心下达的战略制定出执行方案,并根据执行方案创建出对应的执行小组,并负责队伍之间的统筹。执行小组是虚拟的执行单元,其任务就是根据总指挥下达的执行目标,负责起整个小组AI的管理,包括队内的统筹。在经过执行小组的处理后,执行小组内的每一个战斗单元会得到一个具体的执行任务。可以理解的,当执行小组的行为树被切换或状态切换之后,对应小组内的每一战斗单元就会切换其将执行的行为。

下面结合图7a~7d进一步说明。例如,检测到敌方派兵前来进犯我方基地,首先进行决策判断的是战略中心。战略中心对其能掌握的信息进行分析,我方目前的兵力、敌方的兵力、我方目前的基地的发展情况、敌方基地的发展情况等,然后制定一个总战略。如若敌方进犯兵力较弱(如为5个普通步兵),战略中心认为目前己方兵力强劲(如我方有5个克制步兵的狙击手,同时还拥有其他的部队),从而制定出一个防守反击的战略。又或者,若敌方兵力较强,战略中心制定出一个在全面防守的战略。一般的,战略中心开始游戏时会有默认的战略来向总指挥传达,在游戏过程中并会当前情况的改变来修改战略。

总指挥收到战略中心下达的战略指令后,开始将战略指令交付执行。如战略中心下达的战略指令为防守反击。总指挥收到战略指令后,开始组建对应的防守小组和反击小组。如果下达的是经济发育战略,总指挥则会组建采矿小组,并给采矿小组下达命令为着手采矿。如果下达的是全面防守战略,总指挥则会动员所有民兵,组建了防守小组,并下达命令为防守。

反击小组收到总指挥的反击指令后,其目标就是打好当前的反击战,如其中某个反击小组收到的具体指令为保持阵型、从正面直接进攻敌方,则其发现自己组由机枪兵和医疗兵(每个机枪兵和医疗兵均为一个具体的作战单位,也即战斗单元)构成,因而其会负责阵形——机枪先行,医疗兵跟进,并保持向前行进。于是机枪兵的行为就是向前行进,而医疗兵则是跟在机枪后面跟随。

防守小组收到总指挥的防守指令后,其目标就是打好当前的防守战,其负责向队员下达移动至防御建筑的指令,并让医疗兵在机枪兵后面。到达指定位置后,都进入巡逻状态,发现敌人后进行攻击。

采矿小组收到总指挥的采矿指令后,根据小组的采矿单位数和目标矿区的情况,分配好小组内各采矿单位的目标矿位,然后向组内各采矿单位(每个采矿单位均为一个具体的作战单位,也即战斗单元)下达指令——向目标矿位移动并进行采矿。

采矿小组中的每个作战单位此时收到的是非常具体的行为指令,采矿小组中的每个作战单位不需要去知道当前敌我双方的战况,也不需要去考虑其他农民、作战单位等等的情况,每个作战单位各自要做的只是执行采矿小组下达的指令——向对应的目标矿位移动并进行采矿。

随着战斗的进行,战略中心、总指挥、执行小组都有为了完整实现上层交付自己的指令而变更所下达指令的条件,当这些条件达成,其向下层下达的指令就可能发生变更。

例如,上述的例子中,总指挥向反击小组下达的指令为反击。反击小组下达的第一个指令是保持阵形向地方基地行进。但是其反击小组在行进的过程中,可能发生其他遭遇战,导致部队受伤。这时,反击小组根据预先设定的变更条件,确定目前需要先原地恢复下状态,于是向下层下达指令——机枪待命,医疗兵前去治疗自己指定的受伤机枪。此时,反击小组内的机枪要做的就是待命,而医疗兵要做的就是前去治疗自己制定的受伤机枪。

从上面的例子中可以看到,本发明实施例提出的层次行为树结构中,每个具体的战斗单元,只需要进行最简单的指令(如攻击、待命、移动、治疗等)。而整体的统筹规划与决策,由上层来完成。从而保证了整个AI的合理、智能,同时避免了每个子单位重复性的决策运算,使得整体AI执行的高效有序。高层统筹规划及决策,制定战略,设定战术,并通过执行小组分配每一个战斗单元具体的任务目标。

通过实施本实施例,能够实现层次行为树对AI运行效率的有效提升。前面已经提到,与传统的行为树不同,本发明实施例的层次行为树将战斗单元重复性的、统筹规划与决策的工作统一交给上层来执行,不仅使得整体做出的决策更好,同时减少了很多的计算开销。

假设有100个医疗兵,10000个士兵:

基于传统行为树的AI设计中,由于所有的决策都是由单个医疗兵来完成的,每个医疗兵都会对这10000个士兵遍历检测其是否需要加血,那么最坏情况下,这样的判断总共需要执行100*10000次运算。而基于本发明实施例提出的AI构建方法,目标的分配是由执行小组来完成的,其最坏情况下也只需要对10000个士兵进行一次检测,即10000次运算,效率提升了100倍。从这里我们可以很直观的分析到,传统行为树AI设计中100个医疗兵分别作出的遍历检测实际上是重复的、非常低效的。

仍然以10000个士兵和100个医疗兵的小组为例,若要保证在队伍行进过程中每个医疗兵都要在士兵后面,以保证遭遇战中队伍处于最佳状态。在这样的目标下,如果基于传统行为树的AI设计,需要每个医疗兵都各自检测后面是否有士兵,有就停下来,那么总共需要10000*100次判断运算。而基于本发明实施例提出的AI构建方法,由该执行小组来完成,则只需要先花费10000次判断找到最靠后的士兵,而后再查看100个医疗兵中是否有在这名最靠后的士兵之前的,若有,则停止。这样由执行小组来完成的操作,最坏情况下也只需要花费100+10000=10100次判断运算,对应的效率提升是100*10000/10100≈100倍,随着小组单位数量的提升,效率提升的倍数会线性提升。

传统行为树的AI设计结构是扁平的,各个单位独立完成从统筹决策到执行所有的运算。而本发明实施例提出的层次行为树的理念是,将原本扁平的单位AI结构适度垂直化,从而将原相近个体单位重复性的决策运算交由更高层的AI来统筹处理,从而大幅度减少在此类重复性决策判断上的运算耗费,提升整体AI运行的效率和稳定性。

可见,本实施例提供的一种基于行为树的游戏AI构建方法,由战略中心根据游戏当前的情况确定己方的战略,并将确定的战略向总指挥下达对应的指令;所述总指挥根据战略中心下达的战略指令制定对应的执行方案,根据执行方案创建对应的至少一个执行小组,并向每一所述执行小组下达对应的执行指令;其中,每一所述执行小组内包括多个战斗单元;每一所述执行小组根据总指挥下达的执行指令,并根据组内每一战斗单元的当前情况,向组内的每一所述战斗单元下达具体的执行任务;每一所述战斗单元根据执行小组下达的具体的执行任务执行对应的动作;其中,每一所述战略中心、总指挥、执行小组以及战斗单元均为基于行为树构建的AI单元。将AI单元重复性的、统筹规划与决策的工作统一交给上层来执行,不仅使得整体做出的决策更好,同时减少了很多的计算开销、有效提高运行效率以及减少性能消耗。

参考图8,图8是本实施例4中一种游戏控制方法的流程示意图。本实施例的游戏控制方法包括步骤:

S41、通过如图3所示的层次化行为树的AI构建方法或如图5所示的基于行为树的游戏AI构建方法对游戏中的每一AI单元完成构建;

S42、控制游戏中的每一NPC根据构建后的每一AI单元执行对应的操作。

其中,本实施例的游戏控制方法的步骤S41的具体实现过程请参考前述内容,而步骤S42的具体实现原理为本领域技术人员所了解,在此不再赘述。

参考图9,图9是本发明实施例5中一种层次化行为树的AI构建装置的结构框图。该AI构建装置包括:

最高层优先级战略制定模块51,使处于最高层优先级的AI单元根据当前的情况确定己方的战略,并将确定的战略向处于下一层优先级的AI单元下达对应的指令;

中间层优先级战术执行模块52,使中间层优先级的AI单元根据接收到的上一层优先级下达的指令执行对应的操作,并在执行完毕后向处于下一层优先级的AI单元下达对应的指令;其中,所述中间层优先级包括至少一层优先级;

最底层优先级具体执行模块53,使处于最底层优先级的每一AI单元根据上一层优先级下达的指令执行对应的操作;其中,处于任一层优先级的每一AI单元基于行为树构建。

优选的,在本实施例中,所述中间层优先级包括第二层优先级和第三层优先级:

处于所述第二层优先级的AI单元根据所述最高层优先级的AI单元下达的战略指令制定对应的执行方案,根据执行方案创建对应的处于第三层优先级的至少一个AI单元,并向处于第三层优先级的每一AI单元下达对应的执行指令;其中,第三层优先级的每一AI单元对应连接处于最底层优先级的多个AI单元;

处于所述第三层优先级的每一AI单元根据接收到的执行指令,并根据对应连接的最底层优先级的每一AI单元的当前情况,向对应连接的最底层优先级的每一AI单元下达具体的执行任务。

优选的,本实施例提供的AI构建装置还包括:

变更执行任务条件预置模块,用于预先设置所述中间层优先级中的任一层变更执行上一层优先级下达的指令所对应的执行任务的条件;

所述中间层优先级战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,所述中间层优先级的任一层的AI单元更变向处于下一层优先级的AI单元下达的指令。

另外,本实施例提供的AI构建装置还包括:战略表预设模块,用于预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

最高层优先级战略制定模块还用于,使处于最高层优先级的所述AI单元根据当前的情况以及所述战略表确定己方的战略。

可以理解的,实施例中所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。而所述战略包括防守反击、经济发育或者全面防守战略等。

可以理解的,本实施例的所述中间层优先级并不局限于本实施例所举例的两层——第二层优先级和第三层优先级,所述中间层优先级的层数可根据具体实施需求而设定。

本实施例提供的AI构建装置的实现过程及原理请参考上述实施例2,在此不再赘述。

参考图10,图10是本发明实施例6中一种基于行为树的游戏AI构建装置的结构框图。该游戏AI构建装置包括:

战略制定模块61,使战略中心根据游戏当前的情况确定己方的战略,并将确定的战略向总指挥下达对应的指令;

战术执行模块62,使所述总指挥根据战略中心下达的战略指令制定对应的执行方案,根据执行方案创建对应的至少一个执行小组,并向每一所述执行小组下达对应的执行指令;其中,每一所述执行小组内包括多个战斗单元;

具体任务分配模块63,使每一所述执行小组根据总指挥下达的执行指令,并根据组内每一战斗单元的当前情况,向组内的每一所述战斗单元下达具体的执行任务;

具体任务执行模块64,使每一所述战斗单元根据执行小组下达的具体的执行任务执行对应的动作;其中,每一所述战略中心、总指挥、执行小组以及战斗单元均为基于行为树构建的AI单元。

优选的,本实施例提供的游戏AI构建装置还包括:

变更执行任务条件预置模块,用于预先设置所述总指挥、执行小组变更执行上一层优先级下达的指令所对应的执行任务的条件;

所述战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,使所述总指挥更变向每一所述执行小组下达的指令;以及

所述战术执行模块还用于,当变更执行上一层优先级下达的指令所对应的执行任务的条件达成时,使所述执行小组更变向每一所述站斗单元下达的指令。

另外,本实施例提供的游戏AI构建装置还包括:

战略表预设模块,用于预先设定战略表,所述战略表中记录游戏当前情况和对应实施的战略;

所述战略制定模块还用于,使所述战略中心根据当前的情况以及所述战略表确定己方的战略。

可以理解的,实施例中所述当前的情况包括我方情况、敌方情况以及敌方战略;所述我方情况包括我方当前的兵力和基地发展情况,所述敌方情况包括敌方当前的兵力和基地发展情况。而所述战略包括防守反击、经济发育或者全面防守战略等。

本实施例提供的AI构建装置的实现过程及原理请参考上述实施例3,在此不再赘述。

参考图11,图11是本发明实施例7中一种游戏控制装置的结构框图。该游戏控制装置包括:

如图9所示的层次化行为树的AI构建装置或如图10所示的基于行为树的游戏AI构建装置111,以对游戏中的每一AI单元完成构建;以及

控制模块112,用于控制游戏中的每一NPC根据构建后的每一AI单元执行对应的操作。

本实施例提供的游戏控制装置的实现过程及原理请参考上述实施例4,在此不再赘述。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1