一种游戏人工智能任务的设计系统和方法与流程

文档序号:13523751阅读:610来源:国知局
一种游戏人工智能任务的设计系统和方法与流程

本发明涉及一种游戏人工智能任务的设计系统和方法,属于计算机游戏开发领域。



背景技术:

传统的游戏人工智能系统,无论是在服务端还是在客户端运行,都只能利用单线程的计算能力,无法做成多线程并行的系统运行.这样浪费了多核cpu的计算能力,大大限制了人工智能的运算量,使得游戏的人工智能表现力受限,影响了玩家的用户体验与游戏的代入感.而且人工智能没有虚拟机的概念,在多处理器平台和多种操作系统间移植困难,加大了游戏的开发成本。



技术实现要素:

针对现有技术的不足,本发明的技术方案提供了一种游戏人工智能任务的设计系统和方法,通过并行虚拟机对人工智能进行处理,弥补了现有技术对大型任务中人工智能处理存在的缺点。

本发明的技术方案包括一种游戏人工智能任务的设计系统,其特征在于,该系统包括:任务创建器,用于在创建任务时创建与任务对应的粒度,粒度用于对所创建的任务信息进行记,还用于创建事件,其中事件包括多个任务;任务存储器,用于将所创建的任务存储至任务池,还用于获取所述任务创建器创建的任务粒度,并使用粒度列表进行存储并创建对应粒度的引用唯一标识符;任务管理器,用于获取所述任务存储器所存储的任务及任务粒度,还用于对任务粒度列别进行存储,分析不同的事件或/和任务并发送;任务路由器,用于对所述任务管理器发送的任务或/和事件任务,将多个不同的任务组合成任务执行包,并将其发送至对应的处理器。

根据所述的游戏人工智能任务的设计系统,所述的任务创建器还包括:任务创建模块,用于根据人工智能的不同行为,创建对应类型的多个任务;任务粒度模块,用于对创建的任务进行花费时间及复杂度进行计算并预设,使用粒度对任务进行记录,其中粒度所记录信息包括任务复杂度大小、完成任务的系统资源消耗、完成任务所需的网络资源;粒度列表模块,用于将任务所引用的任务粒度发送至任务管理器,还用于对具有相同完成时间及相同类型的任务使用同一粒度进行引用。

根据所述的游戏人工智能任务的设计系统,所述的任务存储器还包括:任务池模块,用于接收所述任务创建器创建的任务,并将任务存储任务池,其中任务在任务池中以唯一标识符和数据块进行存储;动态粒度模块,用于当任务在被执行时,则在对任务数据的交互过程时,对应得动态修改任务粒度状态信息。

根据所述的游戏人工智能任务的设计系统,所述的任务管理器还包括:解析模块,用于获取任务池中任务唯一标识符,进一步获取任务数据及粒度数据;发送模块,用于将解析后的任务发送至任务路由器进行分发处理。

根据所述的游戏人工智能任务的设计系统,所述的任务路由器还包括:任务组合模块,用于将具有相同类型任务合并成任务组,进一步将任务组分发至分布式处理器进行处理。事件处理模块,用于对事件内的任务的执行时间及复杂度进行获取,根据获取的信息对事件进行划分处理,包括对大粒度任务使用单独的处理器进行处理,对多个小粒度任务使用一个或者几个处理器进行处理。

本发明的技术方案还包括一种游戏人工智能任务的设计方法,其特征在于,该方法包括:在创建任务时创建与任务对应的粒度,粒度用于对所创建的任务信息进行记,还用于创建事件,其中事件包括多个任务;将所创建的任务存储至任务池,还用于获取所述任务创建器创建的任务粒度,并使用粒度列表进行存储并创建对应粒度的引用唯一标识符;获取所述任务存储器所存储的任务及任务粒度,还用于对任务粒度列别进行存储,分析不同的事件或/和任务并发送;对所述任务管理器发送的任务或/和事件任务,将多个不同的任务组合成任务执行包,并将其发送至对应的处理器。

进一步,该方法还包括:根据人工智能的不同行为,创建对应类型的多个任务;对创建的任务进行花费时间及复杂度进行计算并预设,使用粒度对任务进行记录,其中粒度所记录信息包括任务复杂度大小、完成任务的系统资源消耗、完成任务所需的网络资源;将任务所引用的任务粒度发送至任务管理器,还用于对具有相同完成时间及相同类型的任务使用同一粒度进行引用。

进一步,该方法还包括:接收所述任务创建器创建的任务,并将任务存储任务池,其中任务在任务池中以唯一标识符和数据块进行存储;当任务在被执行时,则在对任务数据的交互过程时,对应得动态修改任务粒度状态信息。

进一步,该方法还包括:获取任务池任务唯一标识符,进一步获取任务数据及粒度数据;将解析后的任务发送至任务路由器进行分发处理。

进一步,该方法还包括:将具有相同类型任务合并成任务组,进一步将任务组分发至分布式处理器进行处理。对事件内的任务的执行时间及复杂度进行获取,根据获取的信息对事件进行划分处理,包括对大粒度任务使用单独的处理器进行处理,对多个小粒度任务使用一个或者几个处理器进行处理。

本发明的有益效果为:大大缩短游戏开发周期,增强代码可维护性与可重用性,增强游戏的体验和表现的目的。通过并行虚拟机,—款游戏既可以使用一个机器中的多个处理器,也可以使用一个局域网中的多台机器,从而强化玩家的游戏体验。

附图说明

图1所示为根据本发明实施方式的总体结构框图;

图2所示为根据本发明实施方式的详细结构图;

图3所示为根据本发明实施方式的任务组合图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的游戏人工智能任务的设计系统和方法适用于单机游戏、手机游戏、网页游戏等游戏的开发,尤其适用于存在大型任务的游戏人工智能任务的处理。

图1所示为根据本发明实施方式的总体结构框图。其中的处理器可以是任意的处理器,包括计算机中的处理器,还包括局域网或者因特网中具有处理能力的处理器。任务创建模块位于游戏程序中,负责创建任务,创建时需要对任务的执行时间及复杂度进行计算;任务存储模块,用于对任务信息及粒度进行存储,可以是游戏程序内部存储空间也可以是外部存储空间;任务管理器负责对任务的预处理及发送;任务路由器主要用于对任务的分发。

图2所示为根据本发明实施方式的详细结构图。所有的任务都发生在处理单元中。主板上的处理器,或者局域网中的计算机资源,都属于处理单元。可以把游戏主程序理解为“主人”,而把所有可用的处理单元理解为它的“工人”。这样,游戏主程序和附属的处理单元之间的关系就清晰可见了。处理单元并不主持工作,它们只在那里为游戏处理一些任务。由一个庞大的问题可以细分出很多的“任务”,例如路径生成、确定安置游戏单位的空间位置、造墙、经济分析,及其他与游戏相关的行为。每个任务都被指定了一个粒度,以便有效地确定它在任务管理器中的调度排位。一个任务的粒度可以反映出如下信息:

1.任务的大小;

2.完成这个任务所需要的计算开销;

3.达成一个解决方案所需要的带宽。

并行虚拟机通常更适合处理那些比较大型的任务。与任务的实际处理过程相比,任务的创建过程,也就是向任务池添加新任务的过程,会产生相当可观的系统开销。所以,为了能够向并行虚拟机提供更适合处理的任务,我们通常只会分配那些工作范围相对很广的任务,如下表1所示:

图3所示为根据本发明实施方式的任务组合图。其中的坦克和多个士兵的寻路任务由于时间、复杂度及类型相同且任务粒度较小,进行组合并发送至单个处理器进行处理器。其中的生产战术地图及建造围墙任务任务粒度较大,且时间、复杂度及类型不同,则采用多个处理器进行处理。

进一步,本发明的实施方式还提供2个实际案例,包括游戏外交系统和生产系统:

(1)游戏外交系统,在一个典型的即时战略游戏中,当玩家与ai主体展开政治谈判时,一般的ai系统都是根据事先安排好的响应来给出答复。这些响应通常都是基于有限的启发式数据,再根据敌国的统计数据(军力、敌军的作战单位与ai的城市或基地接近的程度等)生成出来的。

如果ai可以评估出玩家潜在的动机,那么它所创建出来的政治环境,就能够更好地对玩家的行为做出灵活的响应,也更能表现出接近真实世界的政治环境。采用本文介绍的技术,ai系统的开发人员可以编写出一系列的评估任务,并根据当前发生的事件来执行相应的评估任务。

假设玩家与一个ai对手展开一场外交谈判。玩家并没有什么作战单位部署在ai的基地附近,但是玩家已经暗中逐渐地、不断地从多个国家向ai的基地调动军队。ai在后台执行着一个任务,来评估敌方军队的行踪。通过跟踪记录敌方军队的移动情况,ai就可以确定玩家正在从地图中多个不同的位置集结军队,有入侵ai基地的潜在可能。

这种类型的评估逻辑在外交谈判中一定会起到重要的作用。于是,ai就可以提议,让玩家削减某个国家的兵力。因为这个国家对ai的一个战略基地威胁最大。

(2)生产系统,对于一款标准的即时战略游戏的开发,其另外一个相当明确的特色,是让ai系统有能力管理游戏单位的生产、收获食物、研究与发展,以及其他经济活动。所有这些功能的实现都作为理想的后台任务,在其他处理单元上执行。而中央控制机制则驻留在游戏的主程序中。

在一个典型的即时战略游戏中,核心的游戏单位担当着收获某种特定资源的角色。然后,这些资源被运送到不同的工厂,生产出不同的游戏单位或补给。可以编写一个并行虚拟机任务,对这些工厂进行资源流量分析。这个资源流量分析的工作内容主要是确保每个工厂都有适当的资源,可以用来生产或制造某个特定的游戏单位或其他资源。每个工厂还可以有一个直接或间接的消耗者,完全依赖于该工厂生产的产品。

此系统不但可以用在游戏ai上,还可以帮助玩家。很多即时战略游戏里都有一些管理者,他们负责管理和控制城市或基地。驱动ai系统的这些逻辑同样可以用来运营玩家的城镇,而且只需要很少的cpu开销。现在很多ai系统都可以实现这些任务,但是如果能让这些任务在后台运行,就可以为其他新的任务释放出更多的传统资源,为玩家提供更具沉浸感、更完整的游戏体验。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

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