CN109999495B - 人工智能ai单元状态信息的处理方法及系统 - Google Patents

人工智能ai单元状态信息的处理方法及系统 Download PDF

Info

Publication number
CN109999495B
CN109999495B CN201910243865.3A CN201910243865A CN109999495B CN 109999495 B CN109999495 B CN 109999495B CN 201910243865 A CN201910243865 A CN 201910243865A CN 109999495 B CN109999495 B CN 109999495B
Authority
CN
China
Prior art keywords
unit
information
game
display
time axis
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
Application number
CN201910243865.3A
Other languages
English (en)
Other versions
CN109999495A (zh
Inventor
肖敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910243865.3A priority Critical patent/CN109999495B/zh
Publication of CN109999495A publication Critical patent/CN109999495A/zh
Application granted granted Critical
Publication of CN109999495B publication Critical patent/CN109999495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing 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

Abstract

本发明公开了一种人工智能AI单元状态信息的处理方法及系统。其中,该方法包括:获取游戏运行中AI单元的多个状态信息;将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;将时间轴信息显示在游戏地图中的预设显示区域。进而解决了相关技术中对AI单元的状态信息的显示不直观,用户体验差的技术问题。

Description

人工智能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单元的状态信息的显示不直观,用户体验差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种人工智能AI单元状态信息的处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例提供的人工智能AI单元状态信息的处理方法的流程示意图;
图3是相关技术中可视化工具的示意图;
图4是本实施例中的工具的整体框架示意图;
图5是本实施例中的AI单元的地图显示示意图;
图6是本实施例中的菜单栏的功能示意图;
图7是进行AI单元的显示筛选过滤的示意图。
图8为过滤之后的某一个AI单元的显示示意图;
图9为点击图标后查看某一个节点上的AI具体节点信息的示意图;
图10为战斗内的全局统计信息显示示意图;
图11为单个AI单元的统计信息展示示意图;
图12是根据本发明实施例提供的配置信息的示意图(一);
图13是根据本发明实施例提供的配置信息的示意图(二);
图14是根据本发明实施例提供的人工智能AI单元状态信息的处理系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种人工智能AI单元状态信息的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种人工智能AI单元状态信息的处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的人工智能AI单元状态信息的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
图2是根据本发明实施例提供的人工智能AI单元状态信息的处理方法的流程示意图,如图2所示,该方法包括如下步骤:
步骤S202,获取游戏运行中AI单元的多个状态信息;
步骤S204,将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;
步骤S206,将时间轴信息显示在游戏地图中的预设显示区域。
通过上述步骤,采用获取游戏运行中AI单元的多个状态信息;将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;将时间轴信息显示在游戏地图中的预设显示区域。可以实现宏观显示AI单元的运行状态,进而解决了相关技术中对AI单元的状态信息的显示不直观,用户体验差的技术问题。
需要说明的是,上述中的执行主体可以是终端,但不限于此。
在一个可选的实施例中,本实施例可以应用在游戏中战斗的场景中,例如,获取战斗游戏场景中的AI单元的运行状态信息。
在一个可选的实施例中,本实施例中的多个状态信息可以是以下至少之一:单个AI单元在不同时间点上的状态信息;多个AI单元在相同时间点上的状态信息;多个AI单元在不同时间点上的状态信息。状态信息可以是AI单元的路径信息、状态机逻辑信息(如攻击状态、逃跑状态等)、行为树节点信息(如进行敌人血量判断、受伤触发判断等),以及实际的客户端行为信息(如跑、跳、开枪等)。状态信息还包括AI单元的额外信息,额外信息可以是AI单元的类型信息、AI单元的攻击次数、AI单元的击杀数量等。对于AI单元的额外信息,可以通过tag的形式进行标记。
在一个可选的实施例中,通过以下方式获取游戏运行中AI单元的多个状态信息:通过预设网络协议从数据反馈接口处接收AI单元的多个状态信息,其中,数据反馈接口与游戏进程连接,用于反馈游戏进程中的AI单元的多个状态信息;以游戏中的预定游戏场景的标识为索引,通过预设网络协议收集AI单元的多个状态信息。在本实施例中,预设网络协议可以包括网络层中的网络协议流,协议中包括了时间信息、AI单元所在战场的战场标识ID、反馈来源、AI单元类型、AI单元标识、以及具体反馈信息(如路径位置信息、行为节点信息等)。数据反馈接口接收来自远端(游戏战场服务器、游戏客户端)的逻辑信息反馈,逻辑信息反馈中包括了AI单元的状态信息。
在一个可选的实施例中,数据反馈接口从远端接收AI单元的状态信息,以游戏中的预定游戏场景的标识为索引,通过预设网络协议收集AI单元的多个状态信息之后,将AI单元的多个状态信息存储至数据库中。数据库可以是Sqlite数据库,可以实现对多个状态信息的读取、写入db存档文件的操作,其中每个db即记录了一场战斗的所有AI单元的状态信息。
需要说明的是,在将多个状态信息存储至数据库之前,可以暂时在内存中以map的形式进行缓存,可以以战斗场次为分隔,收集单场游戏场景中所有AI单元的状态信息。
在一个可选的实施例中,通过以下方式将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息:从数据库中读取存储的AI单元的多个状态信息;将AI单元的运行的状态信息以预设图标的形式在时间轴上排序。在本实施例中,还可以将实时获取的AI单元的状态信息与预设图标的形式在时间轴上排序。排序的方式是按照时间的前后进行排序,预设图标可以是不同颜色的标识,也可以是不同形状的标识。
在一个可选的实施例中,时间轴信息中包括的AI单元的状态信息包括以下至少之一:AI单元的行为树信息;AI单元的动作信息;AI单元运行的时间点信息;AI单元在时间轴上的状态信息。在本实施例中,游戏地图中的预设显示区域中将显示游戏场景中所有(或者筛选后的)AI单元的路径线路,在路径线路上会有AI单元在某一位置上的具体逻辑执行信息,通过预设图标(可以是小图标)的方式展示,点击预设图标将展示该游戏单元在此处的状态、行为树信息、动作信息等。通过读取游戏战场中统计的AI单元的状态信息,进行展示。需要说明的是,时间轴信息承载在时间轴中,时间轴中可以包括所有AI单元的状态信息,通过拖动时间轴,可以动态显示某个时间点战场的AI行为信息。可以在时间轴中筛选显示某些(或者某个)战斗中AI单元的状态信息。在时间轴上也可以显示tag记录的统计信息。在时间轴上还可以显示游戏战场中的统计信息,或者AI单元的状态信息的统计信息。
在一个可选的实施例中,通过以下方式将时间轴信息显示在游戏地图中的预设显示区域:确定AI单元的多个状态信息的显示条件;在时间轴信息中查找与显示条件对应的待显示状态信息;在游戏地图中的预设显示区域显示待显示状态信息。例如,在输入的显示条件为某一游戏战斗中所有的AI单元的状态信息,则会将某一游戏战斗中所有的AI单元的状态信息筛选出来进行显示。还可以通过设置时间轴信息的显示模式、显示步数、显示线条颜色,筛选出AI单元的状态信息,关注某个AI单元等。
在一个可选的实施例中,显示条件可以包括以下至少之一:AI单元在游戏运行中发生状态变化的时间点;AI单元所在的游戏场景;AI单元的属性;AI单元所在的预定游戏场景的标识。在本实施例中,显示条件不限于此。
在一个可选的实施例中,将时间轴信息显示在游戏地图中的预设显示区域之前,还可以设置时间轴信息,设置的内容包括以下至少之一:设置时间轴信息的显示模式,其中,显示模式包括静态显示和动态显示,例如,拖动时间轴,则可以动态显示;设置时间轴信息的显示格式,其中,显示格式包括显示颜色、显示字体、显示轨迹、显示图标;设置时间轴信息的显示参数。例如,将时间轴显示为灰色的模式。
在一个可选的实施例中,通过以下方式将时间轴信息显示在游戏地图中的预设显示区域:按照显示模式、显示格式以及显示参数中的至少之一将时间轴信息显示在游戏地图中的预设显示区域。
需要说明的是,上述步骤的执行主体可以是上述图1所示的终端,但并不限于此。
下面结合具体实施例对本发明进行详细说明:
通常情况下通过下面一些方案来查看AI的执行情况。
(1)通过游戏、观战直接查看AI单元的行为表现;这种方案,是设计者通过游戏体验(或者是观战体验)来直接观察AI单元的具体行为,如通过观察其所处环境,其自身状态,在条件达到预期时是否进入了预期的行为、状态。
(2)通过行为树(或状态机)的可视化工具,观察AI单元的执行最新状态信息;这种方案,将游戏AI的具体执行逻辑,通过可视化工具(插件)展示出来,如Unity的可视化插件,UE的蓝图等,如图3所示。
在通过战斗统计信息来查看AI单元的执行结果的情况下,在战斗中,具体的AI单元的行为数据通过统计形式,最后以文本或者图表来输出。游戏设计者通过分析这些统计信息,来调整宏观AI单元的策略。大部分游戏,均是基于游戏中的AI单元的现实表现来调整AI单元,或者是通过查看具体的AI单元的实现逻辑,来判断AI单元的行为执行反馈。对于游戏开发流程来说,如果AI单元的逻辑实现较复杂,且需要兼顾到数量较多的AI单元的整体表现,需要有一个宏观的AI单元的策略体现。本实施例中提供了一种统计AI单元的状态信息的工具,该工具能将AI单元的状态信息以及执行结果可视化展示、统一存储以供分析反馈。
该工具的技术原理如下:该工具支持接收游戏中战斗的AI单元执行的逻辑输入,包括工具主程序、工具接口模块。工具主程序包括:基础模块、服务模块、界面模块。实际游戏接入后,通过接口模块与工具主程序建立网络连接,并将游戏战斗内的AI单元的数据(状态信息),发送到工具的服务模块,经数据收集模块收集数据,可经由界面模块展示,并在战斗结束的时候进行数据存储。
存储数据格式为Sqlite,以游戏中的战斗场次为集合,在单场战斗中,包括战斗中的AI单元的路径信息、状态机逻辑信息(如攻击状态、逃跑状态等)、行为树节点信息(如进行敌人血量判断、受伤触发判断等),以及实际的客户端行为信息(如跑、跳、开枪等)。
对于AI单位的额外信息(例如,AI单元的类型、AI单元的攻击次数、AI单元的击杀数量等),可以通过tag的形式标记到数据记录里(数据记录可以是数据库,也可以是缓存中)。
界面展示模块,将收集到的数据,通过时间轴控制的形式,将AI单元的状态信息可视化。
图4是本实施例中的工具的整体框架示意图,如图4所示,工具包括基础模块、服务模块、界面模块和接口模块。
基础模块主要包括以下内容:
Xml配置模块;配置工具的文件信息,可以配置工具的启动模式,用于界面模块的地图显示、AI单元的显示配置、Tag信息配置等;主要实现工具运行时需要用到的参数信息的配置。
Sqlite数据存储模块;可以读取、写入数据库db存档文件,每个db记录了游戏中一场战斗的所有AI单元的状态信息;
数据收集模块;以游戏中的战场标识ID为索引,在内存中通过网络收集该战场的所有AI单元的状态信息,此模块的数据来源可以是从sqlite存储读取,也可以从服务模块中分发而来。
服务模块主要包括以下内容:
Thrift网络模块;主要通过网络协议流接收来自远端(游戏战场服务器、游戏客户端)的AI单元的逻辑信息反馈。协议流中包括了时间信息、游戏战场ID、反馈来源、AI单元类型、AI单元标识、以及具体反馈信息(如路径位置信息、行为节点信息等)。
数据分发模块;数据经由网络接收解析后,按照战场ID为索引进行分发,传递到数据收集模块,在内存中以map的形式进行缓存,以战斗场次为分隔,收集单场数据里的所有AI行为信息数据。
界面模块,界面包括菜单栏、可缩放游戏地图中的预设显示区域、时间轴、单元筛选子界面、统计信息子界面等,主要包括以下几个模块:
地图绘制模块:游戏地图中的预设显示区域中将显示本场所有(或者筛选后的)游戏AI单元的路径线路,在路径上会有该AI单元在该位置的具体逻辑执行信息,通过小图标的方式展示,点击小图标将展示该游戏单元在此处的状态、行为树信息、动作信息等。界面展示通过读取数据采集模块的战场中统计的AI单元信息,进行展示。
时间轴交互:通过拖动时间轴,可以显示某个时间点战场的AI行为信息;
单元筛选子界面:用于筛选显示某些(或者某个)战斗AI单元;
统计信息子界面:用于显示tag记录的统计信息;
统计信息子界面:用于显示战场统计信息,或者AI单元统计信息;
菜单管理:主要有选择数据文件、设置地图、筛选AI入口等。
接口模块主要包括如下:
Thrift网络模块:用于和服务模块建立连接,进行远程通信反馈;
数据反馈接口:供游戏战斗进程、游戏客户端进程调用,进行AI数据信息反馈。
工具的三种模式,工具支持三种模式启动,可以再配置文件配置启动的模式,分别为:
收集模式:该模式可以在服务器中运行,不启动界面模块,服务模块经过数据接收、分发,收集模块进行战斗中的AI信息数据收集,在战斗结束后,经由Sqlite存储模块,将战斗AI数据存储至db文件。
实时模式:该模式同时启动了服务模块和界面展示模块,该模式支持边收集边显示在界面上,界面模块从数据收集模块读取需要显示的数据,在有新的数据到达的时候,进行显示更新。
离线模式:该模式不启动服务模块,由用户选择数据db文件,进行查看某一场战斗数据的AI信息,经由界面模块进行可视化。
本实施例中的接口与协议如表1所示:
表1:
Figure BDA0002010473560000091
Figure BDA0002010473560000101
上述表1中定义了接口模块的具体接口,用于游戏服务端逻辑或者游戏客户端逻辑的接入,接入后经过上述接口,即可以将数据反馈至工具的服务模块,服务模块接收后,工具进行数据处理、存储等。
UI界面结构如图5所示,界面模块主要包括以下界面:
主界面,图5中显示了战场中的所有AI单元的行为轨迹、以及行为状态图标,游戏地图中的预设显示区域可以缩放查看细节。
在主界面中设置开始输入、停止输入的触发空间,用于实时模式的数据输入控制,开始输入后,服务模块便会接受远端发来的统计信息。
菜单栏,菜单栏主要功能如图6所示,包括选择文件夹,设置地图,设置步数,设置线条颜色,筛选AI单元,关注某个AI单元等。
AI单元筛选界面,就是选择使用者关心的AI单元进行查看,其他不显示出来。如图7所示,可以进行AI单元的显示筛选过滤。
如图8所示,为过滤之后的某一个AI单元的显示。
如图9所示为点击图标后查看某一个节点上的AI具体节点信息。
如图10所示,为战斗内的全局统计信息显示,并可以选择某个单元进行单个AI的统计信息展示。
如图11为单个AI单元的统计信息展示。
本实施例中的工具中还包括配置文件,包括对接口模块的配置,即配置远端的IP地址和端口,如图12所示。还包括对本实施例中工具的参数的配置,如图13、表2所示,包括了与配置名对应的描述文件。
表2:
配置名 描述
directories 用于存储文件目录配置
Ip 服务模块的监听地址
Port 服务模块的监听端口
States AI的状态对应的图标、名字配置
Tags Tag接口的具体信息配置
Globals 全局统计的tag信息配置
综上所示,本实施例提供的AI状态信息的处理工具让开发者们(游戏设计者、技术研发、游戏测试)可以快速得到游戏中AI单元的执行效果反馈,可以针对较多AI单元数量的战斗进行快速策略迭代。
比如利用可缩放的地图展示,可以宏观地看到具体的AI单元的行为路径,通过配置图标可以展示AI单元的具体状态,点击可以获得具体行为信息,时间轴拖动可以有一个全局AI单元行进的可视化展示。这样大大地方便了游戏设计者进行一个宏观的策略判断,根据结果反馈,来调整AI单元的设计。
利用收集模式启动本工具,可以在服务端并行地跑多场战斗,并记录结果到db文件;再用离线模式进行可视化查看。而利用实时模式,同时启动了服务模块和显示模块,可以实时接收AI反馈数据并展示出来。以上的模式组合,为游戏设计者的AI设计,提供方便的数据存储、分析。
也就是说,该工具主要解决的问题如下:满足AI单元策略的验证需求;既能从宏观上进行AI单元的可视化(可以看到战斗集合内的所有AI单元),又可以分析玩家与AI单元的相互影响结果;又支持单个AI单元的状态数据查看(包括状态、历史轨迹)。方便记录分析AI单元的表现和数据。
本发明实施例还提供了一种人工智能AI单元状态信息的处理系统,图14是根据本发明实施例提供的人工智能AI单元状态信息的处理系统的结构示意图,如图14所示,该装置包括:获取模块1402、确定模块1404以及显示模块1406,下面对该装置进行详细说明:
获取模块1402,用于获取游戏运行中AI单元的多个状态信息;
确定模块1404,连接至上述中的获取模块1402,用于将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;
显示模块1406,连接至上述中的确定模块1404,用于将时间轴信息显示在游戏地图中的预设显示区域。
通过上述模块,采用获取游戏运行中AI单元的多个状态信息;将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;将时间轴信息显示在游戏地图中的预设显示区域。可以实现宏观显示AI单元的运行状态,进而解决了相关技术中对AI单元的状态信息的显示不直观,用户体验差的技术问题。
需要说明的是,上述中获取模块1402相当于上述实施例中的接口模块,确定模块1404相当于上述实施例中的地图绘制,显示模块1406相当于上述实施例中界面模块。
在一个可选的实施例中,本实施例可以应用在游戏中战斗的场景中,例如,获取战斗游戏场景中的AI单元的运行状态信息。
在一个可选的实施例中,本实施例中的多个状态信息可以是以下至少之一:单个AI单元在不同时间点上的状态信息;多个AI单元在相同时间点上的状态信息;多个AI单元在不同时间点上的状态信息。状态信息可以是AI单元的路径信息、状态机逻辑信息(如攻击状态、逃跑状态等)、行为树节点信息(如进行敌人血量判断、受伤触发判断等),以及实际的客户端行为信息(如跑、跳、开枪等)。状态信息还包括AI单元的额外信息,额外信息可以是AI单元的类型信息、AI单元的攻击次数、AI单元的击杀数量等。对于AI单元的额外信息,可以通过tag的形式进行标记。
在一个可选的实施例中,通过以下方式获取游戏运行中AI单元的多个状态信息:通过预设网络协议从数据反馈接口处接收AI单元的多个状态信息,其中,数据反馈接口与游戏进程连接,用于反馈游戏进程中的AI单元的多个状态信息;以游戏中的预定游戏场景的标识为索引,通过预设网络协议收集AI单元的多个状态信息。在本实施例中,预设网络协议可以包括网络层中的网络协议流,协议中包括了时间信息、AI单元所在战场的战场标识ID、反馈来源、AI单元类型、AI单元标识、以及具体反馈信息(如路径位置信息、行为节点信息等)。数据反馈接口接收来自远端(游戏战场服务器、游戏客户端)的逻辑信息反馈,逻辑信息反馈中包括了AI单元的状态信息。
在一个可选的实施例中,数据反馈接口从远端接收AI单元的状态信息,以游戏中的预定游戏场景的标识为索引,通过预设网络协议收集AI单元的多个状态信息之后,将AI单元的多个状态信息存储至数据库中。数据库可以是Sqlite数据库,可以实现对多个状态信息的读取、写入db存档文件的操作,其中每个db即记录了一场战斗的所有AI单元的状态信息。
需要说明的是,在将多个状态信息存储至数据库之前,可以暂时在内存中以map的形式进行缓存,可以以战斗场次为分隔,收集单场游戏场景中所有AI单元的状态信息。
在一个可选的实施例中,通过以下方式将多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息:从数据库中读取存储的AI单元的多个状态信息;将AI单元的运行的状态信息以预设图标的形式在时间轴上排序。在本实施例中,还可以将实时获取的AI单元的状态信息与预设图标的形式在时间轴上排序。排序的方式是按照时间的前后进行排序,预设图标可以是不同颜色的标识,也可以是不同形状的标识。
在一个可选的实施例中,时间轴信息中包括的AI单元的状态信息包括以下至少之一:AI单元的行为树信息;AI单元的动作信息;AI单元运行的时间点信息;AI单元在时间轴上的状态信息。在本实施例中,游戏地图中的预设显示区域中将显示游戏场景中所有(或者筛选后的)AI单元的路径线路,在路径线路上会有AI单元在某一位置上的具体逻辑执行信息,通过预设图标(可以是小图标)的方式展示,点击预设图标将展示该游戏单元在此处的状态、行为树信息、动作信息等。通过读取游戏战场中统计的AI单元的状态信息,进行展示。需要说明的是,时间轴信息承载在时间轴中,时间轴中可以包括所有AI单元的状态信息,通过拖动时间轴,可以动态显示某个时间点战场的AI行为信息。可以在时间轴中筛选显示某些(或者某个)战斗中AI单元的状态信息。在时间轴上也可以显示tag记录的统计信息。在时间轴上还可以显示游戏战场中的统计信息,或者AI单元的状态信息的统计信息。
在一个可选的实施例中,通过以下方式将时间轴信息显示在游戏地图中的预设显示区域:确定AI单元的多个状态信息的显示条件;在时间轴信息中查找与显示条件对应的待显示状态信息;在游戏地图中的预设显示区域显示待显示状态信息。例如,在输入的显示条件为某一游戏战斗中所有的AI单元的状态信息,则会将某一游戏战斗中所有的AI单元的状态信息筛选出来进行显示。还可以通过设置时间轴信息的显示模式、显示步数、显示线条颜色,筛选出AI单元的状态信息,关注某个AI单元等。
在一个可选的实施例中,显示条件可以包括以下至少之一:AI单元在游戏运行中发生状态变化的时间点;AI单元所在的游戏场景;AI单元的属性;AI单元所在的预定游戏场景的标识。在本实施例中,显示条件不限于此。
在一个可选的实施例中,将时间轴信息显示在游戏地图中的预设显示区域之前,还可以设置时间轴信息,设置的内容包括以下至少之一:设置时间轴信息的显示模式,其中,显示模式包括静态显示和动态显示,例如,拖动时间轴,则可以动态显示;设置时间轴信息的显示格式,其中,显示格式包括显示颜色、显示字体、显示轨迹、显示图标;设置时间轴信息的显示参数。例如,将时间轴显示为灰色的模式。
在一个可选的实施例中,通过以下方式将时间轴信息显示在游戏地图中的预设显示区域:按照显示模式、显示格式以及显示参数中的至少之一将时间轴信息显示在游戏地图中的预设显示区域。
需要说明的是,上述步骤的执行主体可以是上述图1所示的终端,但并不限于此。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的计算机程序。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以上各步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种人工智能AI单元状态信息的处理方法,其特征在于,包括:
获取游戏运行中AI单元的多个状态信息;
将所述多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;
将所述时间轴信息显示在游戏地图中的预设显示区域;
其中,将所述时间轴信息显示在游戏地图中的预设显示区域,包括:在所述预设显示区域内显示所述AI单元的路径线路,其中,所述状态信息包括AI单元的路径线路,所述路径线路设置有多个图标,所述图标包含有所述AI单元在所述图标所在位置的逻辑执行信息;响应对所述图标的操作,展示所述AI单元在所述图标所在位置处的状态信息。
2.根据权利要求1所述的方法,其特征在于,所述多个状态信息包括以下至少之一:
单个AI单元在不同时间点上的状态信息;
多个AI单元在相同时间点上的状态信息;
多个AI单元在不同时间点上的状态信息。
3.根据权利要求1所述的方法,其特征在于,获取所述游戏运行中所述AI单元的多个状态信息包括:
通过预设网络协议从数据反馈接口处接收所述AI单元的多个状态信息,其中,所述数据反馈接口与游戏进程连接,用于反馈所述游戏进程中的所述AI单元的多个状态信息;
以所述游戏中的预定游戏场景的标识为索引,通过所述预设网络协议收集所述AI单元的多个状态信息。
4.根据权利要求3所述的方法,其特征在于,以所述游戏中的预定游戏场景的标识为索引,从所述预设网络协议处收集所述AI单元的多个状态信息之后,所述方法还包括:
将所述AI单元的多个状态信息存储至数据库中。
5.根据权利要求4所述的方法,其特征在于,将所述多个状态信息按照时间顺序在所述时间轴上进行排序,得到所述时间轴信息包括:
从所述数据库中读取存储的所述AI单元的多个状态信息;
将所述AI单元的运行的状态信息以预设图标的形式在所述时间轴上排序。
6.根据权利要求1所述的方法,其特征在于,所述时间轴信息中包括的所述AI单元的状态信息包括以下至少之一:
所述AI单元的行为树信息;
所述AI单元的动作信息;
所述AI单元运行的时间点信息;
所述AI单元在时间轴上的状态信息。
7.根据权利要求1所述的方法,其特征在于,将所述时间轴信息显示在所述游戏地图中的预设显示区域包括:
确定所述AI单元的多个状态信息的显示条件;
在所述时间轴信息中查找与所述显示条件对应的待显示状态信息;
在所述游戏地图中的预设显示区域显示所述待显示状态信息。
8.根据权利要求7所述的方法,其特征在于,所述显示条件包括以下至少之一:
AI单元在游戏运行中发生状态变化的时间点;
AI单元所在的游戏场景;
AI单元的属性;
AI单元所在的预定游戏场景的标识。
9.根据权利要求1所述的方法,其特征在于,将所述时间轴信息显示在所述游戏地图中的预设显示区域之前,所述方法还包括以下至少之一:
设置所述时间轴信息的显示模式,其中,所述显示模式包括静态显示和动态显示;
设置所述时间轴信息的显示格式,其中,所述显示格式包括显示颜色、显示字体、显示轨迹、显示图标;
设置所述时间轴信息的显示参数。
10.根据权利要求9所述的方法,其特征在于,将所述时间轴信息显示在所述游戏地图中的预设显示区域包括:
按照显示模式、显示格式以及显示参数中的至少之一将所述时间轴信息显示在所述游戏地图中的预设显示区域。
11.一种人工智能AI单元状态信息的处理系统,其特征在于,包括:
获取模块,用于获取游戏运行中AI单元的多个状态信息;
确定模块,用于将所述多个状态信息按照时间顺序在时间轴上进行排序,得到时间轴信息;
显示模块,用于将所述时间轴信息显示在游戏地图中的预设显示区域;
所述系统 还用于在所述预设显示区域内显示所述AI单元的路径线路,其中,所述状态信息包括AI单元的路径线路,所述路径线路设置有多个图标,所述图标包含有所述AI单元在所述图标所在位置的逻辑执行信息;响应对所述图标的操作,展示所述AI单元在所述图标所在位置处的状态信息。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至10任一项中所述的方法。
CN201910243865.3A 2019-03-28 2019-03-28 人工智能ai单元状态信息的处理方法及系统 Active CN109999495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910243865.3A CN109999495B (zh) 2019-03-28 2019-03-28 人工智能ai单元状态信息的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910243865.3A CN109999495B (zh) 2019-03-28 2019-03-28 人工智能ai单元状态信息的处理方法及系统

Publications (2)

Publication Number Publication Date
CN109999495A CN109999495A (zh) 2019-07-12
CN109999495B true CN109999495B (zh) 2023-02-28

Family

ID=67168657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910243865.3A Active CN109999495B (zh) 2019-03-28 2019-03-28 人工智能ai单元状态信息的处理方法及系统

Country Status (1)

Country Link
CN (1) CN109999495B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111388995B (zh) * 2020-03-02 2022-07-26 腾讯科技(深圳)有限公司 游戏人工智能信息的处理方法、系统、装置和存储介质
CN112090077B (zh) * 2020-09-08 2022-08-30 福建天晴在线互动科技有限公司 一种游戏技能状态多路转换的路线设置方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405651B1 (en) * 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
CN107085519A (zh) * 2017-05-04 2017-08-22 网易(杭州)网络有限公司 行为树调试处理方法、装置、系统、存储介质和处理器
CN107875632A (zh) * 2017-12-06 2018-04-06 广州多益网络股份有限公司 实现人工智能行为的方法、系统及人工智能行为编辑器
CN108037952A (zh) * 2017-11-30 2018-05-15 腾讯科技(成都)有限公司 对象操作的处理方法、对象操作数据的生成方法及装置
CN108520063A (zh) * 2018-04-11 2018-09-11 Oppo广东移动通信有限公司 事件日志的处理方法、装置及终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405651B1 (en) * 2013-10-03 2016-08-02 Initial State Technologies, Inc. Apparatus and method for processing log file data
CN107085519A (zh) * 2017-05-04 2017-08-22 网易(杭州)网络有限公司 行为树调试处理方法、装置、系统、存储介质和处理器
CN108037952A (zh) * 2017-11-30 2018-05-15 腾讯科技(成都)有限公司 对象操作的处理方法、对象操作数据的生成方法及装置
CN107875632A (zh) * 2017-12-06 2018-04-06 广州多益网络股份有限公司 实现人工智能行为的方法、系统及人工智能行为编辑器
CN108520063A (zh) * 2018-04-11 2018-09-11 Oppo广东移动通信有限公司 事件日志的处理方法、装置及终端设备

Also Published As

Publication number Publication date
CN109999495A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN107085519B (zh) 行为树调试处理方法、装置、系统、存储介质和处理器
CN107995283B (zh) 一种数据埋点分析的方法、设备及系统
EP2088711A1 (en) A log analyzing method and system based on distributed compute network
US20150263895A1 (en) Event source management using a metadata-driven framework
CN107018046A (zh) 一种数据采集方法、装置、终端及存储介质
CN106649063A (zh) 用于监测程序运行时耗时数据的方法及系统
CN109999495B (zh) 人工智能ai单元状态信息的处理方法及系统
JP5956049B2 (ja) ストリーミングネットフローデータ解析方法及び装置
CN106992974A (zh) 一种直播视频信息监控方法、装置和设备
CN111400127B (zh) 业务日志的监控方法及装置、存储介质、计算机设备
CN109033188A (zh) 一种元数据采集方法、装置、服务器和计算机可读介质
CN109213736B (zh) 日志的压缩方法和装置
CN112579007A (zh) 一种存储全链路的获取方法、装置及电子设备
CN107423090B (zh) 一种Flash播放器异常日志管理方法及系统
CN105786693A (zh) 一种自测试执行系统及方法以及移动终端
CN107648854A (zh) 一种游戏分类方法、装置及电子设备
CN108984687A (zh) 基于用户行为的自动加群控制方法、装置及存储介质
CN109522179B (zh) 服务器运行状态的监控方法、装置、处理器及服务器
EP2743882A1 (en) Unified social graph
CN107943912B (zh) 一种响应式资源目录数据可视化管理方法、终端及装置
CN109816004A (zh) 房源图片分类方法、装置、设备及存储介质
CN110209958B (zh) 专题制作方法、装置、终端及存储介质
CN111683280A (zh) 视频处理方法、装置及电子设备
CN115617750A (zh) 日志展示方法、装置、电子设备及非易失性存储介质
CN114785718B (zh) 一种网络靶场流量采集分析系统与方法

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