一种游戏人工智能行动规划方法及系统与流程

文档序号:17858409发布日期:2019-06-11 22:42阅读:280来源:国知局
一种游戏人工智能行动规划方法及系统与流程

本发明涉及一种游戏人工智能行动规划方法及系统,属于计算机技术领域。



背景技术:

一般的游戏中,npc的行为效果是一个完全有序任务。一个npc的行为效果可能包括破坏一个目标或者获得一个物品。在使用npc来记录世界状态的系统中,效果被表现为期望的世界状态。在传统的任务系统中,npc被限制只能在给定的地点及时地挑选一个最重要的行为效果。一旦这个效果被选中,一个npc可以将原子行为串联成一个序列来创建一个任务。例如如果npc决定摧毁目标,它选择来完成这个效果的行为可能是攻击。行为有前提条件,这个前提条件描述了在行为执行之前必须是游戏世界上的为真的条件;行为也有效果,效果描述了当行为完成时存在于游戏世界上的必要条件。在攻击行为的例子中,一个前提条件可能是npc的武器己经上膛,一个效果将会是目标的毁灭。

npc执行任务按照完全有序的原则,完全有序任务指定了所有行为的特定顺序,而不管单独的行为是否满足其他行为的前提条件。虽然可以以任何顺序获得执行,但是一个完全有序任务指定了执行这些行为的顺序。

这种npcai效果的完全有序任务通常是策划用配置表的方式来配置的,它的主要缺点有:

1.必须显式地配置出所有的效果过程中所有确定的任务,策划的工作量很大。

2.由于任务的步骤是确定的,所以npc的行为没有变化,重复单调,影响游戏世界的真实感和代入感。

3.npc只能每次执行完一个效果后再继续执行下一个,无法同时执行多个效果,效率慢而且显得不够智能。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种游戏人工智能行动规划方法及系统,读取游戏中的非玩家角色任务规划,获取所有非玩家角色任务信息,其中非玩家角色任务信息包括各任务的行为内容、有用效果以及行为的消耗;按照优化判定标准来判断任务是否可以被优化;对可以被优化的任务进行优化分析,计算出最优优化方案,并根据优化方案对任务执行包括对多个单一任务合并为一个任务的优化操作。

本发明解决其问题所采用的技术方案一方面是:一种游戏人工智能行动规划方法,其特征在于,包括以下步骤:读取游戏中的非玩家角色任务规划,获取所有非玩家角色任务信息,其中非玩家角色任务信息包括各任务的行为内容、有用效果以及行为的消耗;按照优化判定标准来判断任务是否可以被优化;对可以被优化的任务进行优化分析,计算出最优优化方案,并根据优化方案对任务执行包括对多个单一任务合并为一个任务的优化操作。

进一步的,所述优化判定标准包括:行为有相同的有用效果的任务可被优化;用来代替的行为的消耗小于被优化行为的消耗总和的任务可被优化。

进一步的,还包括对于将有重叠行为的任务合并为单一任务。

进一步的,所述计算出最优优化方案是以结果为导向的任务优化方案,优化方法为根据多个独立任务生成一个单独任务。

进一步的,所述按照优化判定标准来判断任务是否可以被优化包括:根据行为内容,遍历所有非玩家角色任务信息,筛选出行为内容中相同行为数不少于一个的任务;将这些删选出的任务标记为可优化任务。

进一步的,所述计算出最优优化方案包括:按照优化策略对任务进行优化,得到多个优化方案,其中优化策略包括根据有用效果对后续的行为进行排序;创建评价规则,按照评价规则对优化方案进行评估,其中评价规则为执行行为所耗时间的长短以及优化后的多个单独任务是否能够再次优化;若优化后的多个单独任务能够再次优化,则继续进行优化,直到不存在能够再次优化的任务;根据评估结果得到最优优化方案。

本发明解决其问题所采用的技术方案另一方面是:一种游戏人工智能行动规划系统,其特征在于,包括:读取模块,用于读取游戏中的非玩家角色任务规划,获取所有非玩家角色任务信息,其中非玩家角色任务信息包括各任务的行为内容、有用效果以及行为的消耗;判断模块,用于按照优化判定标准来判断任务是否可以被优化;优化模块,用于对可以被优化的任务进行优化分析,计算出最优优化方案。

进一步的,所述优化模块还包括评估模块,用于创建评价规则并按照评价规则对优化方案进行评估。

进一步的,还包括合并模块,用于将有重叠行为的任务合并为单一任务。

本发明的有益效果是:同时让玩家可以有更好的游戏体验,npc的ai行为范围变得更宽,npc可以执行多个任务中的行为,同时获取有用效果,效率高且智能。

附图说明

图1所示为根据本发明较佳实施例的方法流程示意图;

图2所示为根据本发明较佳实施例的系统结构示意图;

图3a、3b所示为常规任务行为内容示例;

图4a、4b、4c所示为根据本发明较佳实施例的优化举例。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参照图1所示为根据本发明较佳实施例的方法流程示意图,

读取游戏中的非玩家角色任务规划,获取所有非玩家角色任务信息,其中非玩家角色任务信息包括各任务的行为内容、有用效果以及行为的消耗;

按照优化判定标准来判断任务是否可以被优化;

优化标准可以为:行为有相同的有用效果的任务可被优化;用来代替的行为的消耗小于被优化行为的消耗总和的任务可被优化。

对可以被优化的任务进行优化分析,计算出最优优化方案,并根据优化方案对任务执行包括对多个单一任务合并为一个任务的优化操作。

根据行为内容,遍历所有非玩家角色任务信息,筛选出行为内容中相同行为数不少于一个的任务;

将这些删选出的任务标记为可优化任务。

按照优化策略对任务进行优化,得到多个优化方案,其中优化策略包括根据有用效果对后续的行为进行排序;

创建评价规则,按照评价规则对优化方案进行评估,其中评价规则为执行行为所耗时间的长短以及优化后的多个单独任务是否能够再次优化;

若优化后的多个单独任务能够再次优化,则继续进行优化,直到不存在能够再次优化的任务;

根据评估结果得到最优优化方案。

参照图2所示为根据本发明较佳实施例的系统结构示意图,

包括:

读取模块,用于读取游戏中的非玩家角色任务规划,获取所有非玩家角色任务信息,其中非玩家角色任务信息包括各任务的行为内容、有用效果以及行为的消耗;

判断模块,用于按照优化判定标准来判断任务是否可以被优化;

优化模块,用于对可以被优化的任务进行优化分析,计算出最优优化方案;

括合并模块,用于将有重叠行为的任务合并为单一任务。

优化模块还包括评估模块,用于创建评价规则并按照评价规则对优化方案进行评估。

1.任务优化提供方法来改进npc在单独或组行为时的可感知智能。虽然是一个有些消耗的过程,但是只要仔细地考虑,可以通过花费一小部分额外的时间检查生成的任务来完成它。

2.有多种不同的执行任务优化的系统和方法,比如任务优化算法特别适合于策略游戏ai对手,可以用多种不同的方法来完成效果,并且可能延迟行为来利用明确的优化机会。

3.任务是一个多功能的ai系统,有很多的机会来进行扩展和改进。而且它所提出的想法可以应用到其他ai系统中,甚至是其他的像分级任务网络那样的任务系统中。这种技术提供的行为的改进使得npc有更好的智能,同时让玩家可以有更好的游戏体验。

4.用面向效果的行为任务系统来创建和管理npc的ai行为是一种强大的技术,使用任务优化可以允许npc的ai行为范围变得更宽,甚至让它们同时尝试追求多个效果。

5.面向效果的行为任务系统是决策算法,它用来让程序员摆脱对特定的npc行为的选择,而将这些选择置入npc自身的感觉一思考一行为循环。使用这个系统的最大好处是减少设计npcai行为的复杂度,同时在npc的总行为中保持很高水准的真实感。使用效果和前提作为指导,任何启发式的搜索都可以通过列出一个npc可用来达到期望效果的行为序列来创造任务。为任务目的而使用ai算法,完成后的任务就是npc用来实现效果的一系列行为。

一般的游戏中,npc的行为效果是一个完全有序任务。一个npc的行为效果可能包括破坏一个目标或者获得一个物品。在使用npc来记录世界状态的系统中,效果被表现为期望的世界状态。在传统的任务系统中,npc被限制只能在给定的地点及时地挑选一个最重要的行为效果。一旦这个效果被选中,一个npc可以将原子行为串联成一个序列来创建一个任务。例如如果npc决定摧毁目标,它选择来完成这个效果的行为可能是攻击。行为有前提条件,这个前提条件描述了在行为执行之前必须是游戏世界上的为真的条件;行为也有效果,效果描述了当行为完成时存在于游戏世界上的必要条件。在攻击行为的例子中,一个前提条件可能是npc的武器己经上膛,一个效果将会是目标的毁灭。

图3a、3b展示了制作三明治的完全有序任务的例子。完全有序任务指定了所有行为的特定顺序,而不管单独的行为是否满足其他行为的前提条件。虽然可以以任何顺序获得肉、奶酪和面包,但是一个完全有序任务指定了执行这些行为的顺序。

这种npcai效果的完全有序任务通常是策划用配置表的方式来配置的,它的主要缺点有:

1.必须显式地配置出所有的效果过程中所有确定的任务,策划的工作量很大。

2.由于任务的步骤是确定的,所以npc的行为没有变化,重复单调,影响游戏世界的真实感和代入感。

3.npc只能每次执行完一个效果后再继续执行下一个,无法同时执行多个效果,效率慢而且显得不够智能。

本方案结构分为两个部分:

第一部分:以结果导向的游戏人工智能。第二部分:以结果导向的任务优化方法。下面是各部分的具体描述。

第一部分:以结果导向的游戏人工智能

例如一个npc有一个任务,从世界中收集所有道具并把它们带回到家中。如果一个npc一次只能携带一个道具,很显然最好的选择就是走向一个道具,收集它然后回家。但是如果一个npc可以携带多个道具,显然存在很多情况,npc可以通过同时收集多个道具来减少它旅行的总路程。

利用一个任务系统,可以有很多方式来完成这个行为。假设收集道具并返回家的效果叫做道具返回效果。写一些更小、可重用的原子行为是更容易的,比如为了寻路的goto,从世界中收集道具的getitem和把道具放在家中的returnitem。这些多样行为允许任务者以正确的顺序将它们串联起来,以完成复杂的工作,并进一步允许在很多类型的npc中重用行为,可以通过任务优化来完成期望的行为。

普遍会选取两个有重叠行为的任务,把它们优化为一个比单独执行每个原本任务消耗要低的单一任务。在这个例子中,npc可以独自收集每个道具,产生两个不相关但十分相似的任务,如图4a和图4b所示。优化这样的两个任务的可能结果是尽可能优化更多的行为,产生单独的任务,如图4c所示。当npc执行这个任务时,它会在回家前收集两个道具。参照图4a、4b和4c,分别为具体的优化前(图4a、4b)后(图4c)对比。

第二部分:以结果导向的任务优化方法

任务优化适用于采取一些独立生成的任务并从中生成一个单独任务的过程,通常伴随着减少任务的总体消耗的目的。减少了消耗的任务往往也有着产生更合理行为的益处。

优化一个任务的两个主要组成部分:找到可以被优化的行为;如果存在多于一种优化操作的方法,则算出最优的方法来优化行为。分开处理这些问题会更容易,

寻找可优化行为的第一个步骤在于准确地发现什么类型的行为可以被优化。如果有另一个行为可以用下面的结果来代替被优化的行为,任何行为都可以被优化。

1.如果行为有相同的有用的效果。

2.如果用来代替的行为的消耗小于被优化行为的消耗总和。

如果效果直接为任务中的另一个行为建立了前提条件或者是效果本身的前提,那它们就是有用的。例如一个npc任务用开火和上膛行为来摧毁目标。上膛行为有很多效果,首先,它让武器有子弹,其次,它减少了npc的弹药量。第一个效果是有用的,因为它完成了任务中另一个行为的前提条件。第二个效果没有用,因为它与任务的执行无关。

如果没有行为本身的信息,搜索可优化行为任务的消耗就会很大,所以需要寻找那些已知可以优化的行为。在一个己实现的系统中,这意味着要么寻找自己可优化的特定行为,要么寻找己知的可以优化的行为组合。npc会有多种任务,每一个都有returnitems行为。这就是一个要寻找的完美的候选行为,因为可以优化两个returnitems行为。甚至可以从任务的末尾开始寻找,因为很可能每一个任务中的最后行为可以被优化。goto(base)也可以与自身一起优化,因为它可以完成同样的效果。

第二个步骤是发现了可能的优化后,要创造一个最优的任务。创建一个最优化的任务会通常消耗很大。对于收集资源的npc来说,可以通过允许npc一次收集多个资源来改进行为。

然而为了让npc看上去更加智能,可以加入评价以及对特殊目的的检查来为余下的行为排序。比如有两对goto(道具)且getitem的行为要在优化的行为前被代替,所以可以写一个评价来保证npc先去最近的道具处。评价是为了在任务优化中加强所期望的行为而制定的一般规则。

接下来优化任务算法接受由通用ai任务系统生成的两个任务。比如npc把它最重要的两个效果发给任务者,然后把那两个独立的任务发送给任务优化者。对于第一个任务的每一个行为,算法检査它是否可以被第二个任务的一个行为优化,如果可以执行优化,那两个行为被放到一个单独的任务中,从两个任务中放置优化行为前的行为要注意,对于在优化行为后的行为也是一样。如果需要对未优化行为的顺序进行更精确的控制,可以加入评价来决定最好的顺序,并且根据需要重新安排行为的顺序。对于更广范围的可能优化来说,一个完整的任务优化算法应该在每一个任务中检查每一个可能的行为组的综合效果,寻找一连串的行为可以被一个单独的、更廉价的行为所代替的情况。这样一个算法对可优化任务产生非常可观的改进。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

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