CN107875632B - 实现人工智能行为的方法、系统及人工智能行为编辑器 - Google Patents
实现人工智能行为的方法、系统及人工智能行为编辑器 Download PDFInfo
- Publication number
- CN107875632B CN107875632B CN201711276798.2A CN201711276798A CN107875632B CN 107875632 B CN107875632 B CN 107875632B CN 201711276798 A CN201711276798 A CN 201711276798A CN 107875632 B CN107875632 B CN 107875632B
- Authority
- CN
- China
- Prior art keywords
- behavior
- task
- sub
- layer
- behaviors
- 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.)
- Active
Links
Images
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
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种实现人工智能行为的方法、系统及人工智能编辑器,通过预先将NPC(Non‑Player Character,非玩家角色)的所有AI行为进行拆分,提取组成AI行为的多个共同规则,并分别封装成多个组件,形成AI行为库,实现在需要根据新的AI任务编辑AI行为时,策划人员能够直接从AI行为库中调用相应的组件,而不需要从零开始构建整个AI行为设置,更不需要编辑代码,使得AI行为的配置更加方便和灵活装配,具有更好地拓展性和可维护性,并缩短了AI行为的开发周期。
Description
技术领域
本发明涉及人工智能领域,特别是涉及一种实现人工智能行为的方法、系统及人工智能行为编辑器。
背景技术
AI(Artificial Intelligence,人工智能)是指利用计算机等现代化工具来模拟人类的思维和行动的技术,随着AI技术的日渐进步,AI技术已经被应用于生产生活的各个方面。例如,当AI技术被应用于游戏应用程序中时,会生成一个与人具有相类似行为的主体,该主体即为AI智能体。由于AI智能体能够表现出与人的智能行为、活动相类似,或与玩家的思维、感知相符合的特性,因而可以提高游戏应用程序的可玩性。
因此,为了实现游戏AI行为,现有技术中一般是通过硬编码程序的方式或有限的导表方式即通过选择不同的配置生成代码实现对游戏AI的配置。其中,通过硬编码程序的方式虽然可以直接实现策划人员提出的各方面需求,但是实现的整个过程即:下达需求→确认需求→实现编码→实现完成确认的这一过程需要耗费大量的时间。而导表方式是指通过编辑器的表中增设候选组件的字段(可比喻成数据库的表),向表中的数据项加入组件选项后再编写导表函数对应选项,将相关选项以代码文本的形式输出,运行过程中直接执行这些代码,由此完成对游戏AI的配置;虽然通过导表方式可以在一定程度上增加可配置性,提高代码的重用率,但是遇到一些复杂的复合逻辑时在使用和配置上会显得很繁琐,反而大大降低了开发效率;并且,通过导表方式实现对AI的配置中,需要靠配置再生成可用代码,不能随时对内容参数变更,具有较差的可调性,容易带来运行上的安全隐患。
发明内容
为解决上述现有技术的缺点和不足,本发明提供了一种实现人工智能行为的方法、系统及人工智能行为编辑器,通过预先将NPC(Non-Player Character,非玩家角色)的所有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行为配置文件,包括以下步骤:
S221:根据当前单任务的逻辑顺序依序建立组成该单任务的多个节点配置参数;
S222:调用预设的存储有父层类型组件和子层类型组件的AI行为库,于各节点配置参数或部分节点配置参数下配置相应的父层类型组件;
S223:于配置好的各父层类型组件下调用并配置相应的子层组件;
S224:配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存单任务AI行为配置文件;
S225:循环步骤S221~S224,直至获取所有单任务的AI行为配置文件;
获得所有单任务AI行为配置文件后,根据AI任务的逻辑顺序建立所有单任务之间的执行逻辑;
所有单任务之间的执行逻辑建立后,将所有单任务及其之间的执行逻辑封装成多任务AI行为配置文件;
根据多任务行为配置文件实现与当前AI任务相应的AI行为。
第三方面,本发明提供了一种实现人工智能行为的系统,该系统包括存储器、输入设备和处理器;
所述存储器用于存储多条指令;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为上述任一项所述的实现人工智能行为的方法。
第四方面,本发明提供了一种人工智能行为编辑器,包括存储器、处理器、输入设备及显示器;
所述存储器用于存储多条指令和预设的AI行为库;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为权利要求1~8任一项所述的实现人工智能行为的方法;所述显示器用于显示由输入设备输入的AI任务信息和由处理器输出的AI任务编辑界面、AI状态编辑界面及AI行为信息。
由此,本发明所提供的技术方案带来的有益效果为:通过预先将NPC的所有AI行为进行拆分,提取组成AI行为的多个共同规则,并分别封装成多个组件,形成AI行为库,实现在需要根据新的AI任务编辑AI行为时,策划人员能够直接从AI行为库中调用相应的组件,而不需要从零开始构建整个AI行为设置,使得AI行为的配置更加方便和灵活装配,具有更好地拓展性和可维护性,并缩短了AI行为的开发周期。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明实施例1中实现人工智能行为的方法的方法流程图;
图2为一个基本AI任务的执行流程图
图3为本发明实施例2中实现人工智能行为的方法的方法流程图;
图4为一个多任务的AI状态的执行流程图;
图5为本发明实施例4中的AI任务编辑界面的示意图;
图6为本发明实施例4中的AI任务编辑界面中父层类型组件中的子层组件的选择界面;
图7为本发明实施例4中的AI状态编辑界面的示意图。
具体实施方式
实施例1
请参阅图1,在本实施例中,提供了一种实现人工智能行为的方法,适于在计算设备中执行,该方法用于实现仅具有一个任务的AI任务的AI行为,且该方法包括以下步骤:
S11:根据当前AI任务的逻辑顺序依序建立组成该AI任务的多个节点配置参数;另外,还可以根据需要在每一节点配置参数或某个节点配置参数下配置子节点配置参数;
S12:调用预设的存储有父层类型组件和子层组件的AI行为库,于各节点配置参数或部分节点配置参数下配置相应的父层类型组件;
S13:于配置好的各父层类型组件下调用并配置相应的子层组件;
S14:配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存AI行为配置文件;
S15:根据AI行为配置文件实现与当前AI任务相应的AI行为。
为进一步理解本发明的步骤S11~S15,以下以NPC需要完成一个采矿的AI任务进行说明:
一个采矿的AI任务包含以下参数:接到任务、任务初始化、进入目标建筑、继续任务、剧本回调、完成任务、及中断任务;则要完成采矿任务的AI行为,根据步骤S11~S15可知,首先,建立组成该AI任务的多个节点配置参数——接到任务、任务初始化、进入目标建筑、继续任务、剧本回调、完成任务、及中断任务;接着,在任务初始化这一节点配置参数下配置子节点配置参数“准备采矿”,在进入目标建筑这一节点配置参数下配置子节点配置参数“采矿”,在继续任务这一节点配置参数下配置子节点配置参数“继续采矿”,在剧本回调这一节点配置参数下配置子节点配置参数“采矿完毕”,在中断任务这一节点配置参数下配置子节点配置参数“中止采矿”,由此完成步骤S11中的操作;然后,在未配置有子节点配置参数的节点配置参数下、及在配置有子节点配置参数的子节点配置参数下配置与其相应的父层类型组件,现以“采矿”这一子节点配置参数下配置的父层类型组件进行说明其父层类型组件的配置——由于要进入建筑物进行采矿,则应配置有搜索方式组件、选择类型组件、行为方式组件和目标类型组件。其中,搜索方式组件是指允许NPC在全图中搜索矿物或只能在一定范围内搜索矿物;选择类型组件是指通过搜索方式组件得到目标建筑后,再通过该选择类型组件进行选择;行为方式组件是指要以哪种行为方式进行采矿行为;目标类型组件是指要搜索哪种类型的目标建筑作为目的地;依据此原理完成多有父子层类型组件的配置后,完成步骤S12。接着,在配置好的各父层类型组件下调用并配置相应的子层组件,如,确认好搜索方式组件为全图搜索时,则在搜索方式组件下配置全图搜索这一子层组件;确认好行为方式组件是普通行为时,则在行为方式组件下配置普通行为这一子层组件,以此类推,完成所需的子层组件的配置,由此即可完成步骤S13。随后,AI任务相应的AI行为的配置基本完成,此时就要将所有节点配置参数联系起来,而使得所有节点配置参数能够按照采矿任务的逻辑发展,如,在什么情况下会触发采矿任务的接收,在什么情况下进行采矿任务的准备和执行,在什么情况下进行剧情回调使采矿任务完成或中断采矿任务,及在什么情况下才算是完成采矿任务等,都需要设置好合理的执行逻辑,以使得AI行为能够顺利进行;在完成执行逻辑的建立后,就可以得到了AI行为配置文件,而通过执行AI行为配置文件即可实现AI行为,由此完成步骤S14和步骤S15。
另外,而在其它AI任务中,目标类型也可以是一些动态目标。
另外,一个基本AI任务的执行流程可参阅图2,并可根据图2中的AI任务的执行流程及逻辑去理解本实施中节点配置参数之间的执行逻辑的建立。
在本实施例中,预设的AI行为库的创建包括以下步骤:
S01:获取所有AI行为,并将各AI行为拆分形成组成其的多个配置行为;
S02:获取实现各个配置行为的程序代码,并将各个配置行为的程序代码封装形成相应的子层组件;例如,采矿AI行为的子层组件“普通行为”是内置有“找建筑物”、“前往建筑”、“排队”、“进入建筑”和“离开建筑”等动作的,而要完成这些动作,是通过程序代码来实现的,而将这些程序代码进行封装后,即形成与这些动作对应的“普通行为”子层组件;
S03:根据各个子层组件的特性获取其所属类型,并将属于同一类型的子层组件封装形成相应的父层类型组件;例如,采矿AI行为的父层类型组件“行为方式”包括有必须行为、路标行为、普通行为、特定行为和休息行为等行为的,而这些行为都属于同一种类型,也即行为方式类型,故需要将这些同类型的行为封装形成囊括这些行为的行为方式父层类型组件。
S04:保存所有父层类型组件,及各个父层类型组件下的子层组件,完成AI行为库的创建。
为了避免组件数据重复而造成存储冗余,减少AI行为库所占用的存储空间,并避免影响组件的调用,作为一种更优的技术方案,在所述步骤S03中,如果在同一父层类型组件中存在程序代码完全相同的至少两子层组件,则仅保留其中一子层组件并将与其相同的其它子层组件删除。
为方便AI行为配置文件的存档和便于日后的修改及更新操作,作为一种更优的技术方案,在所述步骤S14中,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行为的编辑、修改和调整,作为一种更优的技术方案,在所述步骤S13中,分别调用AI行为库中隶属于配置好的各父层类型组件下的所有子层组件,并于配置好的各父层类型组件下配置隶属于其的所有子层组件。
由此,通过将各父层类型组件所包括的所有子层组件都配置于内,也即,即使在确认好行为方式组件是普通行为时,除了会配置有普通行为子层组件外,还会在行为方式组件中配置必须行为、路标行为、特定行为和休息行为等子层组件,则在需要对行为方式进行修改时,直接在行为方式下改成选取当前所需的子层组件即可,而不需要进行删除原始子层组件并增加当前所需的子层组件等操作。
实施例2
请参阅图3,本实施例2提供了一种实现人工智能行为的方法,适于在计算设备中执行,该方法用于实现包含多个任务的AI任务的AI行为,且该方法包括以下步骤:
S21:将当前AI任务分解成多个单任务;
S22:获取所有单任务的单任务AI行为配置文件,包括以下步骤:
S221:根据当前单任务的逻辑顺序依序建立组成该单任务的多个节点配置参数;
S222:调用预设的存储有父层类型组件和子层类型组件的AI行为库,于各节点配置参数或部分节点配置参数下配置相应的父层类型组件;
S223:于配置好的各父层类型组件下调用并配置相应的子层组件;
S224:配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存单任务AI行为配置文件;
S225:循环步骤S221~S224,直至获取所有单任务的AI行为配置文件;
S23:获得所有单任务AI行为配置文件后,根据AI任务的逻辑顺序建立所有单任务之间的执行逻辑;
S24:所有单任务之间的执行逻辑建立后,将所有单任务及其之间的执行逻辑封装成多任务AI行为配置文件;
S25:根据多任务行为配置文件实现与当前AI任务相应的AI行为。
由此,通过上述步骤,利用组件实现灵活装配,保证即使在实现多任务的AI行为时,也能够容易实现和缩短开发周期。
在本实施例中,多任务是多个单任务的封装,可以看做连续执行多个不同或相同的序列行为,并且,当一个多任务内的至少两单任务间存在中相同的参数时,这些单任务可以共享同一参数。
另外,一个多任务的AI状态的执行流程可参阅图4,并可根据图4中的AI状态执行流程对本实施例中的多任务和各单任务间的执行逻辑进行理解。
在本实施例中,预设的AI行为库的创建包括以下步骤:
S01:获取所有AI行为,并将各AI行为拆分形成组成其的多个配置行为;
S02:获取实现各个配置行为的程序代码,并将各个配置行为的程序代码封装形成相应的子层组件;例如,实施例1中的采矿AI行为的子层组件“普通行为”是内置有“找建筑物”、“前往建筑”、“排队”、“进入建筑”和“离开建筑”等动作的,而要完成这些动作,是通过程序代码来实现的,而将这些程序代码进行封装后,即形成与这些动作对应的“普通行为”子层组件;
S03:根据各个子层组件的特性获取其所属类型,并将属于同一类型的子层组件封装形成相应的父层类型组件;例如,采矿AI行为的父层类型组件“行为方式”包括有必须行为、路标行为、普通行为、特定行为和休息行为等行为的,而这些行为都属于同一种类型,也即行为方式类型,故需要将这些同类型的行为封装形成囊括这些行为的行为方式父层类型组件。
S04:保存所有父层类型组件,及各个父层类型组件下的子层组件,完成AI行为库的创建。
为了避免组件数据重复而造成存储冗余,减少AI行为库所占用的存储空间,并避免影响组件的调用,作为一种更优的技术方案,在所述步骤S03中,如果在同一父层类型组件中存在程序代码完全相同的至少两子层组件,则仅保留其中一子层组件并将与其相同的其它子层组件删除。
在本实施例中,所述AI行为库和实施例1中的AI行为库的内容一致,且本实施例中所用的AI行为库与实施例1中所用的AI行为库为同一AI行为库。
为方便多任务AI行为配置文件的存档和便于日后的修改及更新操作,作为一种更优的技术方案,在得到多任务行为配置文件后,还进行保存操作,多任务AI行为配置文件的保存包括以下步骤:
于预设的AI任务列表中建立名称与当前AI任务名称一致或相关的任务节点;
于任务节点下配置多任务AI行为配置文件,实现多任务AI行为配置文件的保存。
由此,在日后需要获取相应的多任务AI行为时,即可利用AI任务名称在AI任务列表中搜索得到相应的AI行为配置文件。而且,在后续策划过程中实现的其它AI行为的AI行为配置文件都存储于所述AI任务列表中,方便对各种AI行为的查找和调用。
在本实施例中,所述AI任务列表与实施例1中所用的AI任务列表为同一列表,也即,该AI任务列表不仅能够保存有实施例1中的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行为的编辑、修改和调整,作为一种更优的技术方案,在所述步骤S223中,分别调用AI行为库中隶属于配置好的各父层类型组件下的所有子层组件,并于配置好的各父层类型组件下配置隶属于其的所有子层组件。
由此,通过将各父层类型组件所包括的所有子层组件都配置于内,也即,即使在确认好行为方式组件是普通行为时,除了会配置有普通行为子层组件外,还会在行为方式组件中配置必须行为、路标行为、特定行为和休息行为等子层组件,则在需要对行为方式进行修改时,直接在行为方式下改成选取当前所需的子层组件即可,而不需要进行删除原始子层组件并增加当前所需的子层组件等操作。
实施例3
本实施例3提供了一种实现人工智能行为的系统,包括存储器、输入设备和处理器。所述存储器用于存储多条指令;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为实施例1和/或实施例2中的实现人工智能行为的方法。
在本实施例中,存储器除了存储多条指令外,还存储有实施例1和实施例2中的AI行为库和AI任务列表。输入设备为键盘和/或鼠标和/或触摸屏。而本系统的处理器的工作原理和所执行的指令步骤可查看实施例1和/或实施例2中的实现人工智能行为的方法,故在此不再赘述。
另外,本系统还具有其它变形实施例,例如,将存储器、输入设备和处理器用计算机或智能终端或移动终端替代。
实施例4
本实施例提供了一种人工智能行为编辑器,包括存储器、处理器、输入设备及显示器。所述存储器用于存储多条指令和预设的AI行为库;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为实施1和/或实施例2的实现人工智能行为的方法;所述显示器用于显示由输入设备输入的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任务编辑界面如图5所示,父层类型组件中的子层组件的选择界面如图6所示,AI状态编辑界面如图7所示。其中,图5中标号1所指之处为AI任务新建区域,标号2所指之处为节点配置参数区域,标号3所指之处为父层类型组件和子层类型组件显示区域,标号4所指之处为AI执行逻辑信息区域。
在本实施例中,存储器除了存储多条指令和AI行为库外,还存储有实施例1和实施例2中的AI任务列表。输入设备为键盘和/或鼠标和/或触摸屏。而处理器的工作原理和所执行的指令步骤可查看实施例1和/或实施例2中的实现人工智能行为的方法,故在此不再赘述。
另外,本系统还具有其它变形实施例,例如,将存储器、输入设备、处理器和显示器用计算机或智能终端或移动终端替代。
相对于现有技术,本发明实现人工智能行为的方法、系统及人工智能行为编辑器通过预先将NPC的所有AI行为进行拆分,提取组成AI行为的多个共同规则,并分别封装成多个组件,形成AI行为库,实现在需要根据新的AI任务编辑AI行为时,策划人员能够直接从AI行为库中调用相应的组件,而不需要从零开始构建整个AI行为设置,更不需要编辑代码,使得AI行为的配置更加方便和灵活装配,具有更好地拓展性和可维护性,并缩短了AI行为的开发周期。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (9)
1.一种实现人工智能行为的方法,适于在计算设备中执行,其特征在于:该方法用于实现仅具有一个任务的AI任务的AI行为,该方法包括以下步骤:
获取所有AI行为,并将各AI行为拆分形成组成其的多个配置行为;
获取实现各个配置行为的程序代码,并将各个配置行为的程序代码封装形成相应的子层组件;
根据各个子层组件的特性获取其所属类型,并将属于同一类型的子层组件封装形成相应的父层类型组件;
保存所有父层类型组件,及各个父层类型组件下的子层组件,完成AI行为库的创建;
根据当前AI任务的逻辑顺序依序建立组成该AI任务的多个节点配置参数;
调用预设的存储有父层类型组件和子层组件的AI行为库,于各节点配置参数或部分节点配置参数下配置相应的父层类型组件;
于配置好的各父层类型组件下调用并配置相应的子层组件;
配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存AI行为配置文件;
根据AI行为配置文件实现与当前AI任务相应的AI行为。
2.根据权利要求1所述的实现人工智能行为的方法,其特征在于:在所述步骤根据各个子层组件的特性获取其所属类型,并将属于同一类型的子层组件封装形成相应的父层类型组件中,如果在同一父层类型组件中存在程序代码完全相同的至少两子层组件,则仅保留其中一子层组件并将与其相同的其它子层组件删除。
3.根据权利要求1或2所述的实现人工智能行为的方法,其特征在于:所述步骤配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存AI行为配置文件中,AI行为配置文件的保存包括以下步骤:
于预设的AI任务列表中建立名称与当前AI任务名称一致或相关的任务节点;
于任务节点下配置AI行为配置文件,实现AI行为配置文件的保存。
4.根据权利要求3所述的实现人工智能行为的方法,其特征在于:需要对AI任务数据列表中的原始AI任务进行修改,以形成新AI任务时;或者,需要新建新AI任务,而新AI任务与原始AI任务具有相同参数时,基于原始AI任务实现新AI行为的方法包括以下步骤:
于所述AI任务列表中调用原始AI任务;
获取新AI任务相对于原始AI任务的区别之处;
根据区别之处于原始AI任务的AI行为配置文件中修改或调整相关的节点配置参数和/或父层类型组件和/或子层组件,得到新AI任务的AI行为配置文件,实现新AI行为;
于AI任务列表中建立名称与新AI任务名称一致或相关的新任务节点;
于新任务节点下配置新的AI行为配置文件,实现AI行为配置文件的保存。
5.根据权利要求1所述的实现人工智能行为的方法,其特征在于:在所述步骤于配置好的各父层类型组件下调用并配置相应的子层组件中,分别调用AI行为库中隶属于配置好的各父层类型组件下的所有子层组件,并于配置好的各父层类型组件下配置隶属于其的所有子层组件。
6.一种实现人工智能行为的方法,适于在计算设备中执行,其特征在于:该方法用于实现包含多个任务的AI任务的AI行为,该方法包括以下步骤:
获取所有AI行为,并将各AI行为拆分形成组成其的多个配置行为;
获取实现各个配置行为的程序代码,并将各个配置行为的程序代码封装形成相应的子层组件;
根据各个子层组件的特性获取其所属类型,并将属于同一类型的子层组件封装形成相应的父层类型组件;
保存所有父层类型组件,及各个父层类型组件下的子层组件,完成AI行为库的创建;
将当前AI任务分解成多个单任务;
获取所有单任务的单任务AI行为配置文件,包括以下步骤:
S221:根据当前单任务的逻辑顺序依序建立组成该单任务的多个节点配置参数;
S222:调用预设的存储有父层类型组件和子层类型组件的AI行为库,于各节点配置参数或部分节点配置参数下配置相应的父层类型组件;
S223:于配置好的各父层类型组件下调用并配置相应的子层组件;
S224:配置各节点配置参数的执行条件,完成所有节点配置参数之间的执行逻辑的建立,得到并保存单任务AI行为配置文件;
S225:循环步骤S221~S224,直至获取所有单任务的AI行为配置文件;
获得所有单任务AI行为配置文件后,根据AI任务的逻辑顺序建立所有单任务之间的执行逻辑;
所有单任务之间的执行逻辑建立后,将所有单任务及其之间的执行逻辑封装成多任务AI行为配置文件;
根据多任务行为配置文件实现与当前AI任务相应的AI行为。
7.根据权利要求6所述的实现人工智能行为的方法,其特征在于,还包括步骤:
在得到多任务行为配置文件后,还进行保存操作,多任务AI行为配置文件的保存包括以下步骤:
于预设的AI任务列表中建立名称与当前AI任务名称一致或相关的任务节点;
于任务节点下配置多任务AI行为配置文件,实现多任务AI行为配置文件的保存。
8.一种实现人工智能行为的系统,其特征在于:包括存储器、输入设备和处理器;
所述存储器用于存储多条指令;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为权利要求1~7任一项所述的实现人工智能行为的方法。
9.一种人工智能行为编辑器,其特征在于:包括存储器、处理器、输入设备及显示器;
所述存储器用于存储多条指令和预设的AI行为库;所述输入设备用于对处理器输入AI任务信息;所述处理器用于根据所述AI任务信息从存储器中调用并执行相关的指令,且处理器执行的指令为权利要求1~7任一项所述的实现人工智能行为的方法;所述显示器用于显示由输入设备输入的AI任务信息和由处理器输出的AI任务编辑界面、AI状态编辑界面及AI行为信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711276798.2A CN107875632B (zh) | 2017-12-06 | 2017-12-06 | 实现人工智能行为的方法、系统及人工智能行为编辑器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711276798.2A CN107875632B (zh) | 2017-12-06 | 2017-12-06 | 实现人工智能行为的方法、系统及人工智能行为编辑器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107875632A CN107875632A (zh) | 2018-04-06 |
CN107875632B true CN107875632B (zh) | 2021-03-16 |
Family
ID=61773164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711276798.2A Active CN107875632B (zh) | 2017-12-06 | 2017-12-06 | 实现人工智能行为的方法、系统及人工智能行为编辑器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107875632B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857552A (zh) * | 2019-01-11 | 2019-06-07 | 珠海金山网络游戏科技有限公司 | 一种游戏人工智能行动规划方法及系统 |
CN109999495B (zh) * | 2019-03-28 | 2023-02-28 | 网易(杭州)网络有限公司 | 人工智能ai单元状态信息的处理方法及系统 |
CN111841016B (zh) * | 2019-04-28 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 游戏ai系统、游戏ai的信息处理方法、装置和存储介质 |
CN111298439B (zh) * | 2020-01-21 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、介质及电子设备 |
CN111228813B (zh) * | 2020-01-22 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、设备及存储介质 |
CN113713394B (zh) * | 2021-08-06 | 2024-06-14 | 广州三七网络科技有限公司 | 游戏作品生成方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100766545B1 (ko) * | 2005-09-08 | 2007-10-11 | 엔에이치엔(주) | 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템 |
US8870661B2 (en) * | 2012-12-21 | 2014-10-28 | Sony Computer Entertainment America Llc | Cloud-based game slice generation and frictionless social sharing with instant play |
CN104133666B (zh) * | 2013-11-29 | 2017-11-17 | 腾讯科技(成都)有限公司 | 确定人工智能行为的方法、装置及人工智能服务器 |
CN104133667B (zh) * | 2013-11-29 | 2017-08-01 | 腾讯科技(成都)有限公司 | 实现人工智能行为的方法、装置及人工智能编辑器 |
CN105183445B (zh) * | 2015-07-10 | 2019-04-16 | 珠海金山网络游戏科技有限公司 | 一种基于xml的游戏人工智能的可视化设计系统 |
CN105446742B (zh) * | 2015-12-11 | 2019-02-12 | 珠海金山网络游戏科技有限公司 | 一种人工智能执行任务的优化方法 |
CN107080945B (zh) * | 2017-05-11 | 2020-12-22 | 网易(杭州)网络有限公司 | 测试游戏中人工智能行为的方法、装置及电子设备 |
-
2017
- 2017-12-06 CN CN201711276798.2A patent/CN107875632B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107875632A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107875632B (zh) | 实现人工智能行为的方法、系统及人工智能行为编辑器 | |
CN107357567B (zh) | 一种可视化脚本编辑器的设计系统和方法 | |
CN102662664B (zh) | 界面动画实现方法及系统 | |
Datta et al. | RoboStudio: A visual programming environment for rapid authoring and customization of complex services on a personal service robot | |
CN102289834B (zh) | 一种微动画编辑器及其编辑方法 | |
CN106775683B (zh) | 一种图形化编程控制与存储系统 | |
CN111079244B (zh) | 一种基于行为树的分布式仿真平台 | |
CN106156186A (zh) | 一种数据模型管理装置、服务器及数据处理方法 | |
US20100138808A1 (en) | Embedded system design device and a method thereof using a target independent model | |
CN101630340A (zh) | 一种面向图形对象的配电网单线图矢量绘制工具 | |
CN110673844A (zh) | 一种图像处理软件开发方法及系统 | |
CN109876445A (zh) | 一种基于行为树的高解耦引导方法及系统 | |
CN109513212B (zh) | 一种2d手机游戏ui、剧情编辑方法及系统 | |
CN106250134B (zh) | 单一性语言的代码自动生成方法 | |
JP6370503B1 (ja) | プログラム作成装置 | |
CN112755534B (zh) | 一种数据处理方法、装置和存储介质 | |
CN111399829A (zh) | 一种基于模型驱动的波形建模方法及终端 | |
CA2341114C (en) | Data definition language | |
CN101650553B (zh) | 控制智能机器人和制作机器人内容的制作工具的应用方法 | |
CN117369788A (zh) | 一种拖拽式业务逻辑编辑系统方法 | |
CN110457212B (zh) | 基于复杂系统的测试建模及测试用例的自动生成方法 | |
CN102637073B (zh) | 一种在三维动画引擎底层实现人机交互的方法 | |
CN111739132B (zh) | 一种基于局部控制器的全身骨骼运动效果修改方法 | |
Burova et al. | Distributed Administration of Multi-Agent Model Properties. | |
KR20010011272A (ko) | 객체 기반 로봇 프로그래밍 시스템 및 방법 |
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 |