一种基于XML的游戏人工智能的可视化设计系统技术方案

技术编号:12589552 阅读:60 留言:0更新日期:2015-12-24 14:45
本发明专利技术公开一种基于XML的游戏人工智能可视化设计系统,该系统包括:系统逻辑器,包括连接组件和功能组件,用于描述组件逻辑;图形编辑器,用于图形化表达组件,并将其组合为人工智能的树形结构;功能编辑器用于对组件编写对应属性和功能接口函数;图形配置器用于将属性和功能接口函数配置给组件;整体执行器,用于遍历、回溯、中断、阻塞人工智能树的组件,使人工智能树形结构拥有完整的功能。本发明专利技术的有益效果为:显著缩短人工智能的开发周期,增强代码的可维护性和重用性,增强游戏体验,方便各种职位的人员分工合作,优化流程。

【技术实现步骤摘要】

本专利技术涉及一种基于XML的游戏人工智能的可视化设计系统,属于计算机游戏领域。
技术介绍
游戏的人工智能在游戏的开发过程中有着举足轻重的作用,直接关系到玩家的战斗体验,同时也修改非常频繁。当游戏程序增加新的非玩家角色的时候,或者系统的需求发生变化,往往免不了要修改和增加更多的非玩家角色人工智能,这样往往会需要大量而且繁杂的重复编程工作,而且一般游戏项目中非玩家角色的人工智能以硬编码的方式实现,每个类实现一个非玩家角色的特殊人工智能逻辑,一般总量达几十个之多。但游戏项目人工智能的特点在于易变性,相似性与重复性。即需要大量大体相似但具体逻辑又不尽相同的人工智能,且策划的需求在不断变化与调整之中,这是由游戏这种娱乐软件注重用户体检的特点决定的。故这种硬编码的传统Al实现方法缺点有: 1.策划无法把设计直接变成实现,等待程序实现的周期过长,而且提出需求更改的周期也同样长,并且测试也非常麻烦,对人工智能实现效果非常不可控,游戏程序需要策划自己反复调整测试才能达到良好的用户体验,如果测试的周期过长会严重挫伤策划的工作积极性与开发的效率。2.程序实现人工智能的工作量非常大,大量相似程序功能要重复开发且反复调整,往往在实际工作中会因为工作量太大而舍弃掉大量策划有益的设计,这样反过来让游戏整体的品质受到影响。3.项目没有小粒度的可重用人工智能功能,整体开发成本太大,往往迫于项目进度的压力只能做出一个比较粗糙的非玩家角色的人工智能系统,严重影响了玩家的游戏体验。上述只是一部分例子,在实际开发过程中人工智能的开发可能会因为沟通、喜好会更加的复杂。因此一种可视化、可重用、高效率的人工智能开发系统能够大大缩短人工智能系统的开发周期、增强代码的可重用性、增加游戏的体验。
技术实现思路
针对现有技术低下开发效率、工作量过大、没有可以复用的人工智能功能的缺点,本专利技术提供了一种基于XML的游戏人工智能可视化设计系统,简化人工智能的开发流程、降低工作量、加强了代码的可维护性。本专利技术的技术方案采用XML语言。XML语言是一种可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言,具有兼容现有协议、统一的管理数据存取方式、不同应用系统间数据的共享与交互、底层传输数据更具有可读性,且和json都属于一种数据交换格式。本专利技术的技术方案为一种基于XML的游戏人工智能可视化设计系统,该系统包括:系统逻辑器,包括连接组件和功能组件,连接组件用于建立游戏程序中人工智能的判断逻辑,功能组件用于建立游戏程序中人工智能的行为逻辑,其中连接组件包括至少一个子组件;图形编辑器,包括一个人机交互的图形编辑界面,用于将所述的组件中以不同图形按照需求连接,组成人工智能的树形结构,其中,组件包括连接组件和功能组件;功能编辑器,用于对所述组件的属性进行数据配置,还用于编写和存储XML定义逻辑模版,所述模版可以复用,还用于编辑对应的功能接口函数实现所述组件所实现的程序功能,且能够对程序功能接口函数进行自定义编辑,将数据配置的组件属性和对应的程序接口函数封装成组件配置文件;图形配置器,用于解析所述的组件配置文件,将数据配置的组件属性和程序接口函数配置给所述人工智能的树形结构对应的组件,使组件拥有完整的功能;整体执行器,解析已经配置的人工智能树所包含的组件,对所述的已经配置的人工智能树所包含的组件依次进行按照深度优先进行执行,然后进行遍历、中断、回溯处理,使其成为具有完整功能的人工智能。优选地,所述的系统逻辑器中的连接组件包括:顺序器,用于顺序执行所有返回判断结果为真的子组件,如果上一个子组件判断结果为假,则不再执行下一个子组件;选择器,用于执行直到选择出第一个判断结果为真的子组件,如果上一个子组件判断结果为真,则不再执行下一个子组件;循环器,用于循环执行子组件一定次数,如果该子组件满足判断条件为假,则提前退出循环执行;随机器,用于对每个子组件分配一个相对的概率,由随机器根据概率随机选择其中一个子组件执行。进一步,所述的系统逻辑器中的功能组件包括:行为组件,包含对应非玩家角色的行为,属于执行行为的逻辑组件,是一种子组件,当游戏程序运行时,获取配置的XML数据表示信息,调用对应的函数接口实现组件功能,从而实现操控游戏程序中非玩家角色的行为;条件组件,包含对应非玩家角色的行为,属于执行判断的逻辑组件,是一种子组件,当游戏程序运行时,获取配置的XML数据表示信息,调用对应的函数接口实现组件功能,从而查询非玩家角色的状态。 进一步,所述的图形编辑器包括:可视化编辑模块,使用不同的图形对所述连接组件和功能组件图形进行表示,并将这些图形依照需求连接起来,使其形成人工智能的树形结构。进一步,所述的功能编辑器包括:XML数据配置模块,用于对对应的组件属性信息使用XML编辑器编辑为XML数据配置文件;XML逻辑模版编辑模块,能够对XML定义逻辑模版进行编写,还能够对XML定义逻辑模版使用数据表进行存储,并开放定义逻辑模版的参数,且XML定义逻辑模版能够重复使用;程序功能实现接口配置模块,用于对所述的XML数据配置文件配置对应的功能接口函数,所述的功能接口函数用于实现对应程序功能;程序功能实现接口编辑模块,用于对功能接口函数进行规范编辑,使功能接口函数能够对变化的组件功能进行实现。进一步,所述的整体执行器包括:遍历执行模块,从人工智能的树形结构的根组件出发,按照深度优先遍历执行树形结构的所有组件,其中连接组件包括顺序、选择、循环、随机4种逻辑,条件组件返回真或假,每次按照组件逻辑执行后,都向父组件返回真或假的信息,直到进入某个拥有时间的行为组件,则开始执行该组件;中断模块,用于表示组件在执行时,持续时间内判断是否发生中断,如果行为中断则表示规则满足中断;回溯模块,用于表示行为组件退出后会向父组件返回真或假,父组件再层层向后回溯,直到找到下一个执行行为,或者返回根组件,然后继续循环;阻塞模块,用于管理游戏行为的状态,当游戏行为静止时,控制该游戏行为的线程将被挂起,即如果游戏程序不向系统返回信息,那么游戏行为的线程被挂起将不会占用内存并且游戏行为不会随意变动。本专利技术的有益效果为:大大缩短人工智能系统开发周期,图形化设计清晰直观,方便表示分层逻辑,序列逻辑,框架简单,实现效果可控;增强代码可维护性与可重用性,编辑器输出XML文件定义逻辑模板,开放参数,数据表表可以给模板以具体参数,便于模板复用;增强游戏的体验和表现,图形化编辑比较便于按自然思维组织逻辑,可以方便地编辑出简单或比较复杂的人工智能逻辑,很自然支持boss连续技等传统人工智能比较难做的功能;方便各种职位的人员分工合作,优化流程,设计者和实现者用同种规范来达成目标,分尚了程序与策划的分工。【附图说明】图1所示为根据本专利技术实施方式的总体框图; 图2a_2c所示为根据本专利技术实施方式的一种简单的人工智能实现图; 图3a_3b所示为根据本专利技术实施方式的功能组件实现图; 图4a_4c所示为根据本专利技术实施方式的一种复杂的人工智能实现图。【具体实施方式】为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。本专利技术的一种基于XML的游戏人工智能可视化设计系统使用的本文档来自技高网
...

【技术保护点】
一种基于XML的游戏人工智能可视化设计系统,其特征在于,该系统包括:系统逻辑器,包括连接组件和功能组件,连接组件用于建立游戏程序中人工智能的判断逻辑,功能组件用于建立游戏程序中人工智能的行为逻辑,其中连接组件包括至少一个子组件;图形编辑器,包括一个人机交互的图形编辑界面,用于将所述的组件中以不同图形按照需求连接,组成人工智能的树形结构,其中组件包括连接组件和功能组件;功能编辑器,用于对所述组件的属性进行数据配置,还用于编写和存储XML定义逻辑模版,所述模版可以复用,还用于编辑对应的功能接口函数实现所述组件所实现的程序功能,且能够对程序功能接口函数进行自定义编辑,将数据配置的组件属性和对应的程序接口函数封装成组件配置文件;图形配置器,用于解析所述的组件配置文件,将数据配置的组件属性和程序接口函数配置给所述人工智能的树形结构对应的组件,使组件拥有完整的功能;整体执行器,解析已经配置的人工智能树所包含的组件,对所述的已经配置的人工智能树所包含的组件依次进行按照深度优先进行执行,然后进行遍历、中断、回溯处理,使其成为具有完整功能的人工智能。

【技术特征摘要】

【专利技术属性】
技术研发人员:李茂陈汉辉吴海权
申请(专利权)人:珠海金山网络游戏科技有限公司广州西山居世游网络科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1