CN111494959B - 游戏操控方法、装置、电子设备及计算机可读存储介质 - Google Patents
游戏操控方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111494959B CN111494959B CN202010320917.5A CN202010320917A CN111494959B CN 111494959 B CN111494959 B CN 111494959B CN 202010320917 A CN202010320917 A CN 202010320917A CN 111494959 B CN111494959 B CN 111494959B
- Authority
- CN
- China
- Prior art keywords
- game
- stage
- real
- candidate
- time
- 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/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
- A63F13/67—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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种游戏操控方法、装置、电子设备及计算机可读存储介质;方法包括:获取智能目标对象在游戏对局的过程中的实时对局数据,并根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段;其中,所述游戏对局包括多个阶段,所述多个阶段的每个阶段对应多个候选游戏策略;对所述实时对局数据进行特征提取处理以得到特征向量,并将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率;将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象按照所述胜率最高的候选游戏策略进行操作。通过本发明,能够提升游戏操控的智能化。
Description
技术领域
本发明涉及人工智能和游戏技术,尤其涉及一种游戏操控方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。
人工智能的一个应用方向是游戏操控,具体如控制游戏对局中的游戏角色进行移动等。在相关技术提供的方案中,通常是预先将玩家可能实施的战术编写为相应的候选游戏策略,在游戏对局的过程中根据先验规则选择当前应用的候选游戏策略。但是,游戏对局中面临的情况通常非常多,先验规则的编写难度高,容易导致根据先验规则选择的候选游戏策略不适用于游戏对局的实时情况。
发明内容
本发明实施例提供一种游戏操控方法、装置、电子设备及计算机可读存储介质,能够提升游戏操控的智能化。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种游戏操控方法,包括:
获取智能目标对象在游戏对局的过程中的实时对局数据,并根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段;其中,所述游戏对局包括多个阶段,所述多个阶段的每个阶段对应多个候选游戏策略;
对所述实时对局数据进行特征提取处理以得到特征向量,并将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率;
将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象按照所述胜率最高的候选游戏策略进行操作。
本发明实施例提供一种游戏操控装置,包括:
阶段确定模块,用于获取智能目标对象在游戏对局的过程中的实时对局数据,并根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段;其中,所述游戏对局包括多个阶段,所述多个阶段的每个阶段对应多个候选游戏策略;
映射模块,用于对所述实时对局数据进行特征提取处理以得到特征向量,并将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率;
应用模块,用于将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象按照所述胜率最高的候选游戏策略进行操作。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的游戏操控方法。
本发明实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的游戏操控方法。
本发明实施例具有以下有益效果:
本发明实施例通过获取智能目标对象在游戏对局的过程中的实时对局数据,在多个阶段中确定出实时阶段,并通过特征提取及映射的方式,进一步确定出实时阶段对应的多个候选游戏策略的胜率,最终选择胜率最高的候选游戏策略应用至智能目标对象,能够提升游戏操控的智能化,加强选择出的候选游戏策略对于游戏对局的实时情况的适用性。
附图说明
图1是本发明实施例提供的游戏操控系统的一个可选的架构示意图;
图2是本发明实施例提供的终端设备的一个可选的架构示意图;
图3是本发明实施例提供的游戏操控装置的一个可选的架构示意图;
图4A是本发明实施例提供的游戏操控方法的一个可选的流程示意图;
图4B是本发明实施例提供的游戏操控方法的一个可选的流程示意图;
图4C是本发明实施例提供的游戏操控方法的一个可选的流程示意图;
图5是本发明实施例提供的策略选择的一个可选的流程示意图;
图6是本发明实施例提供的候选游戏策略的准备过程的一个可选的示意图;
图7是本发明实施例提供的策略组合的一个可选的示意图;
图8是本发明实施例提供的候选游戏策略的编写方向的一个可选的示意图;
图9是本发明实施例提供的强化学习模型的一个可选的架构示意图;
图10是本发明实施例提供的候选游戏策略的使用过程的一个可选的示意图;
图11是本发明实施例提供的人机对战的一个可选的示意图;
图12是本发明实施例提供的人机对战的一个可选的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。另外,在以下的描述中所涉及的“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)阶段:指一个游戏对局中的阶段,不同的阶段往往有不同的特性,具体划分规则可根据实际应用场景进行设定。
2)游戏策略:通过人为编写或自动生成得到,在应用至智能目标对象后,可使智能目标对象执行相应的操作,如控制游戏角色进行移动。其中,游戏策略可以是代码形式或其他形式。
3)智能目标对象:参与游戏对局的人工智能程序,可通过控制游戏对局中的游戏元素从而完成相应的游戏任务,如人机对战任务、游戏陪玩任务及自动挂机任务等。
4)游戏元素:泛指游戏对局中可被用户或后台控制的元素,包括但不限于游戏角色及游戏对局内的组织单位(如建筑、资源及兵种等)。
5)即时战略(RTS,Real-Time Strategy)游戏:策略游戏的一种,RTS游戏并不是采用回合制,而是即时进行的。参与RTS游戏的双方或多方通过执行战术,不断发展自身的组织单位,从而协同作战或相互对抗。
6)多人在线战术竞技(MOBA,Multiplayer Online Battle Arena)游戏:源于RTS的游戏类型,对于MOBA游戏来说,用户通常无需操作RTS游戏中常见的建筑群、资源及训练兵种等组织单位,而是只控制自己所选的游戏角色,以与其他游戏角色进行协同作战或进行对抗。
7)强化学习:是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中通过学习策略,以达成回报最大化或实现特定目标的问题。
游戏操控是人工智能的一个应用方向,在游戏对局中可通过应用特定的游戏策略,来控制游戏对局中的游戏元素执行相应的操作。在相关技术提供的方案中,通常是以整个游戏对局为单位,由相关人员预先将用户(玩家)在一局游戏内可能实施的不同战术编写到单个候选游戏策略中。在新的游戏对局开始时,在编写好的多个候选游戏策略随机选择一个候选游戏策略进行应用,之后每隔一段时间根据先验规则判断是否切换至其他候选游戏策略。相关技术提供的方案主要存在以下两个问题:1)候选游戏策略编写的工作量大,由于一个候选游戏策略对应一整局的多个战术,若要编写多个候选游戏策略,则需要耗费较长的时间;2)先验规则编写困难,由于游戏对局中面临的情况通常非常多,用硬编码进行策略选择非常繁琐,需要生成非常复杂的规则和条件,且有许多经验参数需要手工调整,最终的实现效果通常也达不到预期,尤其是在环境复杂的RTS游戏和MOBA游戏中。若根据先验规则来选择候选游戏策略,则会导致选择候选游戏策略的精度低,即选择的候选游戏策略不适用于游戏对局的实时情况,游戏操控的效果差。
本发明实施例提供一种游戏操控方法、装置、电子设备及计算机可读存储介质,能够提升游戏操控的智能化,加强选择出的候选游戏策略对于实时情况的适用性。
下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以是服务器,例如部署在云端的服务器,根据终端设备远程上传的实时对局数据,选择出胜率最高的候选游戏策略,并应用至智能目标对象中,该智能目标对象可以存储于服务器中,也可以存储于终端设备中;也可以是终端设备,如手持终端设备,根据正在进行的游戏对局中的实时对局数据,选择出胜率最高的候选游戏策略,并应用至终端设备中的智能目标对象。电子设备通过运行本发明实施例提供的游戏操控的方案,可以提升游戏操控的智能化,加强选择出的候选游戏策略对游戏对局实时情况的适用性,即提高电子设备自身的游戏操控性能,适用于多个应用场景,例如人机对战、游戏陪玩、自动挂机及游戏测试等。
参见图1,图1是本发明实施例提供的游戏操控系统100的一个可选的架构示意图,为实现支撑一个游戏操控应用,终端设备400(示例性示出了终端设备400-1和终端设备400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,其中,终端设备400-1通过网络300-1连接服务器200,终端设备400-2通过网络300-2连接服务器200。
在一些实施例中,终端设备400可在本地执行本发明实施例提供的游戏操控方法,在图1中,用户(如图1中的用户A和用户B)通过自己的账号登录终端设备400上的游戏客户端,并开始进行游戏对局,该游戏对局有智能目标对象参与。当然,并非是所有的游戏对局都必须有智能目标对象参与,在实际场景中,可预先在游戏客户端设定不同的游戏模式,其中某些游戏模式有智能目标对象参与,另一些游戏模式不存在智能目标对象,即完全由用户之间进行协同作战或对抗,如此,用户可根据自身兴趣选择进入的游戏模式。
终端设备400的图形界面410(示例性示出了图形界面410-1和图形界面410-2)中显示了游戏对局中的实时情况。在智能目标对象参与游戏对局的过程中,终端设备400可获取实时对局数据,并在多个阶段中确定符合实时对局数据的实时阶段,其中,每个阶段都对应多个设定的候选游戏策略。然后,终端设备400根据实时对局数据进一步计算实时阶段对应的多个候选游戏策略的胜率,将其中胜率最高的候选游戏策略应用到智能目标对象,以使智能目标对象按照胜率最高的候选游戏策略进行操作,即控制游戏元素。值得说明的是,可根据游戏的实际情况来划分阶段,例如将某种游戏的游戏对局划分为三个阶段,将另一种游戏的游戏对局划分为四个阶段。
在图1中,示出了两种情况,第一种情况是MOBA游戏中的人机对战,在图形界面410-1中,用户账号(用户A的账号)控制的游戏元素为角色A,智能目标对象控制的游戏元素为角色B,智能目标对象按照胜率最高的候选游戏策略进行操作,具体控制角色B向角色A发起攻击(具体还可控制角色B按照特定的技能施放顺序向角色A发起攻击等,此处仅为示例),从而加大人机对战的难度,提升用户的游戏体验。当然,这里的发起攻击仅为示例,在MOBA游戏中,智能目标对象可进行的操作还可包括控制游戏角色击杀小兵、击杀中立怪物及攻击防御塔等,本发明实施例对此不做限定。第二种情况是RTS游戏中的自动挂机,在图形界面410-2中,用户账号(用户B的账号)控制的游戏元素为建筑A,智能目标对象可模拟用户账号,按照胜率最高的候选游戏策略进行操作,具体控制建筑A生产兵种或进行建筑升级,从而提升自动挂机的胜率,节省用户操作,其中,升级后的建筑A可生产出更强力的兵种。当然,除此之外,智能目标对象还可模拟用户账号的操作,对生产出的兵种以及RTS游戏中的其他组织单位进行控制。
除了终端设备400之外,服务器200也可以执行本发明实施例提供的游戏操控方法,具体从终端设备400中获取智能目标对象参与游戏对局的过程中的实时对局数据,值得说明的是,智能目标对象可存储于服务器200的文件系统或数据库中,也可以存储于终端设备400中,对此不做限定。服务器200根据获取到的实时对局数据,确定游戏对局的实时阶段,并进一步计算实时阶段对应的多个候选游戏策略的胜率,将其中胜率最高的候选游戏策略应用到智能目标对象。智能目标对象按照胜率最高的候选游戏策略进行操作,如发出控制指令,以使游戏元素进行移动或攻击等。
下面继续说明本发明实施例提供的电子设备的示例性应用。电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,也可以实施为服务器。
下面,以电子设备为终端设备为例进行说明。参见图2,图2是本发明实施例提供的终端设备400(例如,可以是图1所示的终端设备400-1和终端设备400-2)的架构示意图,图2所示的终端设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端设备400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的游戏操控装置可以采用软件方式实现,图2示出了存储在存储器450中的游戏操控装置455,其可以是程序和插件等形式的软件,包括以下软件模块:阶段确定模块4551、映射模块4552及应用模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的游戏操控装置可以采用硬件方式实现,作为示例,本发明实施例提供的游戏操控装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的游戏操控方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
本发明实施例提供的游戏操控方法可以由上述的服务器执行,也可以由终端设备(例如,可以是图1所示的终端设备400-1和终端设备400-2)执行,或者由服务器和终端设备共同执行。
下面将结合上文记载的电子设备的示例性应用和结构,说明电子设备中通过嵌入的游戏操控装置,而实现游戏操控方法的过程。
参见图3和图4A,图3是本发明实施例提供的游戏操控装置455的架构示意图,示出了通过一系列模块实现游戏操控的流程,图4A是本发明实施例提供的游戏操控方法的流程示意图,将结合图3对图4A示出的步骤进行说明。
在步骤101中,获取智能目标对象在游戏对局的过程中的实时对局数据,并根据实时对局数据确定智能目标对象在游戏对局的实时阶段;其中,游戏对局包括多个阶段,多个阶段的每个阶段对应多个候选游戏策略。
这里,获取为游戏对局提前设定的多个阶段以及与每个阶段对应的多个候选游戏策略,阶段和候选游戏策略可以根据游戏的实际情况进行人为设定,对于不同的游戏来说,设定的阶段可以相同或不同,候选游戏策略同理。作为示例,图3示例性地示出了为游戏对局设定的开始阶段、中间阶段和结束阶段,还示出了与开始阶段对应的候选游戏策略1和2,与中间阶段对应的候选游戏策略3和4,与结束阶段对应的候选游戏策略5和6。
对于正在进行的游戏对局,获取智能目标对象参与游戏对局的过程中的实时对局数据,该实时对局数据能够体现游戏进度,然后,根据实时对局数据确定智能目标对象在游戏对局的实时阶段。值得说明的是,实时对局数据可以实时获取,或者根据设定的获取周期进行获取,获取周期可根据实际应用场景进行设定,如设定为10秒。
在一些实施例中,可以通过这样的方式来实现上述的获取智能目标对象在游戏对局的过程中的实时对局数据:执行以下任意一种处理:调用游戏对局的进程的应用程序接口,以获取智能目标对象在游戏对局的过程中的实时对局数据;对游戏对局的视频流进行截取操作,并对截取得到的图像进行识别处理,以得到智能目标对象在游戏对局的过程中的实时对局数据。
本发明实施例提供了两种获取实时对局数据的方式。作为示例,参见图3,在阶段确定模块4551中,第一种方式是调用游戏对局的进程的应用程序接口(API,ApplicationProgramming Interface),从而直接访问游戏对局的实时对局数据。在第二种方式中,对游戏对局的视频流进行截取操作,并对截取得到的图像进行识别处理以得到实时对局数据,当然这里也可直接对游戏对局进行图像截取操作。其中,可以根据设定的识别规则来实现识别处理,识别规则可由相关人员根据游戏的特性进行设定,例如识别图像中某个区域的数据以作为实时对局数据,或者识别图像中位于游戏角色周围的等级数据以作为实时对局数据。通过上述方式,提升了获取实时对局数据的灵活性,比如在拥有API调用权限时可应用前一种方式进行数据获取,在无法调用API时应用后一种方式进行数据获取。
在一些实施例中,可以通过这样的方式来实现上述的根据实时对局数据确定智能目标对象在游戏对局的实时阶段:获取与游戏对局的每个阶段分别存在关联关系的等级数据区间;确定实时对局数据中的等级数据所处的等级数据区间,并将与所处的等级数据区间存在关联关系的阶段,确定为实时阶段。
在本发明实施例中,可通过等级数据来确定实时阶段,其中等级数据的类型包括但不限于建筑物的等级(对应RTS游戏)和游戏角色的等级(对应MOBA游戏)。首先,获取与游戏对局的每个阶段分别存在关联关系的等级数据区间,各个等级数据区间可由人为设定。以等级数据为游戏角色的等级的情况举例,与开始阶段存在关联关系的等级数据区间可为1级到3级的区间,与中间阶段存在关联关系的等级数据区间可为4级到8级的区间,与结束阶段存在关联关系的等级数据区间可为9级以上的区间。在得到实时对局数据后,提取实时对局数据中的等级数据,进一步确定该等级数据所处的等级数据区间,将与该等级数据区间存在关联关系的阶段确定为实时阶段,例如实时对局数据中的等级数据是7级,则确定实时阶段为中间阶段。通过上述方式,提升了确定实时阶段的精准性。
在步骤102中,对实时对局数据进行特征提取处理以得到特征向量,并将特征向量映射为实时阶段对应的多个候选游戏策略的胜率。
作为示例,参见图3,在映射模块4552中,对实时对局数据进行特征提取处理,以将实时对局数据转化为便于处理的特征向量,然后,将特征向量映射为实时阶段对应的多个候选游戏策略的胜率,其中,映射是指根据特定的权重参数对特征向量进行一系列数学运算,最终得到一个新的向量,该新的向量中的每一个维度即对应实时阶段的一个候选游戏策略,该维度的数值(得分)即为该候选游戏策略的胜率。具体地,可通过胜率预测模型来实现特征向量到胜率的映射,相关内容在后文进行阐述。
在一些实施例中,可以通过这样的方式来实现上述的对实时对局数据进行特征提取处理以得到特征向量:在游戏对局的实时阶段中,周期性地对最新获取到的实时对局数据进行特征提取处理,以得到特征向量。
由于游戏对局的情况复杂多变,故在本发明实施例中,可以周期性地进行策略切换。具体地,在实时阶段中,周期性地对最新获取到的实时对局数据进行特征提取处理,得到特征向量,并对最新得到的特征向量执行映射处理,这里的周期同样可根据实际应用场景进行设定,如设定为5分钟。通过上述的方式,使得在实时阶段的每个周期选择的候选游戏策略能够较好地适用于游戏对局的实时情况。
在一些实施例中,可以通过这样的方式来实现上述的对实时对局数据进行特征提取处理以得到特征向量:对实时对局数据包括的以下数据进行归一化处理:游戏元素关联的多个维度数据、实时阶段的前一阶段应用的候选游戏策略的编号、实时阶段应用的候选游戏策略的编号以及游戏时间;将归一化处理的结果拼接为特征向量。
为了便于计算,可对实时对局数据进行归一化处理,其中,归一化处理是指将实时对局数据中的不同类型数据缩放到特定的区间,以使缩放后的不同类型数据处于同一数量级,以便进行综合对比评价。对于不同类型的数据来说,缩放的区间可以相同,也可以不同,例如可以统一缩放到[0,1]的区间中。
这里,游戏元素关联的多个维度数据可包括我方信息、友方信息和敌方信息,其中,我方是指智能目标对象控制的游戏元素一方,友方是指与我方进行协同的一方,敌方是指与智能目标对象控制的游戏元素进行对抗的一方。根据游戏类型的不同,这些信息的具体内容也可不同。例如在RTS游戏中,我方信息主要包括资源、人口、作战单位(兵种)类型、作战单位数量、科技力量、建筑类型以及建筑数量等数据,友方信息和敌方信息主要包括作战单位类型、作战单位数量、科技力量、建筑类型以及建筑数量等数据。在MOBA游戏中,我方信息主要包括智能目标对象控制的游戏角色的等级、血量、技能、经济、装备、击杀数、死亡数及助攻数等数据,友方信息和敌方信息主要包括等级、血量、经济、装备、击杀数、死亡数及助攻数等数据。当然以上仅为示例,可根据实际应用场景对游戏元素关联的多个维度数据进行调整。
除了游戏元素关联的多个维度数据之外,实时对局数据还包括实时阶段的前一阶段应用的候选游戏策略的编号、实时阶段应用的候选游戏策略的编号以及当前的游戏时间。为了便于处理,将实时对局数据包括的能够反映实时情况的各类型数据各自进行归一化处理,以将数据限定在一定范围内,其中,对不同类型数据进行归一化处理的方式可不同。例如,对等级进行归一化处理的方式是将该等级除以实时对局数据中最高的等级,对金钱数量(经济)进行归一化处理的方式是将金钱数量除以10000。将各类型数据进行归一化处理后,拼接到一起,即可得到特征向量,本发明实施例对将归一化处理后的各类型数据进行拼接的顺序不做限定。
为了便于理解,进行举例说明。例如,在MOBA游戏中,对于等级来说,可设定归一化处理的方式是将等级除以20;对候选游戏策略的编号来说,归一化处理的方式可以是将编号除以10;对游戏时间来说,归一化处理的方式可以是游戏时间中的分钟数除以60。在从游戏对局获取到的实时对局数据中,游戏角色的等级为5级(这里仅以一个游戏角色的等级作为示例),实时阶段的前一阶段应用的候选游戏策略的编号为3,实时阶段应用的候选游戏策略的编号为4,游戏时间为30分钟零5秒,则对游戏角色的等级进行归一化处理得到0.25,对实时阶段的前一阶段应用的候选游戏策略的编号进行归一化处理得到0.3,对实时阶段应用的候选游戏策略的编号进行归一化处理得到0.4,对游戏时间进行归一化处理得到0.5,即归一化处理后的各类型数据均处于同一数量级。然后,对于归一化处理后得到的结果,按照“等级-前一阶段应用的候选游戏策略的编号-实时阶段应用的候选游戏策略的编号-游戏时间”的顺序进行拼接,最终可得到(0.25,0.3,0.4,0.5)的特征向量,当然,拼接顺序并不限于此,可根据实际应用场景进行设定。通过上述方式,使得得到的特征向量能够有效地反映实时的对局情况,提升了后续进行胜率映射的准确性。
在步骤103中,将胜率最高的候选游戏策略应用到智能目标对象,以使智能目标对象按照胜率最高的候选游戏策略进行操作。
作为示例,参见图3,在应用模块4553中,在实时阶段对应的多个候选游戏策略中选择胜率最高的候选游戏策略,并将选择的候选游戏策略应用到智能目标对象,以使智能目标对象按照选择的候选游戏策略进行操作,例如控制游戏元素进行移动或攻击,从而更好地执行相应的游戏任务。例如,候选游戏策略可以体现为代码形式,智能目标对象通过执行候选游戏策略,从而控制游戏元素进行移动或攻击。
在一些实施例中,可以通过这样的方式来实现上述的将胜率最高的候选游戏策略应用到智能目标对象:当最高的胜率大于或等于胜率阈值、且智能目标对象正在应用实时阶段对应的候选游戏策略时,将正在应用的实时阶段对应的候选游戏策略,切换为胜率最高的候选游戏策略;
步骤102之后,还包括:当最高的胜率小于胜率阈值、且智能目标对象正在应用实时阶段对应的候选游戏策略时,继续保持智能目标对象正在应用的、实时阶段对应的候选游戏策略。
由于在游戏对局的实时阶段中,可能会周期性地对最新获取到的实时对局数据进行特征提取处理,即进行周期性的策略切换,故在得到实时阶段对应的多个候选游戏策略的胜率时,智能目标对象可能正在应用实时阶段对应的某一个候选游戏策略。对于该种情况,在得到实时阶段对应的多个候选游戏策略的胜率后,将其中最高的胜率与胜率阈值进行比较,若最高的胜率大于或等于胜率阈值,则将智能目标对象正在应用的实时阶段对应的候选游戏策略,切换为胜率最高的候选游戏策略;若最高的胜率小于胜率阈值,则策略切换很可能会对正在执行的游戏任务造成负面影响,故继续保持智能目标对象正在应用的实时阶段对应的候选游戏策略。胜率阈值可根据实际应用场景进行设定,如设定为0.8。通过上述方式,有效地避免了切换至胜率不够高的候选游戏策略,进一步提升了游戏操控的智能化和智能目标对象执行游戏任务的效果。
在一些实施例中,可以通过这样的方式来实现上述的将胜率最高的候选游戏策略应用到智能目标对象:将胜率最高的候选游戏策略应用到智能目标对象,以使智能目标对象执行以下处理至少之一:控制游戏元素以与用户账号控制的游戏元素协同;控制游戏元素以与用户账号控制的游戏元素对抗;模拟用户账号的操作来控制游戏元素。
作为示例,参见图3,本发明实施例提供了三种智能目标对象可执行的游戏任务,下面分别进行介绍。第一种游戏任务是游戏陪玩任务,即是将胜率最高的候选游戏策略应用到智能目标对象,智能目标对象按照胜率最高的候选游戏策略进行操作,具体控制游戏元素以与用户账号控制的游戏元素协同作战;第二种游戏任务是人机对战任务,即是将胜率最高的候选游戏策略应用到智能目标对象,智能目标对象按照胜率最高的候选游戏策略进行操作,具体控制游戏元素以与用户账号控制的游戏元素对抗;第三种游戏任务是自动挂机任务,即是将胜率最高的候选游戏策略应用到智能目标对象,智能目标对象按照胜率最高的候选游戏策略进行操作,具体模拟用户账号的操作来控制游戏元素。当然,除了上面列举的游戏任务,应用胜率最高的候选游戏策略的智能目标对象还可执行其他任务,本发明实施例对此不做限定。通过上述方式,提升了游戏操控方法对不同应用场景的适用性。
在一些实施例中,在任意步骤之间,还包括:将实时对局数据与设定的测试用例进行匹配;其中,测试用例包括测试条件和预期结果;当实时对局数据与测试用例中的测试条件匹配成功、且与测试用例中的预期结果匹配失败时,将实时对局数据标记为异常数据,并根据实时对局数据进行告警。
在本发明实施例中,还可根据获取到的实时对局数据进行游戏测试。具体地,将获取到的实时对局数据与设定的多个测试用例进行匹配,每个测试用例包括测试条件和预期结果。当实时对局数据与测试用例中的测试条件匹配成功、且与测试用例中的预期结果匹配失败时,证明实时对局数据出现异常,将实时对局数据标记为异常数据,并根据实时对局数据进行告警,告警的方式包括但不限于短信、邮件及电话。举例来说,在MOBA游戏中,某个测试用例的测试条件为某个等级的、且拥有某些装备的某个游戏角色施放某个技能,预期结果为造成的伤害值,若实时对局数据符合该测试条件,但实时对局数据中造成的伤害值不符合预期结果,则确定该实时对局数据异常,进行告警,以便于游戏的测试人员对该问题进行定位并修复。通过上述方式,基于智能目标对象实现了游戏的自动测试,节省了人工成本。
通过发明实施例对于图4A的上述示例性实施可知,本发明实施例通过获取智能目标对象在游戏对局的过程中的实时对局数据,在多个阶段中确定符合该实时对局数据的实时阶段,并通过特征提取及映射的方式,进一步确定出实时阶段对应的多个候选游戏策略的胜率,最终选择胜率最高的候选游戏策略应用至智能目标对象,能够实现智能目标对象操作的智能化,加强选择出的候选游戏策略对于游戏对局的实时情况的适用性,提升智能目标对象执行游戏任务的效果。
在一些实施例中,参见图4B,图4B是本发明实施例提供的游戏操控方法的一个可选的流程示意图,基于图4A,在步骤101之前,还可以在步骤201中,针对样本游戏对局中的每个阶段执行以下处理:在阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到智能目标对象,以使智能目标对象在阶段中按照选取的候选游戏策略进行操作。
在本发明实施例中,可通过胜率预测模型将特征向量映射为候选游戏策略的胜率。首先,对胜率预测模型进行训练,具体针对样本游戏对局中的每个阶段,在阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到智能目标对象,以使智能目标对象在该阶段中按照选取的候选游戏策略进行操作。值得说明的是,这里的样本游戏对局与步骤101所指的游戏对局属于同一个游戏,命名不同仅是为了便于区分。
在步骤202中,对阶段的对局数据进行特征提取处理以得到样本特征向量。
这里,获取样本游戏对局在该阶段的对局数据,并对对局数据进行特征提取处理以得到样本特征向量,特征提取处理的过程在此不做赘述。
在步骤203中,根据样本游戏对局的对局结果和阶段的样本特征向量,对阶段对应的胜率预测模型进行训练;其中,样本游戏对局的每个阶段具有各自对应的胜率预测模型。
在本发明实施例中,可利用强化学习的原理,将样本游戏对局的对局结果作为强化学习的奖励,从而根据对局结果和该阶段的样本特征向量,对该阶段对应的胜率预测模型进行训练。其中,样本游戏对局的每个阶段具有各自对应的胜率预测模型。
为了便于理解,以样本游戏对局包括开始阶段、中间阶段以及结束阶段的情况进行举例,则在开始阶段对应的胜率预测模型的训练过程中,首先在开始阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到智能目标对象,然后,对开始阶段的对局数据进行特征提取处理以得到样本特征向量,最后,根据样本游戏对局的对局结果和开始阶段的样本特征向量,对开始阶段对应的胜率预测模型进行训练,中间阶段和结束阶段对应的胜率预测模型的训练过程以此类推。
在一些实施例中,可以通过这样的方式来实现上述的根据样本游戏对局的对局结果和阶段的样本特征向量,对阶段对应的胜率预测模型进行训练:通过阶段对应的胜率预测模型,对阶段的样本特征向量进行整合处理,并将整合结果映射为阶段的前一阶段应用的候选游戏策略的第一估计胜率、以及阶段应用的候选游戏策略的第二估计胜率;将第二估计胜率与样本游戏对局的对局结果进行融合处理,得到目标胜率;根据第一估计胜率与目标胜率之间的差异确定梯度,并沿梯度的下降方向,更新阶段对应的胜率预测模型的权重参数。
为了便于说明,将需要训练的胜率预测模型对应的阶段命名为目标阶段。在目标阶段中,从样本游戏对局中获取到的对局数据包括目标阶段的前一阶段应用的候选游戏策略的编号、以及目标阶段应用的候选游戏策略的编号。在对对局数据进行特征提取处理得到特征向量后,通过目标阶段对应的胜率预测模型,对目标阶段的样本特征向量进行整合处理,并将整合结果映射为目标阶段的前一阶段应用的候选游戏策略的第一估计胜率、以及目标阶段应用的候选游戏策略的第二估计胜率。值得说明的是,整合处理是指根据特定的权重参数对特征向量进行一系列的数学运算,将高维向量转换为低维向量,同时提取特征向量中有用的信息,在实际应用场景中可通过一个或多个全连接层来进行整合处理。另外,这里的映射处理实质上是在已应用某个候选游戏策略的基础上,对应用该候选游戏策略的胜率进行预测,而步骤102中的映射处理实质上是对将来待应用的多个候选游戏策略的胜率进行预测,两者之间存在差异。
将得到的第二估计胜率与样本游戏对局的对局结果进行融合处理,得到目标胜率,本发明实施例对融合处理的方式不做限定,例如可参照深度Q学习网络(DQN,Deep Q-Learning Network)中的融合方式,如将第二估计胜率与某个设定的参数进行相乘后,将相乘的结果与对局结果的数值表示进行相加,得到目标胜率。其中,为了便于计算,可预先设定不同对局结果的数值表示,如当对局结果为胜利时,数值表示为1;当对局结果为失败时,数值表示为0。然后,根据目标阶段对应的胜率预测模型的损失函数,确定出第一估计胜率与目标胜率之间的差异(损失值),这里对损失函数的类型不做限定,例如可为均方差损失函数。根据得到的差异在目标阶段对应的胜率预测模型中进行反向传播,并在反向传播的过程中,沿梯度的下降方向,更新目标阶段对应的胜率预测模型的权重参数,以使胜率预测模型后续映射得到的估计胜率(包括第一估计胜率和第二估计胜率)与对局结果更为接近。上述方式将对局结果作为强化学习的奖励,从而对胜率预测模型进行训练,提升了训练效果。
在一些实施例中,可以通过这样的方式来实现上述的在阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到智能目标对象:在阶段的每个周期开始时,在阶段对应的多个候选游戏策略中进行随机选取,并将每次选取的候选游戏策略应用到智能目标对象。
对应于上文的周期性进行策略切换的情况,在模型训练时,同样可在阶段的每个周期开始时,在该阶段对应的多个候选游戏策略中进行随机选取,并将每次选取的候选游戏策略应用到智能目标对象。这里的周期与上文在游戏对局中进行策略切换的周期可一致,如都为5分钟。通过上述方式,针对周期性策略切换的情况,构造了相对应的样本(即样本游戏对局中的对局数据),提升了样本质量。
在图4B中,图4A示出的步骤102可以通过步骤204至步骤205实现,将结合各步骤进行说明。
在步骤204中,对实时对局数据进行特征提取处理以得到特征向量。
完成对各阶段对应的胜率预测模型的训练后,在正在进行的游戏对局中,对获取到的实时阶段中的实时对局数据进行特征提取处理,得到特征向量。
在步骤205中,通过实时阶段对应的胜率预测模型,对特征向量进行整合处理,并将整合结果映射为分别对应多个候选游戏策略的胜率。
作为示例,参见图3,在映射模块4552中,通过实时阶段对应的、训练后的胜率预测模型中的全连接层,对步骤204中得到的特征向量进行整合处理,即对特征向量进行降维,同时提取特征向量中有用的信息。然后,通过该胜率预测模型中的输出层,将整合结果映射为实时阶段对应的多个候选游戏策略的胜率。当然,胜率预测模型的结构并不限于图3所示,例如还可包括卷积层等。
通过发明实施例对于图4B的上述示例性实施可知,本发明实施例将样本游戏对局的对局结果作为强化学习的奖励,对各个阶段的胜率预测模型进行训练,在确定出游戏对局的实时阶段后,基于实时阶段的胜率预测模型预测实时阶段对应的多个候选游戏策略的胜率,进一步提升了选择候选游戏策略的精度。
在一些实施例中,参见图4C,图4C是本发明实施例提供的游戏操控方法的一个可选的流程示意图,图4A示出的步骤102可更新为步骤301,在步骤301中,当实时阶段为中间阶段或结束阶段时,对实时对局数据进行特征提取处理以得到特征向量,并将特征向量映射为实时阶段对应的多个候选游戏策略的胜率。
在本发明实施例中,可设定游戏对局包括开始阶段、至少一个中间阶段和结束阶段。在经步骤101确定出符合实时对局数据的实时阶段后,若实时阶段为中间阶段或结束阶段,则对实时对局数据进行特征提取处理以得到特征向量,并将特征向量映射为实时阶段对应的多个候选游戏策略的胜率。
在图4C中,在步骤101之后,还可以在步骤302中,当实时阶段为开始阶段时,查询与游戏对局的对手的历史对局记录。
由于在开始阶段中能够收集到的数据往往较少,故当实时阶段为开始阶段时,查询与游戏对局的对手的历史对局记录,并根据查询结果来确定开始阶段对应的多个候选游戏策略的胜率。这里,游戏对局的对手指的是与智能目标对象控制的游戏元素对抗的一方,在此基础上,游戏对局的对手既可以指与智能目标对象控制的游戏元素对抗的游戏元素本身,也可以指与智能目标对象控制的游戏元素对抗的游戏元素所属的用户账号。
在步骤303中,当查询到与游戏对局的对手的历史对局记录时,根据开始阶段对应的多个候选游戏策略,对查询到的历史对局记录分别进行筛选,并根据筛选结果确定开始阶段对应的多个候选游戏策略的胜率。
这里,一种方式是对于开始阶段对应的每个候选游戏策略,筛选出包括该候选游戏策略、且对局结果为胜利的历史对局记录,并将筛选出的历史对局记录的数量与历史对局记录的总数量之间的比值,确定为该候选游戏策略的胜率。
在一些实施例中,还可以通过这样的方式来实现上述的根据开始阶段对应的多个候选游戏策略,对查询到的历史对局记录分别进行筛选,并根据筛选结果确定开始阶段对应的多个候选游戏策略的胜率:筛选出包括开始阶段对应的候选游戏策略、且对局结果为胜利的历史对局记录,以作为第一历史对局记录,并筛选出包括开始阶段对应的候选游戏策略的历史对局记录,以作为第二历史对局记录;将第一历史对局记录的数量与第二历史对局记录的数量之间的比值,确定为开始阶段对应的候选游戏策略的胜率。
本发明实施例还提供了另一种确定开始阶段对应的候选游戏策略的胜率的方式,具体地,对于开始阶段对应的每一个候选游戏策略,筛选出包括开始阶段对应的候选游戏策略、且对局结果为胜利的历史对局记录,以作为第一历史对局记录,同时筛选出包括该候选游戏策略的历史对局记录,以作为第二历史对局记录。然后,将第一历史对局记录的数量与第二历史对局记录的数量之间的比值,确定为该候选游戏策略的胜率。在后续选择候选游戏策略进行应用时,若胜率最高的候选游戏策略存在至少两个,则可在胜率最高的候选游戏策略中,选择对应的第一历史对局记录数量最多的候选游戏策略。通过上述方式,提升了确定出的开始阶段对应的候选游戏策略的准确性。
在步骤304中,当未查询到与游戏对局的对手的历史对局记录时,获取先验规则中针对游戏对局的对手设定的、与开始阶段对应的多个候选游戏策略的胜率。
对于未查询到历史对局记录的情况,直接获取先验规则中针对游戏对局的对手设定的、与开始阶段对应的多个候选游戏策略的胜率,先验规则可人为编写。例如在MOBA游戏中,通常是由两个阵营进行相互对抗,每个阵营包括若干个游戏角色,不同游戏角色的组合可构成不同的阵容,则可预先针对不同的阵容,在先验规则中设定与开始阶段对应的多个候选游戏策略的胜率。
通过发明实施例对于图4C的上述示例性实施可知,对于开始阶段获取到的数据较少的情况,本发明实施例结合历史对局记录和先验规则来确定开始阶段对应的多个候选游戏策略的胜率,提升了在开始阶段选择候选游戏策略的精度。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。在RTS和MOBA等类型的游戏中,游戏策略的选择是游戏的核心点,游戏AI在何种时机使用哪种游戏策略将直接决定游戏任务的执行结果,如决定游戏对局的对局结果是胜利还是失败,其中,游戏AI对应上文的智能目标对象。在相关技术提供的方案中,游戏AI通常是仅基于先验规则对预先设定的多个候选游戏策略进行选择,该方案实现较复杂,维护成本较高,效果不理想。
本发明实施例将一个游戏对局划分为多个阶段,在每个阶段中设定多个候选游戏策略,并利用强化学习模型在相应阶段对应的多个候选游戏策略中,选择胜率最高的候选游戏策略进行应用,如此,能够提升选择候选游戏策略的精度,并提升游戏AI执行游戏任务的效果,其中,强化学习模型对应上文的胜率预测模型,游戏任务包括但不限于人机对战、游戏陪玩、自动挂机及游戏测试。
本发明实施例提供了如图5所示的策略选择的示意图,在图5中,将游戏对局划分为A、B和C三个阶段,其中,A阶段对应上文的开始阶段,B阶段对应上文的中间阶段,C阶段对应上文的结束阶段,当然,划分阶段的依据由每个游戏的特点决定,并不限于这里的三个阶段示例。对于划分的每个阶段,由相关人员设计和编写多个阶段性的候选游戏策略,形成各个阶段的策略库。在游戏对局开始进行时,首先结合A阶段的先验规则和贪婪算法,从A阶段的策略库中选择一个候选游戏策略,并应用该候选游戏策略。当A阶段的候选游戏策略应用完成后,根据B阶段对应的强化学习模型对实时对局数据进行处理,根据处理结果从B阶段的策略库中选择一个候选游戏策略,并执行该候选游戏策略。在B阶段期间,周期性地使用B阶段对应的强化学习模型进行策略选择,若当前正在应用的B阶段的候选游戏策略和强化学习模型选择的B阶段的候选游戏策略不同,则进行策略切换。当B阶段的候选游戏策略应用完成后,根据C阶段对应的强化学习模型对实时对局数据进行处理,根据处理结果从C阶段的策略库中选择一个候选游戏策略,并执行该候选游戏策略。在C阶段期间,周期性地使用C阶段对应的强化学习模型进行策略选择,并且使用C阶段的先验规则判断是否应用选择出的候选游戏策略,直到游戏结束。值得说明的是,B阶段和C阶段的强化学习模型的中间层(指全连接层)结构大致相同,但是输入层和输出层存在差异。
本发明实施例包含候选游戏策略的准备过程和候选游戏策略的使用过程。
在候选游戏策略的准备过程中,首先根据游戏的自身特点将游戏对局划分为多个阶段,之后分别编写每个阶段的策略库,每个阶段的策略库中的候选游戏策略的数量要求尽可能多,并且不同候选游戏策略之间存在一定区分度,最后使用生成的训练集训练强化学习模型。
在候选游戏策略的使用过程中,首先判断当前的游戏对局处于哪个阶段,之后使用确定出的阶段对应的方式,从该阶段的策略库中选择胜率最高的候选游戏策略,最后应用该候选游戏策略。在本发明实施例中,在以下三种时间点执行策略选择:1)游戏对局开始时;2)A阶段和B阶段的候选游戏策略应用完成时;3)在B阶段和C阶段应用候选游戏策略的过程中,每隔5分钟时,当然,除了5分钟外,也可根据实际应用场景设定其他的周期。
下面具体介绍候选游戏策略的准备过程,如图6所示,候选游戏策略的准备过程主要包括三个步骤,即划分阶段、编写策略和训练模型。
1)划分阶段。在本发明实施例中,根据游戏的自身特点把游戏过程划分为A、B和C三个阶段,每个阶段有各自的特点,便于编写每个阶段的策略库。例如A阶段对应游戏前期,B阶段对应游戏中期,C阶段对应游戏后期。
在RTS游戏中,可以将某些特定建筑的修建作为阶段划分的标志。例如,将从游戏对局开始到修建生产中级作战单位建筑的前一刻之间的游戏过程确定为A阶段,将从修建生产中级作战单位建筑到修建生产高级作战单位建筑的前一刻之间的游戏过程确定为B阶段,将从修建生产高级作战单位建筑到游戏结束之间的游戏过程确定为C阶段。经过阶段划分后,即可确定A阶段的目标是选择合适的发展策略,B阶段的目标是选择合适的扩张策略,C阶段的目标是选择合适的进攻策略。
在MOBA游戏中,可以将玩家的等级作为阶段划分的标志。例如,将从游戏开始到玩家等级达到4级的前一刻之间的游戏过程确定为A阶段,即A阶段对应的等级数据区间为1级到3级的区间,将从玩家等级为4级到玩家等级到达9级的前一刻之间的游戏过程确定为B阶段,将从玩家等级为9级到游戏结束之间的游戏过程确定为C阶段。经过阶段划分后,即可确定A阶段的目标是选择合适的对线策略,B阶段的目标是选择合适的推搭策略,C阶段的目标是选择合适的团战策略。
2)编写策略。在游戏阶段明确划分后,即可由相关人员开始构建各个阶段的策略库。每个阶段的策略库可以包含多个候选游戏策略,在每个阶段期间,候选游戏策略可以自由切换,不同阶段对应的候选游戏策略可以自由组合。为了便于说明,每个阶段对应的候选游戏策略从1开始编号,即A阶段对应的候选游戏策略包括A1、A2、A3、……,B阶段对应的候选游戏策略包括B1、B2、B3、……,C阶段对应的候选游戏策略包括C1、C2、C3、……。本发明实施例提供了如图7所示的策略组合的示意图,若不考虑在每个阶段中进行策略切换的情况,整个游戏对局可以应用的候选游戏策略的数量为阶段的总数量,例如,A1-B1-C1为游戏对局中应用的所有候选游戏策略,A3-B1-C2为另一个游戏对局中应用的所有候选游戏策略。阶段性地编写策略的好处在于:1)丰富策略组合搭配;2)轻易实现灵活的策略选择;3)易于优化和管理,便于删除或者添加候选游戏策略。
每个阶段策略库中的候选游戏策略的数量要求尽可能多,并且不同候选游戏策略之间存在一定的区分度。如图8所示,在RTS游戏中,可以对A阶段设定3种候选游戏策略,候选游戏策略A1的重点在于快速出兵,以在短期取得更强的作战力量,候选游戏策略A3的重点在于快速发展,而候选游戏策略A2的重点介于A1和A3之间,同时兼顾发展和出兵。对于B阶段,可以根据不同的主力兵种以及兵种之间不同的配合设计不同的策略,通常候选游戏策略的数量可达十个以上。对于C阶段,可从不同的防守进攻力度设计不同的策略,候选游戏策略的数量大约在2至5个。
在MOBA游戏中,可以对A阶段设定3种候选游戏策略,候选游戏A1的重点在于稳定发育,候选游戏A3的重点在于猛烈进攻,而候选游戏A2的重点则介于A1和A3之间,同时兼顾发育和进攻。对于B阶段,可以根据敌我双方的等级差距和经济差距设计不同的策略,涉及是否进行小范围团战、是否在敌方野区(即中立资源区)打野及是否在线上打怪等等,候选游戏策略的数量大约在8个以上。而对于C阶段的策略,可从不同的防守进攻力度设计不同的策略,候选游戏策略的数量大约在2至4个。
3)模型训练。本发明实施例在B阶段和C阶段分别使用不同的强化学习模型进行策略选择,两个强化学习模型的大致结构相同,但是输入层和输出层不同。本发明实施例提供了如图9所示的强化学习模型的结构示意图,强化学习模型的输入数据为游戏对局中的实时对局数据,具体包括以下几个方面:①我方信息;②友方信息;③敌方信息;④前一阶段使用的候选游戏策略的编号;⑤当前阶段使用的候选游戏策略的编号;⑥游戏时间。
在RTS游戏中,我方信息主要包括游戏AI控制的一方的资源、人口、作战单位的类型、作战单位的数量、科技力量、建筑修建的类型以及建筑修建的数量等游戏数据。友方信息和敌方信息主要包括作战单位的类型、作战单位的数量、科技力量、建筑修建的类型以及建筑修建的数量等游戏数据。
在MOBA游戏中,我方信息主要包括游戏AI控制的游戏角色的等级、血量、技能、经济、装备、击杀数、死亡数及助攻数等游戏数据。友方信息和敌方信息主要包括等级、血量、经济、装备、击杀数、死亡数及助攻数等游戏数据。
上述游戏数据可以使用API从游戏对局中获取,或者使用图像识别的方式从当前的游戏图像中获取,或者使用其他方式获取,本发明实施例不做限定。实时对局数据经过归一化处理后拼接在一起,表示为向量的形式,作为强化学习模型的输入。数据归一化是指将游戏数据限定在一定范围内,以便于计算,例如将某个角色的等级除以当前所有角色中最高的等级,金钱数量除以10000等。
本发明实施例对强化学习模型的类型不做限定,为了便于说明,后文以强化学习模型为DQN模型的情况进行举例说明。在强化学习模型中,输入层(图9中未示出)的神经元的数量和输入数据(即实时对局数据)的维度一致,第一个全连接(FC,Fully Connected)层FC1的神经元数量为256,第二个全连接层FC2的神经元数量为128,第三个全连接层FC3的神经元数量为32,输出层(图9中未示出)的神经元数量为对应阶段策略库中的候选游戏策略的数量。因此,输出层的每个神经元对应一个候选游戏策略,进行映射后,输出层的每个神经元输出的数值为0至1之间的数值,每个数值的含义为对应的候选游戏策略的获胜概率,其中,映射可通过softmax函数实现,当然也可通过其他函数实现。在得到强化学习模型的输出层中各神经元输出的概率后,选择其中最大的概率对应的候选游戏策略进行应用。
由于不同阶段的候选游戏策略的数量通常不一样,故本发明实施例使用的两个强化学习模型在结构上略有不同。不同点在于:①输入层部分数据的不同,由于实时对局数据包括前一阶段使用的候选游戏策略的编号和当前阶段使用的候选游戏策略的编号,因此在选择不同阶段的候选游戏策略时,两个强化学习模型的输入数据是不同的;②输出层的神经元数量不同,由于输出层中的每个神经元对应一个候选游戏策略,而每个阶段的候选游戏策略的数量不同,因此这两个强化学习模型的输出层的神经元数量是不同的。
本发明实施例使用离线训练的方式训练强化学习模型,即生成大量的训练样本作为经验池,利用经验池来训练强化学习模型,当然,除了离线训练的方式外,也可利用在线训练的方式。训练样本的生成方式如下:
①在样本游戏对局开始时,从A阶段的策略库中随机选择一个候选游戏策略应用,记录当前使用的候选游戏策略的编号,将A阶段完成时的实时对局数据,以作为训练样本。
②在A阶段完成后,每隔5分钟从B阶段的策略库中随机选择一个候选游戏策略应用,记录每次选择时应用的候选游戏策略的编号,将B阶段中每次选择时获取的实时对局数据(实时对局数据对应的特征向量)作为训练样本。
③在B阶段完成后,每隔5分钟从C阶段的策略库中随机选择一个候选游戏策略应用,记录每次选择时使用的候选游戏策略的编号,将C阶段中每次选择时获取的实时对局数据(实时对局数据对应的特征向量)作为训练样本,直到游戏结束。
④反复执行上述步骤,直到收集足够多的训练样本。
样本游戏对局的对局结果作为强化学习的奖励,其中,若对局结果为胜利,则强化学习的奖励可设置为1;若对局结果为失败,则强化学习的奖励可设置为0。此外,对于A阶段结束的时刻,可设定此时获取到的实时对局数据中,B阶段使用的候选游戏策略的编号为0;对于B阶段结束的时刻,可设定此时获取到的实时对局数据中,C阶段使用的候选游戏策略的编号为0。
在模型训练时,根据A阶段结束时刻得到的训练样本、以及B阶段内每次策略选择得到的训练样本,训练B阶段对应的强化学习模型;根据B阶段结束时刻得到的训练样本、以及C阶段内每次策略选择得到的训练样本,训练C阶段对应的强化学习模型。
下面具体介绍候选游戏策略的使用过程,如图10所示,候选游戏策略的使用过程主要包括三个步骤,即判断阶段、策略选择以及应用策略。其中,策略选择在游戏开始、A阶段结束和B阶段结束时执行一次,在B阶段内和C阶段内每隔5分钟执行一次。
1)判断阶段。本发明实施例根据实时对局数据判断当前时刻处于哪个阶段。由于在定义阶段时设定了明确的划分界限,例如,在RTS游戏中将某些特定建筑的修建作为阶段划分的标志,在MOBA游戏中将玩家等级作为阶段划分的标志,因此,可以根据实时对局数据,快速地判断游戏对局当前属于A阶段、B阶段还是C阶段。
2)结合先验规则和贪婪算法的策略选择。若当前处于A阶段(即实时阶段为A阶段),本发明实施例结合A阶段的先验规则和贪婪算法,从A阶段的策略库中选择一个候选游戏策略。由于在A阶段中所能收集的敌方信息不足,因此不在该阶段使用强化学习模型进行策略选择。
如果没有和游戏对局的当前作战对手的历史交战数据,则利用A阶段的先验规则,从A阶段的策略库中选择事前设定的候选游戏策略。其中,历史交战数据对应上文的历史对局记录,包括但不限于在历史的游戏对局中采集的我方信息、友方信息、敌方信息和对局结果。当前作战对手对应上文的游戏对局的对手,指与游戏AI控制的游戏元素对抗的一方,例如在5V5的MOBA游戏中,当前作战对手可指与游戏AI控制的游戏角色不同阵营的5个游戏角色,当然,当前作战对手也可以指与游戏AI对抗的用户账号。相关人员可以根据不同的作战对手,预先在A阶段的先验规则中设定所应用的A阶段的候选游戏策略,或者在A阶段的先验规则中设定A阶段的多个候选游戏策略的胜率,用于在策略选择时选择胜率最高的候选游戏策略应用。例如在MOBA游戏中,针对于偏向后期的对手阵容,可在A阶段的先验规则中设定应用偏向于速推的候选游戏策略,从而争取在游戏对局的前中期结束游戏;在RTS游戏中,针对偏向于快攻的对手阵容,可在A阶段的先验规则中设定应用偏向于防守的候选游戏策略。
如果存在和当前作战对手的历史交战数据,则可利用贪婪算法对历史交战数据进行分析,即统计A阶段的策略库中各个候选游戏策略相对于当前作战对手的胜率,便于后续选择其中胜率最高的A阶段策略。例如,历史上与当前作战对手已经进行了10场游戏对局,其中使用A1策略赢了3场,使用A2策略赢了3场同时也输了3场,使用A3策略赢了1场,则确定出A1策略的胜率最高,A3策略的胜率其次,A2策略的胜率最低。除此之外,若对于A阶段对应的任一个候选游戏策略来说,均不存在对局结果为胜利的历史交战数据,则可在A阶段的策略库中随机选择一个候选游戏策略执行。
3)基于强化学习的策略选择。如果游戏对局当前处于B阶段,本发明实施例使用B阶段对应的强化学习模型进行策略选择,具体将实时对局数据经特征提取处理后输入到B阶段的强化学习模型中,把强化学习模型的输出中数值最大(获胜概率最高)的候选游戏策略进行应用。如果当前是处于A阶段刚结束的时刻,则获取到的实时对局数据中,B阶段使用的策略编号为0。
4)基于强化学习和先验规则的策略选择。如果游戏对局当前处于C阶段,本发明实施例使用另一个强化学习模型,即C阶段对应的强化学习模型进行策略选择,具体将实时对局数据输入到C阶段的强化学习模型中,确定强化学习模型的输出中数值最大(获胜概率最高)的候选游戏策略。然后,根据C阶段的先验规则,判断是否应用该候选游戏策略,具体地,如果强化学习模型输出的最大数值小于0.8,则继续应用C阶段正在应用的候选游戏策略,不进行策略切换;如果强化学习模型输出的最大数值大于或等于0.8,则进行策略切换,将强化学习模型输出的数值最大的候选游戏策略进行应用。
5)执行策略。将预先编写的游戏策略应用至游戏AI,即由游戏AI执行游戏策略(可为代码形式)中的指令,进行相应操作。
本发明实施例一方面将游戏对局分为三个阶段,每个阶段单独设计多个候选游戏策略,既简化了每个候选游戏策略编写的复杂度,又可以通过组合各种候选游戏策略形成丰富多样的战术,另一方面使用强化学习模型替换硬编码的策略选择规则,降低了维护成本,同时又提升了游戏AI执行游戏任务的效果,游戏任务包括但不限于人机对战、游戏陪玩、自动挂机及游戏测试。本发明实施例可适用于RTS游戏、MOBA游戏以及其他游戏类型,作为示例,本发明实施例提供了图11和图12两个通过游戏AI进行人机对战的示意图。
图11为在MOBA游戏中进行人机对战的一个对局图像,图11示出的111为用户账号控制的游戏角色,112为面向用户的虚拟摇杆区域,113为用户账号控制的游戏角色的虚拟技能区域,其中,示出的“46”和“105”表示技能的冷却时间,114表示普通攻击的虚拟区域,115为游戏AI控制的游戏角色。对于用户来说,可通过触发虚拟摇杆区域112,来控制游戏角色111的移动;可通过触发虚拟技能区域113,来控制游戏角色111施放技能;可通过触发普通攻击的虚拟区域114,来控制游戏角色111进行普通攻击。游戏AI可通过本发明实施例的游戏操控方法,控制游戏角色115与游戏角色111进行对抗,从而提升对战方式的多样化,提升用户的对战兴趣,增加游戏的可玩性。
图12为在RTS游戏中进行人机对战的一个对局图像,图12示出的121为用户账号控制的兵种,122为用户账号控制的建筑物,123为供用户触发以实施操作的虚拟区域,用户可实施的操作包括但不限于控制兵种121移动的操作、控制建筑物122生产兵种的操作以及升级建筑物122的操作,124为用户账号控制的兵种的概况,125为游戏AI控制的兵种。游戏AI可通过本发明实施例的游戏操控方法,执行移动兵种125、通过兵种125攻击兵种121以及通过兵种125攻击建筑物122等操作,提升游戏任务的执行效果,即提升人机对战的难度。
下面继续说明本发明实施例提供的游戏操控装置455实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的游戏操控装置455中的软件模块可以包括:阶段确定模块4551,用于获取智能目标对象在游戏对局的过程中的实时对局数据,并根据实时对局数据确定智能目标对象在游戏对局的实时阶段;其中,游戏对局包括多个阶段,多个阶段的每个阶段对应多个候选游戏策略;映射模块4552,用于对实时对局数据进行特征提取处理以得到特征向量,并将特征向量映射为实时阶段对应的多个候选游戏策略的胜率;应用模块4553,用于将胜率最高的候选游戏策略应用到智能目标对象,以使智能目标对象按照胜率最高的候选游戏策略进行操作。
在一些实施例中,映射模块4552,还用于:在游戏对局的实时阶段中,周期性地对最新获取到的实时对局数据进行特征提取处理,以得到特征向量。
在一些实施例中,映射模块4552,还用于:通过实时阶段对应的胜率预测模型,对特征向量进行整合处理,并将整合结果映射为分别对应多个候选游戏策略的胜率;其中,游戏对局的每个阶段具有各自对应的胜率预测模型。
在一些实施例中,游戏操控装置455还包括:随机选取模块,用于针对样本游戏对局中的每个阶段执行以下处理:在阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到智能目标对象,以使智能目标对象在阶段中按照选取的候选游戏策略进行操作;样本提取模块,用于对阶段的对局数据进行特征提取处理以得到样本特征向量;训练模块,用于根据样本游戏对局的对局结果和阶段的样本特征向量,对阶段对应的胜率预测模型进行训练;其中,样本游戏对局的每个阶段具有各自对应的胜率预测模型。
在一些实施例中,训练模块,还用于:通过阶段对应的胜率预测模型,对阶段的样本特征向量进行整合处理,并将整合结果映射为阶段的前一阶段应用的候选游戏策略的第一估计胜率、以及阶段应用的候选游戏策略的第二估计胜率;将第二估计胜率与样本游戏对局的对局结果进行融合处理,得到目标胜率;根据第一估计胜率与目标胜率之间的差异确定梯度,并沿梯度的下降方向,更新阶段对应的胜率预测模型的权重参数。
在一些实施例中,随机选取模块,还用于:在阶段的每个周期开始时,在阶段对应的多个候选游戏策略中进行随机选取,并将每次选取的候选游戏策略应用到智能目标对象;其中,阶段包括多个周期。
在一些实施例中,应用模块4553,还用于:当最高的胜率大于或等于胜率阈值、且智能目标对象正在应用实时阶段对应的候选游戏策略时,将正在应用的实时阶段对应的候选游戏策略,切换为胜率最高的候选游戏策略;
游戏操控装置455还包括:保持模块,用于当最高的胜率小于胜率阈值、且智能目标对象正在应用实时阶段对应的候选游戏策略时,继续保持智能目标对象正在应用的、实时阶段对应的候选游戏策略。
在一些实施例中,阶段确定模块4551,还用于:获取与游戏对局的每个阶段分别存在关联关系的等级数据区间;确定实时对局数据中的等级数据所处的等级数据区间,并将与所处的等级数据区间存在关联关系的阶段,确定为实时阶段。
在一些实施例中,映射模块4552,还用于:对实时对局数据包括的以下数据进行归一化处理:游戏元素关联的多个维度数据、实时阶段的前一阶段应用的候选游戏策略的编号、实时阶段应用的候选游戏策略的编号以及游戏时间;将归一化处理的结果拼接为特征向量。
在一些实施例中,应用模块4553,还用于:将胜率最高的候选游戏策略应用到智能目标对象,以使智能目标对象执行以下处理至少之一:控制游戏元素以与用户账号控制的游戏元素协同;控制游戏元素以与用户账号控制的游戏元素对抗;模拟用户账号的操作来控制游戏元素。
在一些实施例中,游戏操控装置455还包括:匹配模块,用于将实时对局数据与设定的测试用例进行匹配;其中,测试用例包括测试条件和预期结果;告警模块,用于当实时对局数据与测试用例中的测试条件匹配成功、且与测试用例中的预期结果匹配失败时,将实时对局数据标记为异常数据,并根据实时对局数据进行告警。
在一些实施例中,映射模块4552,还用于:当实时阶段为中间阶段或结束阶段时,对实时对局数据进行特征提取处理以得到特征向量;
游戏操控装置455还包括:查询模块,用于当实时阶段为开始阶段时,查询与游戏对局的对手的历史对局记录;筛选模块,用于根据开始阶段对应的多个候选游戏策略,对查询到的历史对局记录分别进行筛选,并根据筛选结果确定开始阶段对应的多个候选游戏策略的胜率;其中,多个阶段包括开始阶段、至少一个中间阶段和结束阶段。
在一些实施例中,筛选模块还用于:筛选出包括开始阶段对应的候选游戏策略、且对局结果为胜利的历史对局记录,以作为第一历史对局记录,并筛选出包括开始阶段对应的候选游戏策略的历史对局记录,以作为第二历史对局记录;将第一历史对局记录的数量与第二历史对局记录的数量之间的比值,确定为开始阶段对应的候选游戏策略的胜率;
游戏操控装置455还包括:先验模块,用于当未查询到与游戏对局的对手的历史对局记录时,获取先验规则中针对游戏对局的对手设定的、与开始阶段对应的多个候选游戏策略的胜率。
本发明实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图4A、图4B或图4C示出的游戏操控方法。值得说明的是,计算机包括终端设备和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,通过本发明实施例能够实现以下有益效果:
1)相较于相关技术中基于先验规则进行策略选择,本发明实施例通过人工智能的方式实现胜率映射,最终选择胜率最高的候选游戏策略应用至智能目标对象,能够实现智能目标对象操作的智能化,加强选择出的候选游戏策略对于游戏对局的实时情况的适用性,同时,减少了对先验规则进行维护的人工成本。
2)将游戏对局划分为多个阶段,便于相关人员在每个阶段单独设计多个候选游戏策略,既简化了每个候选游戏策略的编写复杂度,又可通过组合各种候选游戏策略形成丰富多样的战术,提升了智能目标对象执行游戏任务的多样性。
3)通过周期性地进行策略切换,进一步提升了应用的候选游戏策略对于实时的游戏对局的适用性。
4)对于开始阶段,结合先验规则和贪婪算法来选择开始阶段对应的候选游戏策略进行应用,适用于在开始阶段获取的数据较少的情况。
5)智能目标对象可执行不同的游戏任务,包括但不限于人机对战、游戏陪玩、自动挂机及游戏测试,应用范围较宽。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种游戏操控方法,其特征在于,包括:
获取智能目标对象在游戏对局的过程中的实时对局数据,并根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段;
其中,所述游戏对局包括多个阶段,所述多个阶段的每个阶段对应多个候选游戏策略,所述候选游戏策略支持应用至对应的整个阶段;
对所述实时对局数据进行特征提取处理以得到特征向量,并将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率;
当所述智能目标对象未应用所述实时阶段对应的候选游戏策略时,将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象按照所述胜率最高的候选游戏策略进行操作;
当最高的胜率大于或等于胜率阈值、且所述智能目标对象正在应用所述实时阶段对应的候选游戏策略时,将正在应用的候选游戏策略切换为胜率最高的候选游戏策略;
当最高的胜率小于所述胜率阈值、且所述智能目标对象正在应用所述实时阶段对应的候选游戏策略时,继续保持正在应用的候选游戏策略。
2.根据权利要求1所述的游戏操控方法,其特征在于,
所述对所述实时对局数据进行特征提取处理以得到特征向量,包括:
在所述游戏对局的所述实时阶段中,周期性地对最新获取到的实时对局数据进行特征提取处理,以得到特征向量;
所述将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率,包括:
通过所述实时阶段对应的胜率预测模型,对所述特征向量进行整合处理,并
将整合结果映射为分别对应所述多个候选游戏策略的胜率;
其中,所述游戏对局的每个阶段具有各自对应的胜率预测模型。
3.根据权利要求1所述的游戏操控方法,其特征在于,还包括:
针对样本游戏对局中的每个阶段执行以下处理:
在所述阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到所述智能目标对象,以使
所述智能目标对象在所述阶段中按照所述选取的候选游戏策略进行操作;
对所述阶段的对局数据进行特征提取处理以得到样本特征向量;
根据所述样本游戏对局的对局结果和所述阶段的样本特征向量,对所述阶段对应的胜率预测模型进行训练;
其中,所述样本游戏对局的每个阶段具有各自对应的胜率预测模型。
4.根据权利要求3所述的游戏操控方法,其特征在于,所述根据所述样本游戏对局的对局结果和所述阶段的样本特征向量,对所述阶段对应的胜率预测模型进行训练,包括:
通过所述阶段对应的胜率预测模型,对所述阶段的样本特征向量进行整合处理,并
将整合结果映射为所述阶段的前一阶段应用的候选游戏策略的第一估计胜率、以及所述阶段应用的候选游戏策略的第二估计胜率;
将所述第二估计胜率与所述样本游戏对局的对局结果进行融合处理,得到目标胜率;
根据所述第一估计胜率与所述目标胜率之间的差异确定梯度,并沿所述梯度的下降方向,更新所述阶段对应的胜率预测模型的权重参数。
5.根据权利要求3所述的游戏操控方法,其特征在于,
所述阶段包括多个周期;
所述在所述阶段对应的多个候选游戏策略中进行随机选取,并将选取的候选游戏策略应用到所述智能目标对象,包括:
在所述阶段的每个周期开始时,在所述阶段对应的多个候选游戏策略中进行随机选取,并
将每次选取的候选游戏策略应用到所述智能目标对象。
6.根据权利要求1所述的游戏操控方法,其特征在于,所述根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段,包括:
获取与所述游戏对局的每个阶段分别存在关联关系的等级数据区间;
确定所述实时对局数据中的等级数据所处的等级数据区间,并
将与所述所处的等级数据区间存在关联关系的阶段,确定为实时阶段。
7.根据权利要求1所述的游戏操控方法,其特征在于,所述对所述实时对局数据进行特征提取处理以得到特征向量,包括:
对所述实时对局数据包括的以下数据进行归一化处理:游戏元素关联的多个维度数据、所述实时阶段的前一阶段应用的候选游戏策略的编号、所述实时阶段应用的候选游戏策略的编号以及游戏时间;
将归一化处理的结果拼接为特征向量。
8.根据权利要求1所述的游戏操控方法,其特征在于,所述将胜率最高的候选游戏策略应用到所述智能目标对象,包括:
将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象执行以下处理至少之一:
控制游戏元素以与用户账号控制的游戏元素协同;
控制游戏元素以与用户账号控制的游戏元素对抗;
模拟用户账号的操作来控制游戏元素。
9.根据权利要求1至8任一项所述的游戏操控方法,其特征在于,还包括:
将所述实时对局数据与设定的测试用例进行匹配;其中,所述测试用例包括测试条件和预期结果;
当所述实时对局数据与所述测试用例中的测试条件匹配成功、且与所述测试用例中的预期结果匹配失败时,将所述实时对局数据标记为异常数据,并
根据所述实时对局数据进行告警。
10.根据权利要求1至8任一项所述的游戏操控方法,其特征在于,
所述多个阶段包括开始阶段、至少一个中间阶段和结束阶段;
所述对所述实时对局数据进行特征提取处理以得到特征向量,包括:
当所述实时阶段为所述中间阶段或所述结束阶段时,对所述实时对局数据进行特征提取处理以得到特征向量;
所述游戏操控方法还包括:
当所述实时阶段为所述开始阶段时,查询与所述游戏对局的对手的历史对局记录;
根据所述开始阶段对应的多个候选游戏策略,对查询到的所述历史对局记录分别进行筛选,并
根据筛选结果确定所述开始阶段对应的多个候选游戏策略的胜率。
11.根据权利要求10所述的游戏操控方法,其特征在于,
所述根据所述开始阶段对应的多个候选游戏策略,对查询到的所述历史对局记录分别进行筛选,并根据筛选结果确定所述开始阶段对应的多个候选游戏策略的胜率,包括:
筛选出包括所述开始阶段对应的候选游戏策略、且对局结果为胜利的历史对局记录,以作为第一历史对局记录,并
筛选出包括所述开始阶段对应的候选游戏策略的历史对局记录,以作为第二历史对局记录;
将所述第一历史对局记录的数量与所述第二历史对局记录的数量之间的比值,确定为所述开始阶段对应的候选游戏策略的胜率;
所述游戏操控方法还包括:
当未查询到与所述游戏对局的对手的历史对局记录时,获取先验规则中针对所述游戏对局的对手设定的、与所述开始阶段对应的多个候选游戏策略的胜率。
12.一种游戏操控装置,其特征在于,包括:
阶段确定模块,用于获取智能目标对象在游戏对局的过程中的实时对局数据,并根据所述实时对局数据确定所述智能目标对象在所述游戏对局的实时阶段;
其中,所述游戏对局包括多个阶段,所述多个阶段的每个阶段对应多个候选游戏策略,所述候选游戏策略支持应用至对应的整个阶段;
映射模块,用于对所述实时对局数据进行特征提取处理以得到特征向量,并将所述特征向量映射为所述实时阶段对应的多个候选游戏策略的胜率;
应用模块,用于当所述智能目标对象未应用所述实时阶段对应的候选游戏策略时,将胜率最高的候选游戏策略应用到所述智能目标对象,以使所述智能目标对象按照所述胜率最高的候选游戏策略进行操作;
所述应用模块,还用于当最高的胜率大于或等于胜率阈值、且所述智能目标对象正在应用所述实时阶段对应的候选游戏策略时,将正在应用的候选游戏策略切换为胜率最高的候选游戏策略;
保持模块,用于当最高的胜率小于所述胜率阈值、且所述智能目标对象正在应用所述实时阶段对应的候选游戏策略时,继续保持正在应用的候选游戏策略。
13.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的游戏操控方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至11任一项所述的游戏操控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010320917.5A CN111494959B (zh) | 2020-04-22 | 2020-04-22 | 游戏操控方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010320917.5A CN111494959B (zh) | 2020-04-22 | 2020-04-22 | 游戏操控方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111494959A CN111494959A (zh) | 2020-08-07 |
CN111494959B true CN111494959B (zh) | 2021-11-09 |
Family
ID=71865949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010320917.5A Active CN111494959B (zh) | 2020-04-22 | 2020-04-22 | 游戏操控方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111494959B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257875A (zh) * | 2020-11-13 | 2021-01-22 | 北京理工大学 | 一种基于极限学习机的多智能体的任务理解方法 |
CN112704882B (zh) * | 2021-01-14 | 2021-09-14 | 广州云从鼎望科技有限公司 | 基于模型的棋牌游戏策略更新的方法、系统、介质及装置 |
CN112915538A (zh) * | 2021-03-11 | 2021-06-08 | 腾竞体育文化发展(上海)有限公司 | 对局信息的显示方法、装置、终端及存储介质 |
CN113868115B (zh) * | 2021-08-30 | 2024-04-16 | 天津大学 | 基于多目标优化与深度强化学习的游戏软件自动测试方法 |
CN113786620B (zh) * | 2021-09-14 | 2024-10-01 | 网易(杭州)网络有限公司 | 游戏信息推荐方法、装置、计算机设备及存储介质 |
CN117033250B (zh) * | 2023-10-08 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 对局应用的测试方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426969A (zh) * | 2015-08-11 | 2016-03-23 | 浙江大学 | 一种非完备信息的博弈策略生成方法 |
CN108920221A (zh) * | 2018-06-29 | 2018-11-30 | 网易(杭州)网络有限公司 | 游戏难度调整的方法及装置、电子设备、存储介质 |
CN109471712A (zh) * | 2018-11-21 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟环境中的虚拟对象的调度方法、装置及设备 |
CN109529352A (zh) * | 2018-11-27 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 虚拟环境中调度策略的评估方法、装置及设备 |
CN109843401A (zh) * | 2017-10-17 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 一种ai对象行为模型优化方法以及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11886957B2 (en) * | 2016-06-10 | 2024-01-30 | Apple Inc. | Artificial intelligence controller that procedurally tailors itself to an application |
CN109200583A (zh) * | 2018-08-02 | 2019-01-15 | 苏州蜗牛数字科技股份有限公司 | 控制游戏npc行为的方法、系统及存储介质 |
CN109847367A (zh) * | 2019-03-06 | 2019-06-07 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
CN110102055A (zh) * | 2019-05-14 | 2019-08-09 | 网易(杭州)网络有限公司 | 一种虚拟对象的决策方法和装置 |
-
2020
- 2020-04-22 CN CN202010320917.5A patent/CN111494959B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426969A (zh) * | 2015-08-11 | 2016-03-23 | 浙江大学 | 一种非完备信息的博弈策略生成方法 |
CN109843401A (zh) * | 2017-10-17 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 一种ai对象行为模型优化方法以及装置 |
CN108920221A (zh) * | 2018-06-29 | 2018-11-30 | 网易(杭州)网络有限公司 | 游戏难度调整的方法及装置、电子设备、存储介质 |
CN109471712A (zh) * | 2018-11-21 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟环境中的虚拟对象的调度方法、装置及设备 |
CN109529352A (zh) * | 2018-11-27 | 2019-03-29 | 腾讯科技(深圳)有限公司 | 虚拟环境中调度策略的评估方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111494959A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111494959B (zh) | 游戏操控方法、装置、电子设备及计算机可读存储介质 | |
CN111744201B (zh) | 视频游戏中的自动玩家控制接管 | |
CN109499068B (zh) | 对象的控制方法和装置、存储介质、电子装置 | |
CN111111204B (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
CN112169339A (zh) | 用于在视频游戏中模仿玩家玩游戏的定制的模型 | |
US7636701B2 (en) | Query controlled behavior models as components of intelligent agents | |
CN112691377A (zh) | 虚拟角色的控制方法、装置、电子设备及存储介质 | |
CN109847367A (zh) | 一种游戏胜率的预测方法、模型生成方法和装置 | |
CN113262488B (zh) | 虚拟场景中虚拟对象的控制方法、装置、设备及存储介质 | |
Font et al. | Dota 2 bot competition | |
Lee et al. | Context-aware petri net for dynamic procedural content generation in role-playing game | |
CN116747521B (zh) | 控制智能体进行对局的方法、装置、设备及存储介质 | |
CN112569599A (zh) | 虚拟场景中虚拟对象的控制方法、装置及电子设备 | |
US11786818B2 (en) | Autoplayers for filling and testing online games | |
CN116956007A (zh) | 人工智能模型的预训练方法、装置、设备及存储介质 | |
CN114404975A (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
CN114404976B (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
CN110314379B (zh) | 动作输出深度训练模型的学习方法及相关设备 | |
CN115640824A (zh) | 一种智能体训练方法、装置、电子设备及存储介质 | |
CN113058265B (zh) | 虚拟场景中团队间的交互方法、装置、设备及存储介质 | |
CN113633968A (zh) | 一种游戏中的信息展示方法、装置、电子设备及存储介质 | |
Patel et al. | Improving behavior of computer game bots using fictitious play | |
Toubman | Calculated Moves | |
Goncevatt | Reinforcement learning applied as a game mechanic and design element in a custom boss for World of Warcraft | |
Pena et al. | vBattle: A new framework to simulate medium-scale battles in individual-per-individual basis |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40028874 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |