CN116726500A - 一种虚拟角色的控制方法、装置、电子设备和存储介质 - Google Patents
一种虚拟角色的控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116726500A CN116726500A CN202310993336.1A CN202310993336A CN116726500A CN 116726500 A CN116726500 A CN 116726500A CN 202310993336 A CN202310993336 A CN 202310993336A CN 116726500 A CN116726500 A CN 116726500A
- Authority
- CN
- China
- Prior art keywords
- player
- sample
- virtual character
- player virtual
- game
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000003860 storage Methods 0.000 title claims abstract description 30
- 230000009471 action Effects 0.000 claims abstract description 74
- 230000004927 fusion Effects 0.000 claims abstract description 51
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 28
- 238000005070 sampling Methods 0.000 claims description 11
- 230000001186 cumulative effect Effects 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 abstract description 20
- 230000003993 interaction Effects 0.000 abstract description 15
- 239000003795 chemical substances by application Substances 0.000 description 59
- 230000000875 corresponding effect Effects 0.000 description 47
- 238000010586 diagram Methods 0.000 description 35
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 20
- 230000002787 reinforcement Effects 0.000 description 16
- 238000012512 characterization method Methods 0.000 description 12
- 230000001276 controlling effect Effects 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000010276 construction Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 208000027418 Wounds and injury Diseases 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006378 damage Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 208000014674 injury Diseases 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 239000008280 blood Substances 0.000 description 5
- 210000004369 blood Anatomy 0.000 description 5
- 230000034994 death Effects 0.000 description 5
- 231100000517 death Toxicity 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000013078 crystal Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- HVCNNTAUBZIYCG-UHFFFAOYSA-N ethyl 2-[4-[(6-chloro-1,3-benzothiazol-2-yl)oxy]phenoxy]propanoate Chemical compound C1=CC(OC(C)C(=O)OCC)=CC=C1OC1=NC2=CC=C(Cl)C=C2S1 HVCNNTAUBZIYCG-UHFFFAOYSA-N 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013486 operation strategy Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000007500 overflow downdraw method Methods 0.000 description 2
- 229910052697 platinum Inorganic materials 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000284156 Clerodendrum quadriloculare Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 241000892865 Heros Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- WDLRUFUQRNWCPK-UHFFFAOYSA-N Tetraxetan Chemical compound OC(=O)CN1CCN(CC(O)=O)CCN(CC(O)=O)CCN(CC(O)=O)CC1 WDLRUFUQRNWCPK-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008485 antagonism Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
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/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/847—Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及人工智能技术领域,尤其涉及一种虚拟角色的控制方法、装置、电子设备和存储介质。其中,方法包括:对非玩家虚拟角色及其待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得非玩家虚拟角色的第一状态特征和玩家虚拟角色的第二状态特征;基于第一状态特征获得相应的预测获胜概率;若预测获胜概率及非玩家虚拟角色与玩家虚拟角色间的距离满足预设协作条件,则根据基于第一状态特征和第二状态特征获得的状态融合特征,确定非玩家虚拟角色待执行的预测目标动作,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。本申请结合玩家虚拟角色和非玩家虚拟角色的当前游戏状态进行动作预测,提高控制准确性和人机交互效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种虚拟角色的控制方法、装置、电子设备和存储介质。
背景技术
多人在线战术竞技(Multiplayer Online Battle Arena,MOBA)类游戏具有多智能体协作与竞争机制、时间长、状态动作空间大、信息不完全等特点,备受研究者关注。由于这类游戏是一种多人协作竞争类游戏,天然适合研究人机协作问题。
目前人机协作领域的主流方法为:基于贝叶斯推断的人机协作方法。该方法的主要思想是:在智能体与真实的人类玩家(后续简称真实玩家)协作时,通过贝叶斯推断(Bayesian Inference,BI)或逆强化学习(Inverse Reinforcement Learning,IRL)等技术,从真实玩家的历史行为中推断出真实玩家的目标,然后智能体通过完成这些目标,来实现与真实玩家的协作。
由于复杂MOBA游戏中人类的目标是多样的,且真实玩家的行为往往跟其目标没有直接关系,因此,基于上述方法推断出来的人类目标与人类真实目标之间往往存在较大差异,往往无法准确推断出人类真实目标,导致最终协作结果较差。
因而,如何提高虚拟角色控制的准确性,进而提高人机交互效率是亟待解决的。
发明内容
本申请实施例提供一种虚拟角色的控制方法、装置、电子设备和存储介质,用以提高虚拟角色控制的准确性和人机交互效率。
本申请实施例提供的一种虚拟角色的控制方法,包括:
分别对非玩家虚拟角色及所述非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述非玩家虚拟角色的第一状态特征,和所述玩家虚拟角色的第二状态特征;
基于所述第一状态特征获得相应的预测获胜概率,所述预测获胜概率为:所述非玩家虚拟角色与所述玩家虚拟角色所在阵营在本局游戏获胜的概率;
若所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足预设协作条件,则基于所述第一状态特征和所述第二状态特征获得相应的状态融合特征;
基于所述状态融合特征,获得所述非玩家虚拟角色待执行的预测目标动作,并控制所述非玩家虚拟角色执行所述预测目标动作,以协作所述玩家虚拟角色。
本申请实施例提供的一种虚拟角色的控制装置,包括:
特征提取单元,用于分别对非玩家虚拟角色及所述非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述非玩家虚拟角色的第一状态特征,和所述玩家虚拟角色的第二状态特征;
第一预测单元,用于基于所述第一状态特征获得相应的预测获胜概率,所述预测获胜概率为:所述非玩家虚拟角色与所述玩家虚拟角色所在阵营在本局游戏获胜的概率;
特征融合单元,用于若所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足预设协作条件,则基于所述第一状态特征和所述第二状态特征获得相应的状态融合特征;
第二预测单元,用于基于所述状态融合特征,获得所述非玩家虚拟角色待执行的预测目标动作,并控制所述非玩家虚拟角色执行所述预测目标动作,以协作所述玩家虚拟角色。
可选的,所述装置还包括:
条件判断单元,用于若所述预测获胜概率大于预设概率阈值,且所述非玩家虚拟角色与所述玩家虚拟角色之间的距离在预设距离范围内,则确定所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足所述预设协作条件。
可选的,所述预测目标动作是通过已训练的策略网络获得的,所述装置还包括模型训练单元,用于通过如下方式训练得到所述已训练的策略网络:
基于预先构建的多水平队友种群,对待训练的策略网络进行循环迭代训练,获得所述已训练的策略网络;所述多水平队友种群包括不同战力水平的样本玩家模型;其中,每次循环迭代训练都执行以下过程:
从所述多水平队友种群中选取一个样本玩家模型,分别对样本非玩家虚拟角色及所述样本玩家模型控制的样本玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述样本非玩家虚拟角色的第一样本状态特征,和所述样本玩家虚拟角色的第二样本状态特征;
基于所述第一样本状态特征与所述第二样本状态特征,获取所述样本非玩家虚拟角色从当前至本局游戏结束期间所获得第一累积奖励,以及所述样本非玩家虚拟角色协作所述样本玩家虚拟角色时,所述样本玩家虚拟角色从当前至本局游戏结束期间所获得第二累积奖励;
基于所述第一累积奖励与所述第二累积奖励,构建目标函数,并基于所述目标函数,对所述待训练的策略网络进行参数调整。
可选的,所述模型训练单元具体用于:
将所述第一状态特征输入价值网络,预测得到所述第一累积奖励;所述价值网络是以第一实际即时奖励作为样本标签,通过监督学习训练得到的;所述第一实际即时奖励表示:所述样本非玩家虚拟角色所获得的实际即时奖励;
将所述第一样本状态特征与所述第二样本状态特征进行融合,获得相应的样本状态融合特征,并将所述状态融合特征输入协作价值网络,预测得到所述第二累积奖励;所述协作价值网络是以第二实际即时奖励作为样本标签,通过监督学习训练得到的;所述第二实际即时奖励表示:基于所述样本非玩家虚拟角色协作所述样本玩家虚拟角色的情况下,所述样本玩家虚拟角色所获得的实际即时奖励。
可选的,所述模型训练单元还用于:
在所述基于所述第一累积奖励与所述第二累积奖励,构建目标函数之前,将所述样本状态融合特征输入所述待训练的策略网络,获得所述待训练的策略网络输出的样本目标动作;
则所述模型训练单元具体用于:
将所述样本非玩家虚拟角色在当前的游戏状态下执行所述样本目标动作后,至本局游戏结束期间的各第一实际即时奖励之和,与所述第一累积奖励之差,作为原始增益;
将所述样本非玩家虚拟角色在当前的游戏状态下执行所述样本目标动作后,至本局游戏结束期间的各第二实际即时奖励之和,与所述第二累积奖励之差,作为协作增益;
基于所述原始增益与所述协作增益之和,确定所述目标函数。
可选的,所述模型训练单元还用于:
在将所述样本状态融合特征输入所述待训练的策略网络之前,将所述第一样本状态特征输入胜负预测网络,获得相应的样本获胜概率,所述样本获胜概率为:所述样本非玩家虚拟角色与所述样本玩家虚拟角色所在阵营在本局游戏获胜的概率;
确定所述样本获胜概率以及所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离满足所述预设协作条件。
可选的,所述模型训练单元具体用于:
若所述样本获胜概率大于预设概率阈值,且所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离在预设距离范围内,则确定所述样本获胜概率以及所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离满足所述预设协作条件。
可选的,所述模型训练单元还用于通过如下方式构建得到所述多水平队友种群:
对于每个真实玩家,分别执行以下操作,获得所述真实玩家对应的样本玩家模型:
对于一个真实玩家,将所述真实玩家在当前的游戏状态信息输入已训练的宏观控制网络,获得所述宏观控制网络输出的位置信息;
基于操作延迟和采样扰动策略,确定所述真实玩家的技能信息;
基于所述位置信息和技能信息,构造所述真实玩家对应的样本玩家模型。
可选的,所述模型训练单元还用于通过如下方式训练得到所述已训练的宏观控制网络:
通过不同级别的真实玩家的游戏对局信息,构建训练样本集,所述训练样本集中的每个训练样本包括一个真实玩家的游戏状态信息和位置标签,所述位置标签表示所述一个真实玩家的真实位置信息;
从所述训练样本集中选取训练样本,对待训练的宏观控制网络进行循环迭代训练,获得所述已训练的宏观控制网络;其中,每次训练迭代训练都执行以下过程:
将选取的训练样本的游戏状态信息输入待训练的宏观控制网络,获得所述待训练的宏观控制网络输出的预测位置信息;
基于所述预测位置信息与所述位置标签之间的差异,对所述待训练的宏观控制网络进行参数调整。
可选的,若在本局游戏中,与所述非玩家虚拟角色同阵营的玩家虚拟角色有多个时,所述装置还包括角色确定单元,用于通过如下方式确定所述非玩家虚拟角色待协作的玩家虚拟角色:
获取与所述非玩家虚拟角色同阵营的多个玩家虚拟角色各自的身份信息;
基于获取的各个身份信息,以及预设的身份优先级顺序,从所述多个玩家虚拟角色中,确定所述非玩家虚拟角色待协作的玩家虚拟角色。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任意一种虚拟角色的控制方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行上述任意一种虚拟角色的控制方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行上述任意一种虚拟角色的控制方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种虚拟角色的控制方法、装置、电子设备和存储介质。具体的,本申请中非玩家虚拟角色待执行的动作,是根据非玩家虚拟角色以及该非玩家虚拟角色待协作的玩家虚拟角色在当前的游戏状态信息来进行预测的,可以充分保证针对非玩家虚拟角色的预测目标动作,更加贴合真实玩家的真实目标;并且,本申请在进行待执行的动作的预测前,还对本局游戏的获胜概率,以及非玩家虚拟角色与玩家虚拟角色之间的距离进行了分析,只有在上述概率和距离满足预设协作条件的情况下,才会基于状态融合特征进行动作预测,尽可能保证非玩家虚拟角色能够快速协作玩家虚拟角色,且在协作的情况下能够赢得比赛,进一步保证了虚拟角色协作真实玩家的有效性。综上,本申请提出了一种以人为中心的人机协作框架,保证非玩家虚拟角色能够主动协作真实玩家控制的玩家虚拟角色,在增强真实玩家游戏体验的同时,进一步提高虚拟角色控制的准确性和人机交互效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种应用场景的一个可选的示意图;
图2为本申请实施例中的一种虚拟角色的控制方法的实施流程图;
图3为本申请实施例中的一种真实玩家的游戏状态信息的示意图;
图4A为本申请实施例中的一种小地图中角色间距离示意图;
图4B为本申请实施例中的另一种小地图中角色间距离示意图;
图5为本申请实施例中的一种人类队友表征建模模块的逻辑示意图;
图6为本申请实施例中的一种多水平队友种群的构建流程示意图;
图7为本申请实施例中的一种多水平队友构建模块的逻辑示意图;
图8为本申请实施例中的一种宏观控制网络的训练流程示意图;
图9为本申请实施例中的一种策略网络的训练流程示意图;
图10为本申请实施例中的一种有效协作学习模块的逻辑示意图;
图11为本申请实施例中的一种以人为中心的人机协作框架的结构示意图;
图12为本申请实施例中的一种服务器与终端设备之间的交互逻辑示意图;
图13为本申请实施例中的一种虚拟角色的控制装置的组成结构示意图;
图14为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图15为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
玩家虚拟角色和非玩家虚拟角色:属于不同类型的游戏角色,是游戏中一项重要组成部分,能够基于操作指令推动游戏情节的发展。游戏角色是指虚拟环境中可活动的虚拟对象,该虚拟对象可以是虚拟人物、虚拟动物等,比如:在虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。
具体的,玩家虚拟角色指的是游戏中受真实玩家操纵的游戏角色,受控于真实玩家的操作指令,真实玩家能够控制玩家虚拟角色在虚拟环境中进行移动,例如,控制虚拟对象跑动、跳动、爬行、等,也能够控制玩家虚拟角色使用游戏端所提供的技能、虚拟道具等与非玩家虚拟角色或其他玩家虚拟角色进行合作或对战。一般情况下,玩家虚拟角色与同阵营的非玩家虚拟角色或其他玩家虚拟角色进行合作,与敌对阵营的非玩家虚拟角色或其他玩家虚拟角色进行对战。
非玩家虚拟角色指的是游戏中不受真实玩家操纵的游戏角色,也可以理解为,非玩家虚拟角色受控于虚拟玩家(具体是指计算机的人工智能,如智能体)的操作指令。例如,非玩家虚拟角色一般可由智能体控制,通过智能体处在不同的环境和状态采取不同的策略,控制非玩家虚拟角色在虚拟环境中进行移动,控制非玩家虚拟角色使用游戏端所提供的技能、虚拟道具等与其他非玩家虚拟角色或玩家虚拟角色进行合作或对战。一般情况下,非玩家虚拟角色与同阵营的其他非玩家虚拟角色或玩家虚拟角色进行合作,与敌对阵营的其他非玩家虚拟角色或玩家虚拟角色进行对战。
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真世界,也可以是半仿真半虚构的世界,还可以是纯虚构的世界。虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种,本申请对此不加以限定。
MOBA游戏:是一种在虚拟环境中提供若干个据点,处于不同阵营的游戏玩家控制游戏角色在虚拟环境中对战,占领据点或摧毁敌对阵营据点的游戏。例如,MOBA游戏可将游戏玩家分成两个敌对阵营,将游戏玩家控制的游戏角色分散在虚拟环境中互相竞争,以摧毁或占领敌方的全部据点作为胜利条件。MOBA游戏以局为单位,一局MOBA游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。
游戏状态信息:表示为游戏角色在当前游戏场景的状态信息,例如可以包括该游戏角色的技能状态信息、虚拟资源量信息、阵营信息、生命值信息等,本申请对此不加以限定。
预设协作条件:是本申请中新提出的一种,用于判断当前非玩家虚拟角色是否需要协助玩家虚拟角色。也即,本申请中的非玩家虚拟角色并非是必然要协助玩家虚拟角色的,而是在满足预设协作条件的前提下,才会控制非玩家虚拟角色去协助相应的玩家虚拟角色,在不满足预设协作条件的情况下,无需控制非玩家虚拟角色来协助相应的玩家虚拟角色,非玩家虚拟角色自行游戏即可。可选的,该预设协作条件是一种基于获胜概率和角色间距离确定的阈值条件。
奖励:具体分为即时奖励和累积奖励两大类。在强化学习(ReinforcementLearning,RL)中,智能体(学习者)的目标(purpose or goal)的形式化体现为奖励信号。在每一步,奖励信号是一个实数值信号,具体可分为即时奖励和累积奖励两大类,其中,即时奖励表示每一步行动后环境反馈给智能体的奖励,累积奖励则是从长期角度来看的累计的总体奖励。在游戏中,通常会设置一些奖励,引导智能体向着奖励更多的方向学习。
本申请实施例涉及人工智能(ArtificialIntelligence,AI)和机器学习技术,基于人工智能中的机器学习(MachineLearning,ML)而设计。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能是一门综合学科,涉及的领域广泛,既有硬件层面的技术,也有软件层面的技术。人工智能的基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作交互系统、机电一体化等技术;人工智能的软件技术一般包括计算机视觉技术、自然语言处理技术、以及机器学习/深度学习(Deep Learning,DL)等几大方向。随着人工智能的发展与进步,人工智能在多个领域中进行研究和应用,如常见的智能家居、智能客服、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、机器人、智能医疗等,相信随着未来技术的进一步发展,人工智能将在更多的领域中得到应用,发挥出越来越重要的价值。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,那么深度学习则是机器学习的核心,是实现机器学习的一种技术。机器学习通常包括深度学习、强化学习、迁移学习、归纳学习等技术,深度学习则包括移动视觉神经网络Mobilenet、卷积神经网络(Convolutional Neural Networks,CNN)、深度置信网络、递归神经网络、自动编码器、生成对抗网络等技术。
强化学习、深度学习等人工智能技术在游戏领域中具有广泛的应用。具体的,本申请涉及机器学习中的强化学习技术。强化学习,又称再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。
强化学习中,有一个Agent作为智能体,它根据策略π,在不同的环境状态s下选择相应的动作来执行,环境根据Agent的动作,反馈新的状态以及奖励,Agent又根据新的状态选择新的动作,这样不停的循环,直到游戏结束,便完成了eposide。在深度强化学习中,策略π是由神经网络构成,神经网络的参数为θ,因而策略网络也表示成πθ。
本申请实施例中,采用强化学习技术训练策略网络(可记作πθ),进而,基于该策略网络对非玩家虚拟角色在当前游戏状态下要执行的动作进行预测,以控制非玩家虚拟角色通过该动作去协作玩家虚拟角色。
下面对本申请实施例的设计思想进行简要介绍:
强化学习、深度学习等人工智能技术在游戏领域中具有广泛的应用。近年来,诸多游戏AI系统例如围棋AI AlphaGo、星际争霸AI AlphaStar、王者荣耀AI WuKong等被成功开发出,并且已经能够达到甚至战胜人类顶尖玩家。虽然这些游戏AI智能体的竞技能力越来越强,但是在与真实的人类玩家组队协作时,它们经常无视人类队友的行为和目标,甚至会做出一些不利于人类队友的行为,导致真实玩家的游戏体验较差。因此,如何进行有效的人机协作逐渐成为游戏AI领域一个重要且热门的研究方向。
而MOBA游戏,例如刀塔2(DOTA2)、英雄联盟、王者荣耀等,是一种多人协作竞争类游戏,天然适合研究人机协作问题。MOBA游戏AI人机协作问题的攻克,有助于探索解决真实世界中的人机协作问题。
目前人机协作领域的两种主流方法为:基于人类模型的人机协作方法和基于贝叶斯推断的人机协作方法。其中,在背景技术中对基于贝叶斯推断的人机协作方法进行了简单说。下面对基于人类模型的人机协作方法进行简单说明:该方法首先使用大量人类数据训练得到若干人类模型,然后在智能体的训练过程中,引入这些人类模型作为队友进行游戏,智能体在训练过程中不断学习与人类模型的有效协作行为,最终实现与真实玩家的有效协作。该方法训练得到的智能体在一些简单游戏中与真实玩家作为队友进行协作时能够具有良好的表现。但是,仍存在以下缺点:
(1)难以扩展到复杂的MOBA游戏。基于人类模型的人机协作方法直接让智能体与人类模型组队训练,缺少对人类模型的表征建模及协作建模,在复杂的MOBA游戏中无法实现有效协作。
(2)未对齐真实玩家的目标价值。基于人类模型的人机协作方法仅通过人类模型隐式的建模真实玩家的目标,没有显式的建模真实玩家的目标价值,容易导致智能体的价值观未与真实玩家对齐。
综上,目前人机协作领域并不适用于复杂MOBA游戏中的人机协作场景,仍存在控制不准确、交互效率不佳等较多的问题,无法实现有效的人机协作。
有鉴于此,本申请实施例提出了一种虚拟角色的控制方法、装置、电子设备和存储介质。具体的,本申请中非玩家虚拟角色待执行的动作,是根据非玩家虚拟角色以及该非玩家虚拟角色待协作的玩家虚拟角色在当前的游戏状态信息来进行预测的,可以充分保证针对非玩家虚拟角色的预测目标动作,更加贴合真实玩家的目标;并且,本申请在进行待执行的动作的预测前,还对本局游戏的获胜概率,以及非玩家虚拟角色与玩家虚拟角色之间的距离进行了分析,只有在上述概率和距离满足预设协作条件的情况下,才会基于状态融合特征进行动作预测,尽可能保证非玩家虚拟角色能够快速协作玩家虚拟角色,且在协作的情况下能够赢得比赛,进一步保证了虚拟角色协作真实玩家的有效性。综上,本申请提出了一种以人为中心的人机协作框架,保证非玩家虚拟角色能够主动协作真实玩家控制的玩家虚拟角色,在增强真实玩家游戏体验的同时,进一步提高虚拟角色控制的准确性和人机交互效率。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本申请实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有游戏相关的客户端,该客户端可以是软件(例如浏览器、游戏软件等),也可以是网页、小程序等,服务器120则是与软件或是网页、小程序等相对应的后台服务器,或者是专门用于进行游戏角色控制的服务器,本申请不做具体限定。服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请各实施例中的虚拟角色的控制方法可以由电子设备执行,该电子设备可以为终端设备110或者服务器120,即,该方法可以由终端设备110或者服务器120单独执行,也可以由终端设备110和服务器120共同执行。比如由服务器120单独执行时,服务器120分别对非玩家虚拟角色及该非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得非玩家虚拟角色的第一状态特征,和玩家虚拟角色的第二状态特征;进而,基于第一状态特征获得相应的预测获胜概率;若预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离满足预设协作条件,则基于第一状态特征和第二状态特征获得相应的状态融合特征;基于状态融合特征,获得非玩家虚拟角色待执行的预测目标动作,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。
此外,若预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离未满足预设协作条件,则基于第一状态特征,获得非玩家虚拟角色待执行的预测目标动作,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。
具体的,服务器120可每隔一段时间(比如66ms,对应游戏中的一帧),则执行一次上述控制过程,实现对非玩家虚拟角色的一次控制。
终端设备110具体用于呈现上述控制的相关过程及控制结果。
此外,当本申请实施例提供的方法由终端设备单独执行时,其执行方法与上述服务器单独执行的过程类似,主要是将服务器换成终端设备。另外,当由终端设备和服务器配合执行本申请实施例提供的方法时,需要体现在前端界面上的步骤可以由终端设备执行,而一些需要后台计算、无需体现在前端界面上的步骤可以由服务器执行。
在一种可选的实施方式中,终端设备110与服务器120之间可以通过通信网络进行通信。
在一种可选的实施方式中,通信网络是有线网络或无线网络。
需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当服务器的数量为多个时,多个服务器可组成为一区块链,而服务器为区块链上的节点;如本申请实施例所公开的虚拟角色的控制方法,其中所涉及的游戏相关数据可保存于区块链上,例如,游戏状态信息、获胜概率、预设协作条件、状态特征、状态融合特征、累积奖励、实际即时奖励、模型参数、游戏对局信息等。
此外,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等场景。
可以理解的是,在本申请的具体实现方式中,游戏状态信息、游戏对局信息、真实玩家的级别等数据有可能会涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的虚拟角色的控制方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2所示,为本申请实施例提供的一种虚拟角色的控制方法的实施流程图,以服务器为执行主体为例,该方法的具体实施流程如下S21~S24:
S21:服务器分别对非玩家虚拟角色及非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得非玩家虚拟角色的第一状态特征,和玩家虚拟角色的第二状态特征。
其中,本申请实施例中的游戏角色控制方法适用于MOBA游戏,此类游戏包括至少两个阵营,每个阵营包括至少两个游戏角色。具体的,各阵营所包含的游戏角色的数量可以相同也可以不同,本文不做具体限定。
在本申请实施例中,某一阵营中的游戏角色按照是否由真实玩家进行控制,分为如下两大类:无需真实玩家控制的虚拟角色,本文称作非玩家虚拟角色,也称AI角色;需要真实玩家控制的虚拟角色,本文称作玩家虚拟角色。
具体的,在游戏中,非玩家虚拟角色可以自动位移,并且可以自动释放技能等,无需真实玩家手动选择技能释放的位置,也无需真实玩家手动控制技能的释放,可以理解为非玩家虚拟角色是由智能体自动控制的,整个控制过程自动实现。
其中,S21中的非玩家虚拟角色即为本局游戏中,某一阵营中的一个AI角色,该非玩家虚拟角色所在阵营中还有至少一个队友,该队友可以是非玩家虚拟角色,也可以是玩家虚拟角色。由于本申请提出的是一种AI协作真实玩家的控制方法,因而,本申请实施例中的队友,应包含至少一个玩家虚拟角色,本文也称作是与该非玩家虚拟角色同阵营的玩家虚拟角色。
在本申请实施例中,每个非玩家虚拟角色在一局游戏中可固定协助一个玩家虚拟角色,也可随着时间的推移,灵活更换不同的玩家虚拟角色进行协助。另外,不同的非玩家虚拟角色可协助相同的玩家虚拟角色,也可协助不同的玩家虚拟角色,本文不做具体限定。
需要说明的是,上述所描述的“非玩家虚拟角色在一局游戏中可固定协助一个玩家虚拟角色”是指,在一局游戏内,非玩家虚拟角色若确定协助队友a,则不会更换协作其他队友b、c等。需注意的是,在非玩家虚拟角色固定协助队友a的过程中,具体需要看是否满足预设协作条件,若在当前时刻满足预设协作条件,则该非玩家虚拟角色则去协作队友a,若在当前时刻不满足预设协作条件,则该非玩家虚拟角色可以自行游戏(即自己打自己的)。
在本局游戏中,若一个非玩家虚拟角色所在阵营仅有一个玩家虚拟角色的情况下,该非玩家虚拟角色待协作的玩家虚拟角色,即为这一个玩家虚拟角色。
在本局游戏中,若一个非玩家虚拟角色所在阵营有多个玩家虚拟角色时,则可从这多个玩家虚拟角色中选择一个,作为该非玩家虚拟角色待协作的玩家虚拟角色。具体的筛选方式有很多种,如随机选择,或者根据玩家虚拟角色的战力水平选择,再或者根据玩家虚拟角色的身份信息选择,等等。
在根据玩家虚拟角色的身份信息选择时,概括来说,若非玩家虚拟角色所在阵营存在多个可协作的玩家虚拟角色时,可根据这些玩家虚拟角色的身份信息,从中选择一个战力水平更高的;或者是能够与非玩家虚拟角色的身份相匹配的等等。
在本申请实施例中,在根据身份信息选择时,一种可选的筛选方式如下:
首先,获取与该非玩家虚拟角色同阵营的多个玩家虚拟角色各自的身份信息;进而,基于获取的各个身份信息,以及预设的身份优先级顺序,从多个玩家虚拟角色中,确定该非玩家虚拟角色待协作的玩家虚拟角色。
其中,游戏角色的身份信息具体可以指游戏角色的类别、游戏角色在团战中所打的位置,或者是两者的结合等,本文不做具体限定。
需要说明的是,本申请对于游戏的类型不加以限定,例如可以为多人在线战术竞技游戏或多人射击游戏,具体根据实际需求进行选择。
以下以王者荣耀游戏为例,王者荣耀是一款著名的MOBA游戏,其由两个敌对的阵营在同一张对称地图上进行,一种玩法是5V5对战,在5V5模式下,两个阵营之间进行对抗,每个阵营由五名玩家组成,每个玩家控制一个游戏角色,游戏角色在游戏中表现为“英雄”,也即每个玩家控制一个英雄,先推掉对方水晶基地的一方为获胜方。
在MOBA游戏中,各阵营的玩家通过团队对抗、协作等方式争夺资源,目标是摧毁敌方阵营的水晶来赢得比赛需要5个英雄以合作的方式进行游戏。无论是在地图上的资源分配,还是团战中的操作,都需要5个英雄之间良好的配合。比如,上路、中路和下路的英雄需要在各自线路上发育,打野英雄则在野区发育,输出英雄需要在后排进行输出,辅助英雄需要在前排承受伤害,刺客英雄需要最后入场收割。
在王者荣耀游戏中,游戏角色的身份信息可表示为游戏角色所属的类别,王者荣耀目前共有六种类别,分别是坦克、战士、刺客、法师、射手和辅助。游戏玩家可根据自己的爱好、擅长或者团队的需求等选择游戏角色的类别。
此外,游戏角色的身份信息还可表示为游戏角色所打的位置,比如上述所列举的上路、中路、下路、打野、辅助等。
在本申请实施例中,上述身份优先级是预先设定的,如,可根据不同身份的游戏角色在团战中所起到的作用的重要程度,来设置身份优先级。重要程度越高,身份优先级越靠前,以便非玩家虚拟角色对这类玩家虚拟角色进行优先协助。
例如,预先设定的一种身份优先级为:射手>法师>上单>打野。
在5V5模式中,假设某个非玩家虚拟角色所在阵营有1个非玩家虚拟角色(AI角色)和4个玩家虚拟角色时,对于该非玩家虚拟角色而言,可按照身份优先级,从这4个可协作的玩家虚拟角色中优先选择射手身份的玩家虚拟角色,作为当前待协作的玩家虚拟角色。以非玩家虚拟角色在一局游戏内固定协助相应待协作的玩家虚拟角色为例,具体可划分为如下几种情况:
情况一、上述4个玩家虚拟角色中不存在射手。
假设这4个玩家虚拟角色分别记作角色A、角色B、角色C和角色D。在不存在射手的情况下,继续查看这4个玩家虚拟角色中是否存在法师,比如角色B为法师,则确定该非玩家虚拟角色当前待协作的玩家虚拟角色为角色B。
若不存在法师,则继续查看是否存在上单,…,依此类推即可。
一般情况下,这4个玩家虚拟角色中必然存在上述至少一种身份的游戏角色;若都不存在,则在这4个玩家虚拟角色中随机选择一个作为该非玩家虚拟角色当前待协作的玩家虚拟角色;又或者选择当前距离该非玩家虚拟角色最近的一个作为该非玩家虚拟角色当前待协作的玩家虚拟角色;再或者不做选择,即确定当前该非玩家虚拟角色无需协作其他的队友,自行游戏;等等。
情况二、上述4个玩家虚拟角色中仅存在一个射手。
假设这4个玩家虚拟角色分别记作角色A、角色B、角色C和角色D,其中,角色A为射手,则可确定该非玩家虚拟角色当前待协作的玩家虚拟角色为角色A。
在这一局游戏内,该非玩家虚拟角色就固定只协作射手-角色A,若角色A与该非玩家虚拟角色之间的距离不在预设距离范围内的话,该非玩家虚拟角色也无需协作其他的队友,自行游戏即可。
情况三、上述4个玩家虚拟角色中存在多个射手。
也即,非玩家虚拟角色可协作的同一优先级的玩家虚拟角色有多个时,可随机选一个协作,也可根据距离选择(如优先选择距离更近的),再或者根据队友当前的游戏状态选择(如优先选择当前血量更高/更低的),等等,本文不做具体限定。
例如,这4个玩家虚拟角色分别记作角色A、角色B、角色C和角色D,其中,角色C和角色D为射手,则可随机选择角色D,作为该非玩家虚拟角色当前待协作的玩家虚拟角色。
需要说明的是,上述是以非玩家虚拟角色所在阵营中仅存在一个虚拟角色为例的,若存在多个虚拟角色时,每个虚拟角色都可按照上述任意一种方式,来确定各自对应的待协作的玩家虚拟角色。
例如,不管有几个AI角色,每个AI角色都可按照上述所列举的身份优先级协作玩家虚拟角色,比如3个AI角色和2个玩家虚拟角色,这两个玩家虚拟角色分别玩射手和法师时,这3个AI角色都可只协作射手。
再或者,还可按照身份优先级以及各类游戏角色的数量,在AI角色较多的情况下,也可设置身份优先级更高的玩家虚拟角色获得部分AI角色的协助,而身份优先级较低的玩家虚拟角色获得另一部分AI角色的协助,且协助身份优先级更高的玩家虚拟角色的AI角色的数量也更多一些,比如,2个AI角色协作射手,一个AI角色协作法师,等等,本文不做具体限定。
在上述实施方式中,基于游戏角色的身份优先级来进行玩家虚拟角色的筛选,可保证非玩家虚拟角色优先辅助在团战中身份更为重要的玩家虚拟角色,以提高游戏获胜的概率。
需要说明的是,上述所列举的几种确定非玩家虚拟角色待协作的玩家虚拟角色的方式只是简单示例,实际上,任何一种确定方式都适用于本申请实施例,本文不做具体限定。
在本申请实施例中,任意一个游戏角色的游戏状态信息表示为该游戏角色在当前游戏场景的状态信息,例如可以包括该游戏角色的技能状态信息、虚拟资源量信息、阵营信息、生命值信息等,本申请对此不加以限定。
例如,在王者荣耀游戏中,游戏状态信息包括但不限于:血量、击杀数、死亡数、经济、经济占比、装备、段位水平等。
参阅图3所示,其为本申请实施例中的一种真实玩家的游戏状态信息的示意图。在本申请实施例中,真实玩家控制的玩家虚拟角色的游戏状态信息可通过图3所示的几种游戏数据来确定,其中,图3所示的第一种游戏数据可确定该真实玩家所使用的英雄、英雄当前的血量等,第二种游戏数据可确定击杀数、死亡数、装备、经济等。
同理,非玩家虚拟角色的游戏状态信息也是类似的表示方式,在此不再一一赘述。
此外需要说明的是,图3所列举的游戏状态信息只是简单示例,本文不做具体限定。
在本申请实施例中,可基于全连接神经网络,将游戏状态信息表示为机器学习模型/网络可处理的状态特征。
也即,本申请中的第一状态特征、第二状态特征,以及下文中的第一样本状态特征、第二样本状态特征,可通过全连接神经网络进行特征提取得到。
此外,除全连接神经网络外,也可以使用其他网络结构例如Transformer等,本文不做具体限定。
S22:服务器基于第一状态特征获得相应的预测获胜概率。
其中,预测获胜概率为:非玩家虚拟角色与玩家虚拟角色所在阵营在本局游戏获胜的概率。
在本申请实施例中,预测获胜概率可基于胜负预测网络(也称胜负预测器)进行预测,一种可选的实施方式如下:
将第一状态特征输入胜负预测网络,获得该胜负预测网络输出的预测获胜概率。
具体的,该预测获胜概率表示非玩家虚拟角色在当前游戏状态下,其所在阵营在本局游戏中获胜的概率,在该概率较大的情况下,非玩家虚拟角色可以协助玩家虚拟角色,以便提高游戏获胜的概率、更快获得游戏的胜利;而在该概率较小的情况下,表示本局游戏获胜概率不大,非玩家虚拟角色无需协助队友。因而本申请还参考该概率,来确定非玩家虚拟角色是否需要协助待协作的玩家虚拟角色,具体实现方式如S23~S24:
S23:若预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离满足预设协作条件,则服务器基于第一状态特征和第二状态特征获得相应的状态融合特征。
在本申请实施例中,除了分析预测获胜概率是否满足预设协作条件外,还需进一步分析角色之间的距离,在非玩家虚拟角色与玩家虚拟角色距离较远的情况下,由非玩家虚拟角色协作玩家虚拟角色所起到的作用可能不大。
因而,在该步骤中,分析上述预测获胜概率及角色之间的距离是否满足预设协作条件时,一种可选的实施方式如下:
若预测获胜概率大于预设概率阈值,且非玩家虚拟角色与玩家虚拟角色之间的距离在预设距离范围内,则确定预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离满足预设协作条件。
具体的,该预设协作条件是一种基于获胜概率和角色间距离确定的阈值条件。
例如,设置预设概率阈值为0.5,当预测获胜概率大于0.5时,即表示本局游戏获胜的概率要高于输的概率;当预测获胜概率小于0.5时,即表示本局游戏获胜的概率要低于输的概率;当预测获胜概率等于0.5时,即表示本局游戏获胜的概率与输的概率相同。
此外,本申请还可通过设置人类标志位f,来表示非玩家虚拟角色与玩家虚拟角色之间的距离是否在预设距离范围内。具体的,在范围内时f=1,在范围外时f=0。
参阅图4A所示,其为本申请实施例中的一种小地图中角色间距离示意图。
小地图是常置于电脑游戏与电子游戏屏幕边角,辅助玩家确定他们在游戏世界中位置的地图。小地图中需要显示的要素一般因游戏类型而异,通常为玩家角色、周围地形、盟军单位或结构、敌人、重要低点或道具等。
如图4A所示的小地图中,显示了各个游戏角色在游戏地图中的实时位置,其中,圆形虚线圈中心位置的游戏角色为一个非玩家虚拟角色,矩形虚线框中的游戏角色为该非玩家虚拟角色待协作的玩家虚拟角色。
以预设距离范围为以所述非玩家虚拟角色为中心的一个半径为r的圆形区域范围为例(r的取值可根据实际需求灵活设置,可以是任意正数),图4A所示的该玩家虚拟角色位于该圆形虚线圈内,也即非玩家虚拟角色与玩家虚拟角色之间的距离在预设距离范围内。
参阅图4B所示,其为本申请实施例中的又一种小地图中角色间距离示意图。同图4A类似,图4B即表示非玩家虚拟角色与玩家虚拟角色之间的距离不在预设距离范围内。
需要说明的是,图4A或图4B所列举的分析距离的方式只是简单举例,预设距离范围除上述所列举的圆形区域范围外,也可以是矩形区域范围等,本文不做具体限定。
在本申请实施例中,提出了人类队友表征建模模块,该模块通过真实玩家当前的游戏状态信息来提取表征(即第二状态特征),并通过标志位来控制非玩家虚拟角色是否要与真实玩家控制的玩家虚拟角色(可简称真实玩家)进行协作。
参阅图5所示,其为本申请实施例中的一种人类队友表征建模模块的逻辑示意图。图5中的人类标志位f,即表示非玩家虚拟角色与玩家虚拟角色之间的距离是否在预设距离范围内。在范围内时f=1,在范围外时f=0。而k=sh表示真实玩家当前的游戏状态信息,通过特征提取可表示为第二状态特征。
概括来说,人类队友表征建模模块通过真实玩家游戏当前的状态信息来提取表征,并通过人类标志位来表示非玩家虚拟角色与玩家虚拟角色之间的距离是否在预设距离范围内,以便后续控制是否要与真实玩家进行协作。
在本申请实施例中,若预测获胜概率不大于预设概率阈值,或者,非玩家虚拟角色与待协作的玩家虚拟角色之间的距离不在预设距离范围内,则可确定预测获胜概率以及非玩家虚拟角色与待协作的玩家虚拟角色之间的距离,不满足预设协作条件。
本申请中,在确定预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离,不满足预设协作条件的情况下,则无需对第一状态特征和第二状态特征进行特征融合,直接基于非玩家虚拟角色自身的第一状态特征,确定待执行的预测目标动作,并控制非玩家虚拟角色基于该预测目标动作自行游戏,也即,当前不协作玩家虚拟角色,随着时间的推迟,之后的预测周期还可能会再次协作,本文不做具体限定。
本申请中,在确定预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离,同时满足预设协作条件的情况下,则可对第一状态特征和第二状态特征进行特征融合,具体的,可通过简单的特征拼接(concat)来进行特征融合,还可通过其他方式进行特征融合。例如,将第一状态特征和第二状态特征输入长短期记忆网络(Long Short-TermMemory,LSTM),基于该LSTM,对非玩家虚拟角色的第一状态特征和玩家虚拟角色的第二状态特征进行特征融合,获得相应的状态融合特征。该状态融合特征是一个同时包含非玩家虚拟角色和其即将要协作的玩家虚拟角色的当前游戏状态信息的特征向量或矩阵。
需要说明的是,在进行模型/网络训练时,对第一样本状态特征和第二样本状态特征进行特征融合时,也可采用上述所列举的任意一种特征融合方式,或是采用其他特征融合方式,本文不做具体限定。
S24:服务器基于状态融合特征,获得非玩家虚拟角色待执行的预测目标动作,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。
其中,对于游戏角色的动作预测,具体是指预测游戏角色在接下来一定时间内要所采取的动作,包括但不限于下列的部分或全部:移动的位置信息(把控移动方向、移动距离等)、所需要释放的技能信息(包括释放技能的类别、释放技能的频率、准确度、释放技能的攻击目标等)。
在本申请实施例中,服务器可每隔一段时间(比如66ms,对应游戏中的一帧),则执行一次上述S21~S24所述控制过程,实现对非玩家虚拟角色的一次控制。上述66ms可记作一个预测周期,除此之外,预测周期也可设置为其他时长,具体可根据实际需求而定,本文不做具体限定。
例如,以上述所列举的66ms作为时刻划分的步长的话,时刻是在游戏中是某一帧,每个66ms属于一个时刻,下一个66ms就是下一时刻。
在当前66ms内,服务器预测完针对非玩家虚拟角色的预测目标动作后,会立即发给游戏gamecore去执行。由于本申请实施例中的方法,预测速度很快,因而,只要在该66ms内执行,都可以理解为在当前时刻内,基于目标虚拟橘色和待协作的玩家虚拟角色的当前游戏状态信息进行动作预测,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。
由于本申请以真实玩家控制的玩家虚拟角色为中心,结合玩家虚拟角色和非玩家虚拟角色的当前游戏状态,对非玩家虚拟角色进行动作预测,以通过非玩家虚拟角色协助玩家虚拟角色,有效提高了虚拟角色控制的准确性和人机交互效率。
在本申请实施例中,对非玩家虚拟角色的动作预测,可以基于已训练的策略网络来实现,该方式下,一种可选的实施方式为:
将状态融合特征输入已训练的策略网络,获得该策略网络输出的预测目标动作。
可选的,本申请实施例中的策略网络可通过强化学习训练得到,在该训练过程,需要用到人类模型,来模拟不同战力水平的真实玩家,进而,以这些人类模型作为训练样本数据,对智能体进行动作预测。
具体的,本申请中用于训练策略网络的样本为多水平队友种群,该多水平队友种群包括不同战力水平的样本玩家模型(也即人类模型)。
其中,战力指MOBA游戏中的游戏角色的战斗力。游戏角色的战斗力可能同时与多个因素有关:游戏角色的角色等级、已拥有的技能数量、已拥有的技能种类、已拥有的技能等级、已拥有的装备数量、已拥有的装备种类、已拥有的装备等级、已拥有的BUFF种类和数量中的至少一种。其中,BUFF是作用在游戏角色上的增益魔法效果。通常,该BUFF效果是控制游戏角色击杀中立生物来获取到的。
在本申请实施例中,每个样本玩家模型可以理解为是一种基于AI模型构建的人类模型,用于模拟不同战力水平的真实玩家。在本申请实施例中,以这些样本玩家模型作为训练样本数据,对智能体进行动作预测,并基于智能体的累积奖励与智能体协作人类模型所获得的累积奖励,构建目标损失。
考虑到策略网络的训练目标是最大化累积奖励,则通过上述目标损失计算用于表示前述累积奖励的损失,以迭代训练策略网络的模型参数直至模型收敛,该模型收敛表示损失不再下降或者达到预设迭代次数,将训练完成的策略网络,作为已训练的策略网络。
下面首先对多水平队友种群的构建过程进行详细说明。
本申请考虑到,在MOBA游戏中玩家的操作通常可以分为两个层次:宏观策略和微操策略。其中,宏观策略表示不同水平玩家在当前局势下未来一段时间的操作意图,不同水平的玩家宏观策略差异较大。微操策略表示不同水平玩家在战斗时的操作频率的技能释放准确度,不同水平的玩家操作频率不同,且技能释放准确度也有较大差异。
不同宏观策略和微操策略的组合对应不同水平的真实玩家。因此,本申请在构建多水平队友种群时,也采用宏观水平加微操水平的方式来构造不同水平的人类模型,以提升智能体在面对不同真实玩家时的泛化能力。
一种可选的实施方式为,通过如下方式构建多水平队友种群:
参阅图6所示,其为本申请实施例中的一种多水平队友种群的构建流程示意图,对于每个真实玩家,分别执行以下操作S61~S63,获得真实玩家对应的至少一个样本玩家模型:
S61:对于一个真实玩家,将真实玩家在当前的游戏状态信息输入已训练的宏观控制网络,获得宏观控制网络输出的位置信息。
在本申请实施例中,将真实玩家的操作意图转化为位置信息,并将王者荣耀5V5地图均匀划分为12×12共144个格子,每个格子表示操作意图对应的位置。
上述宏观控制网络可通过监督学习方法训练得到宏观控制网络,是一种多水平宏观策略控制模型,该模型的输入为真实玩家当前的游戏状态信息,输出为该真实玩家的操作意图(即位置信息)。
需要说明的是,游戏中地图的划分不局限于12×12,也可以有其他大小的划分,例如10×10、13×13、10×15等等,具体根据实际情况而定,本文不再一一赘述。
S62:基于操作延迟和采样扰动策略,确定真实玩家的技能信息。
其中,技能信息包括但不限于技能操作频率、技能释放准确度。
在本申请实施例中,可通过操作延迟和采样扰动两种方式来模拟不同水平真实玩家的微操策略。其中,操作延迟表示不同的操作频率,延迟越高,操作频率越低,对应真实玩家水平越低。采样扰动表示技能释放准确度,采样扰动越大,技能释放准确度越低,对应真实玩家水平越低。
需要说明的是,多水平队友种群构建时,微操策略不局限于操作延迟和采样扰动,还可以采用其他方式,例如决策频率,具体可根据实际情况而定,本文不再一一赘述。
S63:基于位置信息和技能信息,构造真实玩家对应的样本玩家模型。
相比于普通的AI模型,基于图6所述的方式所构造的人类模型,能根据不同水平,输出当前时刻应该去哪个位置(如移动方向、移动距离等)。并且,本申请基于人类模型的输出加上操作延迟和采样扰动,来让人类模型的输出动作达到不同水平的目标。
参阅图7所示,其为本申请实施例中的一种多水平队友构建模块的逻辑示意图。图7中的多水平宏观策略控制模型,即本文中的宏观控制网络。
该多水平队友构建模块与图6所示的构建流程相对应,将人类模型的构建,划分为宏观水平和微操水平两大方向。在实际应用中,通过宏观水平和微操水平构造得到不同水平的人类模型,来模拟智能体在真实场景中可能遇到的人类队友。
具体地,图7中宏观水平所列举的多水平宏观策略控制模型,是一种宏观控制网络,该宏观控制网络可用于对不同段位水平(如图7中所列举的王者、星耀、铂金)的真实玩家进行位置信息的预测,在此基础上,再进一步通过操作延迟和采样扰动,构建不同战力水平的人类模型,组成多水平队友种群。
也即,本申请实施例中所构建的不同战力水平的人类模型,所对应的操作意图可以不同,对技能的操作频率、释放准确度等也可以不同。
在上述实施方式中,通过宏观水平和微操水平两个层面来构建不同水平的真实玩家,以使得模拟的人类模型更具真实性,且更为全面丰富,为后期策略网络的训练提供更为丰富准确的样本数据。
其中,宏观控制网络的一种可选的训练方式如下,按照如图8所示的流程,训练得到已训练的宏观控制网络。
参阅图8所示,其为本申请实施例中的一种宏观控制网络的训练流程示意图,包括如下步骤S81~S82:
S81:通过不同级别的真实玩家的游戏对局信息,构建训练样本集。
其中,训练样本集中的每个训练样本包括一个真实玩家的游戏状态信息和位置标签,位置标签表示一个真实玩家的真实位置信息。
在本申请实施例中,可通过历史游戏对局的游戏回放文件获取到游戏对局的游戏数据,该游戏回放文件例如包括游戏内置的类型文件,用于记录玩家在游戏过程中的操作;其可以通过游戏内置引擎辅助,利用相应的解压缩功能将游戏回放文件进行转换,得到游戏数据。该游戏数据包括玩家的多个操作分别对应的游戏状态信息和真实位置信息。其中,真实位置信息可作为位置标签。
具体的,可从五种不同段位水平(荣耀王者、最强王者、星耀、钻石、铂金)的真实玩家对局中抽取相关信息,构造数据集{(状态,位置)},其中状态即游戏状态信息(包含当前玩家的段位水平),位置即位置标签。
需要说明的是,本申请实施例中游戏玩家的段位水平的抽取不局限于上述五种,还可以是其他段位水平,并且,不同游戏所对应的段位水平的划分也不一定相同,具体根据实际情况而定,本文不做具体限定。
此外,游戏数据还可以包括游戏过程中的视频数据,可以对该视频数据进行处理,从中获取所需要的信息,信息的具体类型与模型所需要的输入信息相关,可以根据不同游戏智能体所需要的输入数据确定,本文不做具体限定。
本申请用采用监督学习方法使用该数据集训练多水平宏观策略控制模型。该模型输入玩家当前状态信息,预测该玩家的操作意图,具体的监督学习过程如下S82:
S82:从训练样本集中选取训练样本,对待训练的宏观控制网络进行循环迭代训练,获得已训练的宏观控制网络。
其中,每次训练迭代训练都执行以下过程S821~S822:
S821:将选取的训练样本的游戏状态信息输入待训练的宏观控制网络,获得待训练的宏观控制网络输出的预测位置信息。
S822:基于预测位置信息与位置标签之间的差异,对待训练的宏观控制网络进行参数调整。
在本申请实施例中,该宏观控制网络可输出基于输入的当前游戏状态信息预测出的预测位置信息,进而基于该预测位置信息与当前对应的实际的位置标签之间的差异,构建损失函数。
考虑到宏观控制网络的训练目标是最小化模型输出的预测位置信息与实际的位置标签之间的差异,则基于表征该差异的损失函数,迭代训练宏观控制网络的模型参数直至模型收敛,该模型收敛表示损失不再下降或者达到预设迭代次数,将训练完成的宏观控制网络,作为已训练的宏观控制网络。
在上述实施方式中,基于宏观控制网络来预测位置信息,保证基于此构建的人类模型更具真实性。
需要说明的是,本申请实施例中多水平队友种群的构建不局限于上述图7所设计的这种方式,也可以考虑用行为克隆(Behavior Cloning,BC)或监督学习等方法训练得到若干人类模型。
在通过上述方式构建多水平队友种群后,该多水平队友种群包含不同水平的人类模型,这些人类模型能够模拟真实游戏中不同水平的真实玩家,因而可利用构建得到的多水平队友种群,来采样得到不同水平的人类模型与智能体组队进行游戏。
一种可选的训练方式如下,按照如图9所示的流程,通过强化学习方式训练策略网络。
参阅图9所示,其为本申请实施例中的一种策略网络的训练流程示意图。
具体的,基于预先构建的多水平队友种群,对待训练的策略网络进行循环迭代训练,获得已训练的策略网络;多水平队友种群包括不同战力水平的样本玩家模型;其中,每次循环迭代训练都执行以下过程S91~S93:
S91:从多水平队友种群中选取一个样本玩家模型,分别对样本非玩家虚拟角色及样本玩家模型控制的样本玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得样本非玩家虚拟角色的第一样本状态特征,和样本玩家虚拟角色的第二样本状态特征。
具体的,所选取的样本玩家模型控制的样本玩家虚拟角色,作为样本非玩家虚拟角色的队友,样本非玩家虚拟角色可协作该样本玩家虚拟角色。也即,在每次游戏过程中,从构造得到的多水平队友种群中随机选择一个人类模型与智能体组队进行游戏。
其次,根据不同游戏时刻智能体所控制的样本非玩家虚拟角色(为简化描述,也可简称为智能体)的游戏状态信息,例如:击杀数、死亡数、经济、经济占比等,提取出智能体自身的状态表征,也即本申请实施例中的第一样本状态特征。以及,根据不同游戏时刻人类模型所控制的样本玩家虚拟角色(为简化描述,也可简称为人类模型)的游戏状态信息,例如击杀数、死亡数、经济、经济占比等,提取出人类模型的状态表征,也即本申请实施例中的第二样本状态特征。
对于每个游戏时刻,通过人类标志位以及获胜概率的预测结果,控制是否将当前人类模型的第二样本状态特征与智能体的第一样本状态特征进行融合。
概括来说,本申请中的第一样本状态特征,同上述所列举的第一状态特征相类似,区别仅在于,第一状态特征是针对策略网络的实际应用过程中,非玩家虚拟角色而言的;而第一样本状态特征则是针对策略网络的模型训练过程中,样本非玩家虚拟角色而言的。
也即,本文中的第一样本状态特征和第二样本状态,也可以采用上述所列举的全连接神经网络或是其他网络结构进行特征提取得到。
S92:基于第一样本状态特征与第二样本状态特征,获取样本非玩家虚拟角色从当前至本局游戏结束期间所获得第一累积奖励,以及样本非玩家虚拟角色协作样本玩家虚拟角色时,样本玩家虚拟角色从当前至本局游戏结束期间所获得第二累积奖励。
其中,累积奖励表示一段时间内奖励的累积值,在这一段时间内,游戏角色可执行一个或多个动作,每个动作的执行,都会获得一定的即时奖励,这些即时奖励累计得到的即为累积奖励。
以王者荣耀这一游戏为例,包括但不限于以下五类奖励:
1、发育奖励:经济、经验、法力、打野的奖励,以及原地不动的惩罚;
2、战绩奖励:击杀、死亡、助攻、补刀、拿龙以及点亮地方视野的奖励;
3、伤害奖励:自身血量损伤、对敌方英雄造成的伤害;
4、推塔奖励:对敌方防御塔和水晶造成伤的伤害;
5、输赢奖励:摧毁敌方水晶奖励。
比如,智能体执行某动作后,击杀了1个敌人,则可获得相应的战绩奖励;推掉了一个敌方防御塔,则可获得相应的推搭奖励,等等,但是执行该动作后并未结束本局游戏,则不考虑相应的输赢奖励。
需要说明的是,本申请实施例中游戏角色所获得的奖励不局限于设计的击杀、死亡、血量、伤害占比等,也可以有其他奖励,不同游戏所对应的奖励也不相同,具体根据实际情况而定,本文不再一一赘述。
在本申请实施例中,对于累积奖励的计算,则分别考虑了智能体自身从当前至本局游戏结束期间所获得累积奖励(即第一累积奖励),以及智能体协作样本玩家虚拟角色的情况下,样本玩家虚拟角色从当前至本局游戏结束期间所获得累积奖励(即第二累积奖励)。
本申请考虑到实现智能体有效协作真实玩家的关键在于智能体在优化过程中需要引入真实玩家的价值观,因而提出了基于协作价值网络预测第二累积奖励,结合第二累积奖励构建目标函数的训练方式。
可选的,按照如下所示的流程图实施S92,包括以下步骤S921~S922:
S921:将第一状态特征输入价值网络,预测得到第一累积奖励。
其中,价值网络是以第一实际即时奖励作为样本标签,通过监督学习训练得到的;第一实际即时奖励表示:样本非玩家虚拟角色所获得的实际即时奖励。
S922:将第一样本状态特征与第二样本状态特征进行融合,获得相应的样本状态融合特征,并将状态融合特征输入协作价值网络,预测得到第二累积奖励。
其中,协作价值网络是以第二实际即时奖励作为样本标签,通过监督学习训练得到的;第二实际即时奖励表示:基于样本非玩家虚拟角色协作样本玩家虚拟角色的情况下,样本玩家虚拟角色所获得的实际即时奖励。
在本申请实施例中,价值网络和协作价值网络本质相同,都是用于预测游戏角色所获得的累积奖励的。区别在于,价值网络用于预测样本非玩家虚拟角色所获得的累积奖励;协作价值网络用于预测样本玩家虚拟角色所获得的累积奖励。
上述两种价值网络都可通过监督学习的方式训练得到,其中,价值网络主要用于对虚拟角色进行累积奖励预测,因而样本标签为样本非玩家虚拟角色实际获得的即时奖励(即第一实际即时奖励),具体的,可将样本非玩家虚拟角色在各局(历史)游戏中的动作及对应的即时奖励按照时刻(也即上述所列举的帧)进行划分;如果某一局游戏可划分为n个时刻,则样本非玩家虚拟角色可对应有n组第一样本数据,每组第一样本数据包括一个时刻下样本非玩家虚拟角色的游戏状态信息和该时刻的第一实际即时奖励;如果某一局游戏可划分为m个时刻,则样本非玩家虚拟角色可对应有m组第一样本数据,等等,依此类推即可。
在基于上述第一样本数据对价值网络进行监督学习后,则可通过价值网络预测针对样本非玩家虚拟角色的第一累积奖励。
协作价值网络主要用于对虚拟角色的队友角色进行累积奖励预测,因而样本标签为样本非玩家虚拟角色协作样本玩家虚拟角色的情况下,样本玩家虚拟角色实际获得的即时奖励(即第二实际即时奖励),同理,可将样本玩家虚拟角色在各局历史游戏中的动作及对应的即时奖励按照时刻(也即上述所列举的帧)进行划分,如果某一局游戏可划分为n个时刻,则样本玩家虚拟角色可对应有n组第二样本数据,每组第二样本数据包括一个时刻下样本玩家虚拟角色的游戏状态信息和该时刻的第二实际即时奖励;如果某一局游戏可划分为m个时刻,则样本玩家虚拟角色可对应有m组第二样本数据,等等,依此类推即可。
基于上述第二样本数据对协作价值网络进行监督学习后,则可通过协作价值网络预测针对样本玩家虚拟角色的第二累积奖励,也即真实玩家被智能体协作后预期能获得的累积奖励。
S93:基于第一累积奖励与第二累积奖励,构建目标函数,并基于目标函数,对待训练的策略网络进行参数调整。
在获取上述第一累积奖励与第二累积奖励后,则可以基于这两个累积奖励构造目标函数,通过最大化目标函数对策略网络进行参数调整。
可选的,本申请实施例中的目标函数为基于第一累积奖励和第二累积奖励确定的混合增益,因而在基于第一累积奖励与第二累积奖励,构建目标函数之前,还需将样本状态融合特征输入待训练的策略网络,获得待训练的策略网络输出的样本目标动作。
进而,将样本非玩家虚拟角色在当前的游戏状态下执行样本目标动作后,至本局游戏结束期间的各第一实际即时奖励之和,与第一累积奖励之差,作为原始增益;将样本非玩家虚拟角色在当前的游戏状态下执行样本目标动作后,至本局游戏结束期间的各第二实际即时奖励之和,与第二累积奖励之差,作为协作增益。
最后,基于原始增益与协作增益之和,确定目标函数。
参阅图10所示,其为本申请实施例中的一种有效协作学习模块的逻辑示意图。其中,策略网络输入当前样本非玩家虚拟角色的第一样本状态特征和样本玩家虚拟角色的第二样本状态特征的融合结果,可记作样本状态融合特征,输出预测的预测样本动作用于执行;价值网络输入当前的第一样本状态特征,输出预测的样本非玩家虚拟角色的未来累积奖励(即第一累积奖励);协作价值网络输入当前的样本状态融合特征,输出预测的样本玩家虚拟角色的未来累积奖励(即第二累积奖励)。
如图10所示,本申请用智能体当前时刻获得的实际即时奖励Rwin(即第一实际即时奖励,也即图10中的“智能体奖励”)训练价值网络Vwin,该价值网络预测的第一累积奖励也可记作Vwin;本申请用样本玩家虚拟角色当前时刻获得的实际即时奖励Rk(即第二实际即时奖励,也即图10中的“人类获得奖励”)训练协作价值网络Vk,该协作价值网络预测的第二累积奖励也可记作Vk。
具体地,本申请实施例中的累积奖励,是指本局游戏从当前时刻到游戏结束期间每一帧所获得奖励的累积,且上述Vwin、Vk是预测的累积奖励的期望值。
因而,本申请可基于协作价值网络的输出计算得到智能体协作人类的协作增益,Ak即表示:当前状态样本非玩家虚拟角色执行动作a后,样本玩家虚拟角色获得的实际未来累积奖励/>,与当前状态下协作价值网络预测的第二累积奖励之差。
同理,本申请可基于价值网络的输出计算得到智能体自身的原始增益,原始增益Awin即表示:当前状态样本非玩家虚拟角色执行动作a后所获得的实际未来累积奖励/>,与当前状态下价值网络预测的第一累积奖励之差。
进而将Ak与Awin相结合,得到混合增益Ak+Awin,最后用该混合增益训练智能体的策略网络。
在本申请实施例中,智能体的策略和价值通过最大化以人为中心的协作目标函数(即混合增益)进行优化,目标函数可表示为:
其中,策略网络π是由神经网络构成,神经网络的参数为θ,因而策略网络也表示成πθ,Jθ为目标函数,为本文原始增益的另一种表示形式,/>为本文协作增益的另一种表示形式;其中,si表示智能体i当前的游戏状态信息,k表示人类模型当前的游戏状态信息,ai表示智能体当前所对应的预测样本动作。
具体的优化算法包括但不限于:最近策略优化(Proximal Policy Optimization,PPO)算法、深度确定下策略梯度(Deep Deterministic Policy Gradient,DDPG)算法、异步优势因素标准(Asynchronous Advantage Actor-Critic,A3C)算法等。
此外,本申请实施例中的协作价值网络、价值网络也可采用上述优化算法进行强化学习训练,本文不做具体限定。
此外,本申请还考虑到在训练过程中,智能体协作人类的行为可能会导致整体对局输掉(胜率降低),因为人类的意图和目标可能不是最优的,甚至可能不利于游戏胜率,而在这种情况下,智能体协作人类可能会导致胜率降低。
因此,本申请还进一步在有效协作学习模块中引入一个胜负预测器,来控制智能体是否需要协作人类,该胜负预测器输入智能体当前的状态表征,输出当前对局输赢的概率。当赢游戏的概率更高时,才允许智能体协作人类。当输游戏的概率更高时,智能体不需要协作人类。具体的,可以在框架中设置一个协作门来控制智能体是否应该协作人类,如图10中的协作门g。
基于此,一种可选的实施方式为:在将样本状态融合特征输入待训练的策略网络之前,还需要将第一样本状态特征输入胜负预测网络,获得相应的样本获胜概率,样本获胜概率为:样本非玩家虚拟角色与样本玩家虚拟角色所在阵营在本局游戏获胜的概率;确定样本获胜概率以及样本非玩家虚拟角色与样本玩家虚拟角色之间的距离满足预设协作条件。
也即,在确定满足预设协作条件的情况下,才会去将第一样本状态特征和第二样本状态特征进行特征融合。
可选的,若样本获胜概率大于预设概率阈值,且样本非玩家虚拟角色与样本玩家虚拟角色之间的距离在预设距离范围内,则确定样本获胜概率以及样本非玩家虚拟角色与样本玩家虚拟角色之间的距离,满足预设协作条件。
反之,若样本获胜概率不大于预设概率阈值,或者,样本非玩家虚拟角色与样本玩家虚拟角色之间的距离不在预设距离范围内,则可确定样本获胜概率以及样本非玩家虚拟角色与样本玩家虚拟角色之间的距离,不满足预设协作条件。
如图10所示,样本获胜概率不大于预设概率阈值(如0.5)时,可设置g=1;反之,g=0;样本非玩家虚拟角色与样本玩家虚拟角色之间的距离在预设距离范围时,可设置f=1,反之,f=0。则在本申请中,f·g=0或1,在f·g=0时,即表示不满足预设协作条件,在f·g=1时,即表示满足预设协作条件。
上述有效协作学习模块及前文中的多水平人类队友构建模块,实现了对人类模型的表征建模及协作建模,显式的建模真实玩家的目标价值,可保证智能体的价值观与真实玩家对齐,以在复杂的MOBA游戏中实现有效协作。
基于上述内容,针对复杂MOBA游戏中的人机协作场景,本申请实施例提出了一种以人为中心的人机协作框架。
如图11所示,其为本申请实施例中的一种以人为中心的人机协作框架的结构示意图。该框架具体包括如下三个模块:(1)多水平人类队友构建模块;(2)人类队友表征建模模块;(3)有效协作学习模块。基于该框架训练得到的智能体能够主动协作真实玩家,达成真实玩家的目标,增强真实玩家的游戏体验。
其中,多水平人类队友构建模块是通过宏观水平和微操水平两个层面来构建不同水平的真实玩家。人类队友表征建模模块是通过真实玩家游戏当前的状态信息来提取表征,并通过标志位来控制是否要与真实玩家进行协作。有效协作学习模块是将人类队友所获得的奖励建模到智能体的价值观体系中,然后通过强化学习技术训练智能体学习协作真实玩家的行为。通过此框架的训练,游戏AI智能体能够学会与不同水平的人类队友进行有效协作。
其中,图11所示的协作标志位可理解为是对上述人类标志位f与协作门g的整合,也即,协作标志位即表示f·g,取值为0或1。在f·g的取值为1的情况下,策略网络的输入即为样本状态融合特征,而在f·g的取值为0的情况下,策略网络的输入即为第一样本状态特征。具体的,对上述三个模块的具体展开说明可参见上述实施例,重复之处不再赘述。
综上,本申请所提出了一种复杂环境(本专利为王者荣耀游戏)下以人为中心的人机协作框架,使用该框架训练得到的智能体能够主动协作真实玩家,增强真实玩家的游戏体验。
并且,该框架除了可以应用到王者荣耀游戏外,框架本身是通用的,也可以扩展到其他游戏,对于许多现实中的人机交互应用也是具有启发式价值的。
也即,本申请所提出一种以人为中心的人机协作框架,仅是以王者荣耀游戏为例,但所述方法不局限于王者荣耀游戏,可适用于其他MOBA游戏;并且,所述方法不局限于MOBA游戏,也适用于真实场景中的人机协作,例如人与机器人合作等,本文不做具体限定。
参阅图12所示,其为本申请实施例中的一种服务器与终端设备之间的交互逻辑示意图。具体的,本申请中的终端设备上可安装游戏客户端,真实玩家可通过游戏客户端参与游戏,在游戏过程中,若真实玩家所在阵营有智能体控制的非玩家虚拟角色(AI角色),一定条件下,该AI角色还可协助真实玩家所控制的玩家虚拟角色。具体的,服务器可每隔一段时间66ms,执行一次上述S21~S24所述的控制过程,基于策略网络预测针对非玩家虚拟角色的预测目标动作后,预测完成后会立即发给游戏gamecore去执行,并通过终端设备所显示的游戏界面呈现上述控制过程。
需要说明的是,上述交互逻辑只是简单示例,其他方式同样适用于本申请实施例,在此不再一一赘述。
基于相同的发明构思,本申请实施例还提供一种虚拟角色的控制装置。如图13所示,其为虚拟角色的控制装置1300的结构示意图,可以包括:
特征提取单元1301,用于分别对非玩家虚拟角色及非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得非玩家虚拟角色的第一状态特征,和玩家虚拟角色的第二状态特征;
第一预测单元1302,用于基于第一状态特征获得相应的预测获胜概率,预测获胜概率为:非玩家虚拟角色与玩家虚拟角色所在阵营在本局游戏获胜的概率;
特征融合单元1303,用于若预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离满足预设协作条件,则基于第一状态特征和第二状态特征获得相应的状态融合特征;
第二预测单元1304,用于基于状态融合特征,获得非玩家虚拟角色待执行的预测目标动作,并控制非玩家虚拟角色执行预测目标动作,以协作玩家虚拟角色。
可选的,装置还包括:
条件判断单元1305,用于若预测获胜概率大于预设概率阈值,且非玩家虚拟角色与玩家虚拟角色之间的距离在预设距离范围内,则确定预测获胜概率以及非玩家虚拟角色与玩家虚拟角色之间的距离满足预设协作条件。
可选的,预测目标动作是通过已训练的策略网络获得的,装置还包括模型训练单元1306,用于通过如下方式训练得到已训练的策略网络:
基于预先构建的多水平队友种群,对待训练的策略网络进行循环迭代训练,获得已训练的策略网络;多水平队友种群包括不同战力水平的样本玩家模型;其中,每次循环迭代训练都执行以下过程:
从多水平队友种群中选取一个样本玩家模型,分别对样本非玩家虚拟角色及样本玩家模型控制的样本玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得样本非玩家虚拟角色的第一样本状态特征,和样本玩家虚拟角色的第二样本状态特征;
基于第一样本状态特征与第二样本状态特征,获取样本非玩家虚拟角色从当前至本局游戏结束期间所获得第一累积奖励,以及样本非玩家虚拟角色协作样本玩家虚拟角色时,样本玩家虚拟角色从当前至本局游戏结束期间所获得第二累积奖励;
基于第一累积奖励与第二累积奖励,构建目标函数,并基于目标函数,对待训练的策略网络进行参数调整。
可选的,模型训练单元1306具体用于:
将第一状态特征输入价值网络,预测得到第一累积奖励;价值网络是以第一实际即时奖励作为样本标签,通过监督学习训练得到的;第一实际即时奖励表示:样本非玩家虚拟角色所获得的实际即时奖励;
将第一样本状态特征与第二样本状态特征进行融合,获得相应的样本状态融合特征,并将状态融合特征输入协作价值网络,预测得到第二累积奖励;协作价值网络是以第二实际即时奖励作为样本标签,通过监督学习训练得到的;第二实际即时奖励表示:基于样本非玩家虚拟角色协作样本玩家虚拟角色的情况下,样本玩家虚拟角色所获得的实际即时奖励。
可选的,模型训练单元1306还用于:
在基于第一累积奖励与第二累积奖励,构建目标函数之前,将样本状态融合特征输入待训练的策略网络,获得待训练的策略网络输出的样本目标动作;
则模型训练单元1306具体用于:
将样本非玩家虚拟角色在当前的游戏状态下执行样本目标动作后,至本局游戏结束期间的各第一实际即时奖励之和,与第一累积奖励之差,作为原始增益;
将样本非玩家虚拟角色在当前的游戏状态下执行样本目标动作后,至本局游戏结束期间的各第二实际即时奖励之和,与第二累积奖励之差,作为协作增益;
基于原始增益与协作增益之和,确定目标函数。
可选的,模型训练单元1306还用于:
在将样本状态融合特征输入待训练的策略网络之前,将第一样本状态特征输入胜负预测网络,获得相应的样本获胜概率,样本获胜概率为:样本非玩家虚拟角色与样本玩家虚拟角色所在阵营在本局游戏获胜的概率;
确定样本获胜概率以及样本非玩家虚拟角色与样本玩家虚拟角色之间的距离满足预设协作条件。
可选的,模型训练单元1306具体用于:
若样本获胜概率大于预设概率阈值,且样本非玩家虚拟角色与样本玩家虚拟角色之间的距离在预设距离范围内,则确定样本获胜概率以及样本非玩家虚拟角色与样本玩家虚拟角色之间的距离满足预设协作条件。
可选的,模型训练单元1306还用于通过如下方式构建得到多水平队友种群:
对于每个真实玩家,分别执行以下操作,获得真实玩家对应的样本玩家模型:
对于一个真实玩家,将真实玩家在当前的游戏状态信息输入已训练的宏观控制网络,获得宏观控制网络输出的位置信息;
基于操作延迟和采样扰动策略,确定真实玩家的技能信息;
基于位置信息和技能信息,构造真实玩家对应的样本玩家模型。
可选的,模型训练单元1306还用于通过如下方式训练得到已训练的宏观控制网络:
通过不同级别的真实玩家的游戏对局信息,构建训练样本集,训练样本集中的每个训练样本包括一个真实玩家的游戏状态信息和位置标签,位置标签表示一个真实玩家的真实位置信息;
从训练样本集中选取训练样本,对待训练的宏观控制网络进行循环迭代训练,获得已训练的宏观控制网络;其中,每次训练迭代训练都执行以下过程:
将选取的训练样本的游戏状态信息输入待训练的宏观控制网络,获得待训练的宏观控制网络输出的预测位置信息;
基于预测位置信息与位置标签之间的差异,对待训练的宏观控制网络进行参数调整。
可选的,若在本局游戏中,与非玩家虚拟角色同阵营的玩家虚拟角色有多个时,装置还包括角色确定单元1307,用于通过如下方式确定非玩家虚拟角色待协作的玩家虚拟角色:
获取与非玩家虚拟角色同阵营的多个玩家虚拟角色各自的身份信息;
基于获取的各个身份信息,以及预设的身份优先级顺序,从多个玩家虚拟角色中,确定非玩家虚拟角色待协作的玩家虚拟角色。
在上述实施方式中,本申请中非玩家虚拟角色待执行的动作,是根据非玩家虚拟角色以及该非玩家虚拟角色待协作的玩家虚拟角色(由真实玩家控制)在当前的游戏状态信息来进行预测的,可以充分保证针对非玩家虚拟角色的预测目标动作,更加贴合真实玩家的目标;并且,本申请在进行待执行的动作的预测前,还对本局游戏的获胜概率,以及非玩家虚拟角色与玩家虚拟角色之间的距离进行了分析,只有在上述概率和距离满足预设协作条件的情况下,才会基于状态融合特征进行动作预测,尽可能保证非玩家虚拟角色能够快速协作玩家虚拟角色,且在协作的情况下能够赢得比赛,进一步保证了虚拟角色协作真实玩家的有效性。综上,本申请提出了一种以人为中心的人机协作框架,保证非玩家虚拟角色能够主动协作真实玩家控制的玩家虚拟角色,在增强真实玩家游戏体验的同时,进一步提高虚拟角色控制的准确性和人机交互效率。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的虚拟角色的控制方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图14所示,包括存储器1401,通讯模块1403以及一个或多个处理器1402。
存储器1401,用于存储处理器1402执行的计算机程序。存储器1401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1401也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1401是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1401可以是上述存储器的组合。
处理器1402,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1402,用于调用存储器1401中存储的计算机程序时实现上述虚拟角色的控制方法。
通讯模块1403用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1401、通讯模块1403和处理器1402之间的具体连接介质。本申请实施例在图14中以存储器1401和处理器1402之间通过总线1404连接,总线1404在图14中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1404可以分为地址总线、数据总线、控制总线等。为便于描述,图14中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1401中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的虚拟角色的控制方法。处理器1402用于执行上述的虚拟角色的控制方法,如图2所示。
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图15所示,包括:通信组件1510、存储器1520、显示单元1530、摄像头1540、传感器1550、音频电路1560、蓝牙模块1570、处理器1580等部件。
通信组件1510用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1520可用于存储软件程序及数据。处理器1580通过运行存储在存储器1520的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1520存储有使得终端设备110能运行的操作系统。本申请中存储器1520可以存储操作系统及各种应用程序,还可以存储执行本申请实施例虚拟角色的控制方法的计算机程序。
显示单元1530还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1530可以包括设置在终端设备110正面的显示屏1532。其中,显示屏1532可以采用液晶显示器、发光二极管等形式来配置。显示单元1530可以用于显示本申请实施例中的游戏界面等。
显示单元1530还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1530可以包括设置在终端设备110正面的触控屏1531,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触控屏1531可以覆盖在显示屏1532之上,也可以将触控屏1531与显示屏1532集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1530可以显示应用程序以及对应的操作步骤。
摄像头1540可用于捕获静态图像,用户可以将摄像头1540拍摄的图像通过应用发布。摄像头1540可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1580转换成数字图像信号。
终端设备还可以包括至少一种传感器1550,比如加速度传感器1551、距离传感器1552、指纹传感器1553、温度传感器1554。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1560、扬声器1561、传声器1562可提供用户与终端设备110之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出至通信组件1510以发送给比如另一终端设备110,或者将音频数据输出至存储器1520以便进一步处理。
蓝牙模块1570用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1570与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1580是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1520内的软件程序,以及调用存储在存储器1520内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1580可包括一个或多个处理单元;处理器1580还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1580中。本申请中处理器1580可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的虚拟角色的控制方法。另外,处理器1580与显示单元1530耦接。
在一些可能的实施方式中,本申请提供的虚拟角色的控制方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的虚拟角色的控制方法中的步骤,例如,电子设备可以执行如图2中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种虚拟角色的控制方法,其特征在于,所述方法包括:
分别对非玩家虚拟角色及所述非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述非玩家虚拟角色的第一状态特征,和所述玩家虚拟角色的第二状态特征;
基于所述第一状态特征获得相应的预测获胜概率,所述预测获胜概率为:所述非玩家虚拟角色与所述玩家虚拟角色所在阵营在本局游戏获胜的概率;
若所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足预设协作条件,则基于所述第一状态特征和所述第二状态特征获得相应的状态融合特征;
基于所述状态融合特征,获得所述非玩家虚拟角色待执行的预测目标动作,并控制所述非玩家虚拟角色执行所述预测目标动作,以协作所述玩家虚拟角色。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述预测获胜概率大于预设概率阈值,且所述非玩家虚拟角色与所述玩家虚拟角色之间的距离在预设距离范围内,则确定所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足所述预设协作条件。
3.如权利要求1所述的方法,其特征在于,所述预测目标动作是通过已训练的策略网络获得的,所述已训练的策略网络是通过如下方式训练的:
基于预先构建的多水平队友种群,对待训练的策略网络进行循环迭代训练,获得所述已训练的策略网络;所述多水平队友种群包括不同战力水平的样本玩家模型;其中,每次循环迭代训练都执行以下过程:
从所述多水平队友种群中选取一个样本玩家模型,分别对样本非玩家虚拟角色及所述样本玩家模型控制的样本玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述样本非玩家虚拟角色的第一样本状态特征,和所述样本玩家虚拟角色的第二样本状态特征;
基于所述第一样本状态特征与所述第二样本状态特征,获取所述样本非玩家虚拟角色从当前至本局游戏结束期间所获得第一累积奖励,以及所述样本非玩家虚拟角色协作所述样本玩家虚拟角色时,所述样本玩家虚拟角色从当前至本局游戏结束期间所获得第二累积奖励;
基于所述第一累积奖励与所述第二累积奖励,构建目标函数,并基于所述目标函数,对所述待训练的策略网络进行参数调整。
4.如权利要求3所述的方法,其特征在于,所述基于所述第一样本状态特征与所述第二样本状态特征,获取所述样本非玩家虚拟角色从当前至本局游戏结束期间所获得第一累积奖励,以及所述样本非玩家虚拟角色协作所述样本玩家虚拟角色时,所述样本玩家虚拟角色从当前至本局游戏结束期间所获得第二累积奖励,包括:
将所述第一状态特征输入价值网络,预测得到所述第一累积奖励;所述价值网络是以第一实际即时奖励作为样本标签,通过监督学习训练得到的;所述第一实际即时奖励表示:所述样本非玩家虚拟角色所获得的实际即时奖励;
将所述第一样本状态特征与所述第二样本状态特征进行融合,获得相应的样本状态融合特征,并将所述状态融合特征输入协作价值网络,预测得到所述第二累积奖励;所述协作价值网络是以第二实际即时奖励作为样本标签,通过监督学习训练得到的;所述第二实际即时奖励表示:基于所述样本非玩家虚拟角色协作所述样本玩家虚拟角色的情况下,所述样本玩家虚拟角色所获得的实际即时奖励。
5.如权利要求4所述的方法,其特征在于,在所述基于所述第一累积奖励与所述第二累积奖励,构建目标函数之前,还包括:
将所述样本状态融合特征输入所述待训练的策略网络,获得所述待训练的策略网络输出的样本目标动作;
则所述基于所述第一累积奖励与所述第二累积奖励,构建目标函数,包括:
将所述样本非玩家虚拟角色在当前的游戏状态下执行所述样本目标动作后,至本局游戏结束期间的各第一实际即时奖励之和,与所述第一累积奖励之差,作为原始增益;
将所述样本非玩家虚拟角色在当前的游戏状态下执行所述样本目标动作后,至本局游戏结束期间的各第二实际即时奖励之和,与所述第二累积奖励之差,作为协作增益;
基于所述原始增益与所述协作增益之和,确定所述目标函数。
6.如权利要求5所述的方法,其特征在于,在将所述样本状态融合特征输入所述待训练的策略网络之前,还包括:
将所述第一样本状态特征输入胜负预测网络,获得相应的样本获胜概率,所述样本获胜概率为:所述样本非玩家虚拟角色与所述样本玩家虚拟角色所在阵营在本局游戏获胜的概率;
确定所述样本获胜概率以及所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离满足所述预设协作条件。
7.如权利要求6所述的方法,其特征在于,所述确定所述样本获胜概率以及所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离满足所述预设协作条件,包括:
若所述样本获胜概率大于预设概率阈值,且所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离在预设距离范围内,则确定所述样本获胜概率以及所述样本非玩家虚拟角色与所述样本玩家虚拟角色之间的距离满足所述预设协作条件。
8.如权利要求3所述的方法,其特征在于,所述多水平队友种群是通过如下方式构建的:
对于每个真实玩家,分别执行以下操作,获得所述真实玩家对应的样本玩家模型:
对于一个真实玩家,将所述真实玩家在当前的游戏状态信息输入已训练的宏观控制网络,获得所述宏观控制网络输出的位置信息;
基于操作延迟和采样扰动策略,确定所述真实玩家的技能信息;
基于所述位置信息和技能信息,构造所述真实玩家对应的样本玩家模型。
9.如权利要求8所述的方法,其特征在于,所述已训练的宏观控制网络是通过如下方式训练得到的:
通过不同级别的真实玩家的游戏对局信息,构建训练样本集,所述训练样本集中的每个训练样本包括一个真实玩家的游戏状态信息和位置标签,所述位置标签表示所述一个真实玩家的真实位置信息;
从所述训练样本集中选取训练样本,对待训练的宏观控制网络进行循环迭代训练,获得所述已训练的宏观控制网络;其中,每次训练迭代训练都执行以下过程:
将选取的训练样本的游戏状态信息输入待训练的宏观控制网络,获得所述待训练的宏观控制网络输出的预测位置信息;
基于所述预测位置信息与所述位置标签之间的差异,对所述待训练的宏观控制网络进行参数调整。
10.如权利要求1~9任一项所述的方法,其特征在于,若在本局游戏中,与所述非玩家虚拟角色同阵营的玩家虚拟角色有多个时,通过如下方式确定所述非玩家虚拟角色待协作的玩家虚拟角色:
获取与所述非玩家虚拟角色同阵营的多个玩家虚拟角色各自的身份信息;
基于获取的各个身份信息,以及预设的身份优先级顺序,从所述多个玩家虚拟角色中,确定所述非玩家虚拟角色待协作的玩家虚拟角色。
11.一种虚拟角色的控制装置,其特征在于,包括:
特征提取单元,用于分别对非玩家虚拟角色及所述非玩家虚拟角色待协作的玩家虚拟角色,在当前的游戏状态信息进行特征提取,获得所述非玩家虚拟角色的第一状态特征,和所述玩家虚拟角色的第二状态特征;
第一预测单元,用于基于所述第一状态特征获得相应的预测获胜概率,所述预测获胜概率为:所述非玩家虚拟角色与所述玩家虚拟角色所在阵营在本局游戏获胜的概率;
特征融合单元,用于若所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足预设协作条件,则基于所述第一状态特征和所述第二状态特征获得相应的状态融合特征;
第二预测单元,用于基于所述状态融合特征,获得所述非玩家虚拟角色待执行的预测目标动作,并控制所述非玩家虚拟角色执行所述预测目标动作,以协作所述玩家虚拟角色。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
条件判断单元,用于若所述预测获胜概率大于预设概率阈值,且所述非玩家虚拟角色与所述玩家虚拟角色之间的距离在预设距离范围内,则确定所述预测获胜概率以及所述非玩家虚拟角色与所述玩家虚拟角色之间的距离满足所述预设协作条件。
13.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~10中任一所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在电子设备上运行时,所述计算机程序用于使所述电子设备执行权利要求1~10中任一所述方法的步骤。
15.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述电子设备执行权利要求1~10中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310993336.1A CN116726500B (zh) | 2023-08-09 | 2023-08-09 | 一种虚拟角色的控制方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310993336.1A CN116726500B (zh) | 2023-08-09 | 2023-08-09 | 一种虚拟角色的控制方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116726500A true CN116726500A (zh) | 2023-09-12 |
CN116726500B CN116726500B (zh) | 2023-11-03 |
Family
ID=87906312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310993336.1A Active CN116726500B (zh) | 2023-08-09 | 2023-08-09 | 一种虚拟角色的控制方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116726500B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017006500A (ja) * | 2015-06-25 | 2017-01-12 | 株式会社ソフイア | 遊技機 |
CN109445662A (zh) * | 2018-11-08 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 虚拟对象的操作控制方法、装置、电子设备及存储介质 |
CN109847367A (zh) * | 2019-03-06 | 2019-06-07 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
CN109966743A (zh) * | 2019-03-06 | 2019-07-05 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
US20210001215A1 (en) * | 2019-07-03 | 2021-01-07 | Bandai Namco Entertainment Inc. | Computer system, automatic purchase system, and automatic purchase method |
CN114225393A (zh) * | 2021-12-01 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 游戏资源的获取方法、装置、介质、设备和程序产品 |
WO2023000877A1 (zh) * | 2021-07-21 | 2023-01-26 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置、设备以及存储介质 |
-
2023
- 2023-08-09 CN CN202310993336.1A patent/CN116726500B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017006500A (ja) * | 2015-06-25 | 2017-01-12 | 株式会社ソフイア | 遊技機 |
CN109445662A (zh) * | 2018-11-08 | 2019-03-08 | 腾讯科技(深圳)有限公司 | 虚拟对象的操作控制方法、装置、电子设备及存储介质 |
CN109847367A (zh) * | 2019-03-06 | 2019-06-07 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
CN109966743A (zh) * | 2019-03-06 | 2019-07-05 | 网易(杭州)网络有限公司 | 一种游戏胜率的预测方法、模型生成方法和装置 |
US20210001215A1 (en) * | 2019-07-03 | 2021-01-07 | Bandai Namco Entertainment Inc. | Computer system, automatic purchase system, and automatic purchase method |
WO2023000877A1 (zh) * | 2021-07-21 | 2023-01-26 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置、设备以及存储介质 |
CN114225393A (zh) * | 2021-12-01 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 游戏资源的获取方法、装置、介质、设备和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116726500B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108888958B (zh) | 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质 | |
CN111111204B (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
Buro et al. | Real‐Time Strategy Game Competitions | |
WO2020103723A1 (zh) | 虚拟环境中的虚拟对象的调度方法、装置及设备 | |
US7296007B1 (en) | Real time context learning by software agents | |
JP2023538962A (ja) | 仮想キャラクタの制御方法、装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム | |
CN112791394B (zh) | 游戏模型训练方法、装置、电子设备及存储介质 | |
CN111841018B (zh) | 模型训练方法、模型使用方法、计算机设备及存储介质 | |
US20240123348A1 (en) | Game character control method and apparatus, storage medium and electronic device | |
CN111450531B (zh) | 虚拟角色控制方法、装置、电子设备以及存储介质 | |
CN116747521B (zh) | 控制智能体进行对局的方法、装置、设备及存储介质 | |
CN112215328A (zh) | 一种智能体的训练、基于智能体的动作控制方法及装置 | |
CN111437608A (zh) | 基于人工智能的游戏对局方法、装置、设备及存储介质 | |
WO2023024762A1 (zh) | 人工智能对象控制方法、装置、设备及存储介质 | |
CN115888119A (zh) | 一种游戏ai训练方法、装置、电子设备及存储介质 | |
CN116956007A (zh) | 人工智能模型的预训练方法、装置、设备及存储介质 | |
Cai et al. | Evolutionary swarm neural network game engine for Capture Go | |
CN116821693B (zh) | 虚拟场景的模型训练方法、装置、电子设备及存储介质 | |
CN113018862A (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN116726500B (zh) | 一种虚拟角色的控制方法、装置、电子设备和存储介质 | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 | |
CN116943204A (zh) | 虚拟对象的控制方法、装置和存储介质及电子设备 | |
CN114344889B (zh) | 游戏策略模型生成方法和游戏中智能体的控制方法 | |
CN114404976A (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
Patel et al. | Improving behavior of computer game bots using fictitious play |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092640 Country of ref document: HK |