游戏角色动作控制方法、装置、设备和存储介质

文档序号:177552 发布日期:2021-11-02 浏览:16次 >En<

阅读说明:本技术 游戏角色动作控制方法、装置、设备和存储介质 (Game character action control method, device, equipment and storage medium ) 是由 刘舟 徐键滨 吴梓辉 徐雅 王理平 于 2021-07-07 设计创作,主要内容包括:本发明公开了一种游戏角色动作控制方法,包括:获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略;控制本游戏角色按照所述预测动作输出策略输出预测动作。本发明还公开了一种游戏角色动作控制装置、设备和一种计算机可读存储介质。采用本发明实施例,能够结合当前的其他角色的游戏状态确定本游戏角色的预测动作输出策略,使得角色动作的预测输出结果准确合理。(The invention discloses a game role action control method, which comprises the following steps: acquiring current game state information of a game role, and acquiring current game state information of an enemy game role in a special game state; predicting the predicted position information of the enemy game role at the next moment according to the current game state information of the enemy game role; inputting the current game state information of the game role and the predicted position information of the enemy game role into an AI model, and determining a predicted action output strategy currently taken by the game role; and controlling the game role to output the predicted action according to the predicted action output strategy. The invention also discloses a game role action control device, equipment and a computer readable storage medium. By adopting the embodiment of the invention, the predicted action output strategy of the game role can be determined by combining the current game states of other roles, so that the predicted output result of the role action is accurate and reasonable.)

游戏角色动作控制方法、装置、设备和存储介质

技术领域

本发明涉及游戏角色控制技术领域,尤其涉及一种游戏角色动作控制方法、装置、设备和存储介质。

背景技术

随着互联网技术的逐步发展,电子竞技行业越来越受到广泛的关注。对于竞技类游戏而言,为保证用户在游戏过程中的良好体验,在游戏过程中需要预测本游戏角色在下一时刻的角色动作,比如当用户挂机时,游戏角色根据预测的下一时刻的角色动作正常输出动作。现有的竞技类游戏的角色动作是根据本游戏角色的当前游戏状态来直接输出预测动作,但是,本游戏角色预测动作的输出并不能够结合当前的其他角色的游戏状态来进行合理输出,导致角色动作的预测输出结果不够准确合理。例如本游戏角色基于当前的游戏状态信息,其预测的动作为针对敌对游戏角色释放某一技能,但是可能下一时刻敌对游戏角色可能处于该技能的命中范围外,此时该预测的动作不能够正常命中该敌对游戏角色。

发明内容

本发明实施例的目的是提供一种游戏角色动作控制方法、装置、设备和存储介质,能够结合当前的其他角色的游戏状态确定本游戏角色的预测动作输出策略,使得角色动作的预测输出结果准确合理。

为实现上述目的,本发明实施例提供了一种游戏角色动作控制方法,包括:

获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;

根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;

将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略;

控制本游戏角色按照所述预测动作输出策略输出预测动作。

作为上述方案的改进,所述预测动作输出策略包括攻击目标的确定策略、游戏动作的确定策略以及移动路径的确定策略中至少一种。

作为上述方案的改进,控制本游戏角色按照所述预测动作输出策略输出预测动作,包括:

当所述预测动作中存在不合理动作时,获取与所述预测动作对应的动作限制机制;

根据所述动作限制机制对所述不合理动作进行动作限制操作,以对所述不合理动作的采样概率进行调整;

输出进行完所述动作限制操作后的预测动作。

作为上述方案的改进,输出进行完所述动作限制操作后的预测动作后,还包括:

将进行完所述动作限制操作后的预测动作作为样本数据输入到所述AI模型中,以训练所述AI模型。

作为上述方案的改进,所述预测动作为所述本游戏角色的俯仰角度;则,控制本游戏角色按照所述预测动作输出策略输出预测动作,还包括:

获取所述本游戏角色使用预瞄准技能的应用场景;

当所述本游戏角色在未看见攻击目标时使用预瞄准技能,输出所述AI模型预测角度作为俯仰角度;

当所述本游戏角色在看见攻击目标时使用预瞄准技能,计算自身和攻击目标的预设位置夹角作为俯仰角度。

作为上述方案的改进,所述AI模型包括critic网络和actor网络,所述预测动作是通过所述actor网络输出的。

作为上述方案的改进,所述AI模型通过预设的AI模型训练方法训练得到,所述AI模型训练方法包括:

获取样本数据;其中,所述样本数据包括游戏角色的游戏状态数据和实际奖励;

将所述游戏状态数据输入到所述AI模型中,以生成所述游戏角色的预测奖励;

根据所述预测奖励和实际奖励计算所述AI模型的损失函数;其中,所述实际奖励通过预设的奖励机制计算得到;

根据所述损失函数对所述AI模型进行优化,直至所述损失函数收敛。

为实现上述目的,本发明实施例还提供了一种游戏角色动作控制装置,包括:

游戏状态信息获取模块,用于获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;

预测位置信息获取模块,用于根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;

预测动作输出策略确定模块,用于将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略;

预测动作输出模块,用于控制本游戏角色按照所述预测动作输出策略输出预测动作。

为实现上述目的,本发明实施例还提供一种游戏角色动作控制设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一实施例所述的游戏角色动作控制方法。

为实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一实施例所述的游戏角色动作控制方法。

相比于现有技术,本发明实施例公开的游戏角色动作控制方法、装置、设备和存储介质,首先,获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;然后,根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;最后,将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略,以控制本游戏角色按照所述预测动作输出策略输出预测动作。由于在确定本游戏角色当前采取的预测动作输出策略时,充分考虑了敌对游戏角色的游戏状态信息,从而能够基于敌对游戏角色的游戏状态信息预测出敌对游戏角色在下一时刻的预测位置信息,使得本游戏角色能够提前作出应对策略,进而提高本游戏角色的技能命中率,使得本游戏角色动作的预测输出结果准确合理。

附图说明

图1是本发明实施例提供的一种游戏角色动作控制方法的流程图;

图2是本发明实施例提供的一种游戏角色动作控制装置的结构框图;

图3是本发明实施例提供的一种游戏角色动作控制设备的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1是本发明实施例提供的一种游戏角色动作控制方法的流程图,所述游戏角色动作控制方法包括:

S1、获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;

S2、根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;

S3、将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略;

S4、控制本游戏角色按照所述预测动作输出策略输出预测动作。

具体地,在步骤S1中,所述游戏状态信息包括位置信息、属性信息、战斗状态信息及技能信息和用于检测AI周围障碍物的射线信息(只针对AI角色才有)。所述位置信息为游戏角色所处当前位置信息;所述属性信息包括游戏角色的武器类型和其他武器属性信息(武器子弹总数)和队伍信息,所述武器类型比如为枪械,所述队伍信息用于区分本游戏角色和敌对游戏角色;所述战斗状态信息为所述游戏角色的生命值,是否击杀敌人、是否死亡,是否处于下蹲状态,子弹剩余量(只针对AI角色才有),是否在开火,是否隐身,AI对该角色是否可见(只针对AI才有);所述技能信息技能信息还包括技能类型编码技能栏的技能是可选的为所述游戏角色的技能栏中各个技能的当前状态信息,比如,所述游戏角色的技能栏中有三个技能,所述当前状态信息包括可用状态和不可用状态,可以理解的,当所述技能处于恢复中时为不可能用状态。

值得说明的是,在获取本游戏角色和敌对游戏角色当前的游戏状态信息前,需要先检测所述本游戏角色与所述敌对游戏角色是否满足预设的战斗条件,所述战斗条件包括:所述敌对游戏角色处于本游戏角色的可攻击范围内。本游戏角色的可攻击范围内的敌对游戏角色可以有多个,在所述敌对游戏角色处于所述特殊游戏状态时,则可以同时对至少一个敌对游戏角色在下一时刻的位置信息进行预测。

示例性的,所述特殊游戏状态包括血量低于预设的血量阈值、技能支撑量低于预设的技能支撑量阈值中的至少一种,所述血量用于表征所述游戏角色的生命值,所述技能支撑量用于表征所述游戏角色的技能可用程度。因敌对游戏角色在血量低或技能支撑量低的情况下,其动作行为容易受到限制,一般会比较具有规律性,因此,针对血量低或技能支撑量低的敌对游戏角色,预测其在下一时刻的位置信息的准确率会比较高。值得说明的是,所述血量阈值和所述技能支撑量阈值可以根据不同类型的游戏角色进行设定,本发明在此不做具体限定。

具体地,在步骤S2中,在获取到所述敌对游戏角色当前的游戏状态信息后,根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息。

示例性的,可以将所述敌对游戏角色当前的游戏状态信息输入到预设的位置预测模型中,所述位置预测模型根据所述敌对游戏角色当前的游戏状态信息输出所述敌对游戏角色在下一时刻的预测位置信息。所述位置预测模型训练过程中获取样本数据时,需要分别提取敌人的血量低于血量阈值以及技能支撑量低于技能支撑量阈值的样本,并以该敌对游戏角色的游戏状态信息作为训练数据(模型输入),提取下一时刻该角色的位置信息作为目标数据(模型输出),根据多层感知机模型进行预测,以均方误差作为模型的损失函数训练。值得说明的是,多层感知机模型和以均方误差作为模型的损失函数的具体应用可参考现有技术,在此不再赘述。

具体地,在步骤S3中,在将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型中,以使所述AI模型输出所述敌对游戏角色的预测动作输出策略,所述预测动作输出策略包括攻击目标的确定策略、游戏动作的确定策略以及移动路径的确定策略中至少一种。

示例性的,当所述本游戏角色的可攻击范围内存在两个敌对游戏角色(如敌对游戏角色A和敌对游戏角色B)时,所述AI模型可以根据所述敌对游戏角色的预测位置信息确定首要攻击目标,比如,选择所述预测位置信息距离所述本游戏角色较近的敌对游戏角色A作为攻击目标。在确定所述攻击目标后,所述AI模型可以制定出本游戏角色移动至所述攻击目标的移动路径以及采取的游戏动作,比如所述游戏动作为采用指定技能攻击。

值得说明的是,为了保持所述AI模型的输入维度一致,在将所述预测位置信息输入到所述AI模型中时,因其他敌对游戏角色未进行位置预测,无预测值,此时需要将其他敌对游戏角色的位置预测值填0,将该值与有预测值的所述特殊游戏状态下的敌对游戏角色的预测位置信息一并输入到所述AI模型中。

可选地,所述AI模型通过预设的AI模型训练方法训练得到,所述AI模型训练方法包括步骤S31~S34:

S31、获取样本数据;其中,所述样本数据包括游戏角色的游戏状态数据和实际奖励;

S32、将所述游戏状态数据输入到所述AI模型中,以生成所述游戏角色的预测奖励;

S33、根据所述预测奖励和实际奖励计算所述AI模型的损失函数;其中,所述实际奖励通过预设的奖励机制计算得到;

S34、根据所述损失函数对所述AI模型进行优化,直至所述损失函数收敛

具体地,在步骤S31中,所述游戏状态数据包括:所述游戏角色在当前时间歩的第一状态信息、在当前时间歩的第一动作信息以及在下一时间歩的第二状态信息。

具体地,在步骤S32中,本发明实施例所述的AI模型为DDPG模型,所述DDPG模型有两种网络:actor网络和critic网络。将第一状态信息和第一动作信息输入critic网络,得到当前时间歩的第一状态动作价值;然后,将下一时间歩的第二状态信息输入actor网络,得到下一时间歩的预测动作即为第二动作信息,并将第二状态信息和第二动作信息输入到critic网络,得到下一时间歩的第二状态动作价值;最后,将第一状态动作价值和第二状态动作价值作差得到价值差值作为所述预测奖励。

值得说明的是,动作信息指的是虚拟角色在环境中采取的动作;状态信息是采取该动作的结果,体现在游戏的状态上。比如动作信息为射击,则对应的状态信息为敌方掉血、敌方死亡等;又比如动作信息为跳跃,如果跳上箱体,则对应的状态信息为自身的高度增加。在本发明实施例中,每间隔n帧从游戏环境获取一次状态称为一个时间歩,可以理解的,所述当前时间步和所述下一时间歩为连续的两个时间步。状态动作价值指的是对某一状态和动作的期望回报,比如回报是一局游戏奖励的累加值,而期望回报是对多局游戏的回报求均值。第一网络是一个神经网络,它的输入是状态和动作,输出就是状态动作价值,通过损失函数进行反向传播调整神经网络参数,使其接近实际。

具体地,在步骤S33~S34中,所述奖励机制表示所述游戏角色在游戏过程中满足一些条件时可以获得相应的奖励,比如所述奖励机制包括:当所述虚拟角色的操作状态为常规操作时,给予正向奖励;当所述虚拟角色的操作状态为非常规操作时,给予负向奖励。critic网络和actor网络又分别划分为evaluate网络和target网络,target网络不参与训练,定期从evaluate网络复制参数。所述预测动作是通过所述actor网络输出的。示例性的,将所述预测奖励和实际奖励作差的平方和为critic网络的损失函数,actor网络的损失函数为critic网络的预测值。所述critic网络损失函数满足以下公式:

其中,N为所述样本数据的总数量;yi=ri+γQ′(si+1,μ′(si+1μ′)|θQ′);ri为第i个时间步的reward;γ为超参,折扣因子;Q(s,a|θQ)为critic网络,参数为θQ;μ(s|θμ)为actor网络,参数为θμ;Q′为critic网络的target网络;μ′为actor网络的target网络,target网络参数不参与训练,定期从Q、μ网络更新其参数,actor网络通过极大化critic网络的预测值更新参数。

具体地,在步骤S4中,在确定所述预测动作输出策略后,根据所述预测动作输出策略控制本游戏角色输出对应的预测动作。在所述本游戏角色输出所述预测动作时,需要判断所述预测动作的合理性,若所述预测动作不合理,则需要对不合理动作的采样概率进行调整。

可选地,所述控制本游戏角色按照所述预测动作输出策略输出预测动作,包括步骤S411~S413:

S411、当所述预测动作中存在不合理动作时,获取与所述预测动作对应的动作限制机制;

S412、根据所述动作限制机制对所述不合理动作进行动作限制操作,以对所述不合理动作的采样概率进行调整;

S413、输出进行完所述动作限制操作后的预测动作。

具体地,通过判断所述预测动作是否符合常理对所述AI模型的输出进行限制,对于离散动作,所述AI模型输出的是选择动作的概率,对于不合理的动作,将其采样概率调整为0,从而无法采样到该动作。

示例性的,当所述预测动作为移动路径选择时,所述不合理动作为:朝存在障碍物的前进方向;则,所述动作限制机制为:将存在障碍物的前进方向的采样概率调整为0。当所述预测动作输出为攻击目标选择时,所述不合理动作输出为:选择不可见攻击目标;则,所述动作限制机制为:将所述不可见攻击目标的采样概率调整为0。当所述预测动作为采取的游戏动作时,所述不合理动作输出为:选择处于冷却状态的技能;则,所述动作限制机制为:将处于冷却状态的技能的采样概率调整为0。

比如,所述预测动作为选择攻击目标,所述AI模型可能选择的是视野范围外看不见的敌人,此时就需要对所述AI模型的动作输出做一定的处理,针对选择攻击目标敌人1、敌人2和敌人3,输出为选择敌人1的概率、选择敌人2的概率以及选择敌人3的概率,概率和为1,如果此时敌人1不可见,则会将选择敌人1的概率调整为0,只选择可见的敌人。

进一步地,当所述预测动作为所述本游戏角色的俯仰角度;则,控制本游戏角色按照所述预测动作输出策略输出预测动作,还包括步骤S421~S423:

S421、获取所述本游戏角色使用预瞄准技能的应用场景;

S422、当所述本游戏角色在未看见攻击目标时使用预瞄准技能,输出所述AI模型预测角度作为俯仰角度;

S423、当所述本游戏角色在看见攻击目标时使用预瞄准技能,计算自身和攻击目标的预设位置夹角作为俯仰角度。

示例性的,所述俯仰角度为pitch转角,表示本游戏角色在使用其预瞄准技能时所采用的俯仰角度。当所述本游戏角色在未看见攻击目标时使用预瞄准技能,输出所述AI模型预测角度作为俯仰角度,因本游戏角色在其视野范围内未看见攻击目标,此时无法直接计算俯仰角度,因此可直接采用AI模型预测角度作为俯仰角度。当所述本游戏角色在看见攻击目标时使用预瞄准技能,可以直接计算出本游戏角色的俯仰角度,若所述预设位置为头部时,以本游戏角色和敌对游戏角色的头部的连接线与水平线的夹角作为俯仰角度。

更进一步地,在步骤S413中输出进行完所述动作限制操作后的预测动作后,还包括步骤S414:

S414、将进行完所述动作限制操作后的预测动作作为样本数据输入到所述AI模型中,以训练所述AI模型。

示例性的,进行完动作限制后的所述预测动作,可以作为样本数据输入到所述AI模型中,对所述AI模型进行训练,因不合理的动作不会产生好的reward(奖励),若未进行动作限制,直接将所述预测动作输入到所述AI模型中,会导致所述AI模型产生的无效样本过多,该无效样本无法应用到AI模型中,因此,为了减少这些无效样本,对所述预测动作进行限制,使所述AI模型的训练速度更快,所述AI模型训练的越好,产生的不合理动作输出会越少。

相比于现有技术,本发明实施例公开的游戏角色动作控制方法,首先,获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;然后,根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;最后,将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略,以控制本游戏角色按照所述预测动作输出策略输出预测动作。由于在确定本游戏角色当前采取的预测动作输出策略时,充分考虑了敌对游戏角色的游戏状态信息,从而能够基于敌对游戏角色的游戏状态信息预测出敌对游戏角色在下一时刻的预测位置信息,使得本游戏角色能够提前作出应对策略,进而提高本游戏角色的技能命中率,使得本游戏角色动作的预测输出结果准确合理。

参见图2,图2是本发明实施例提供的一种游戏角色动作控制装置10的结构框图,所述游戏角色动作控制装置10包括:

游戏状态信息获取模块11,用于获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;

预测位置信息获取模块12,用于根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;

预测动作输出策略确定模块13,用于将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略;

预测动作输出模块14,用于控制本游戏角色按照所述预测动作输出策略输出预测动作。

具体地,所述游戏状态信息包括位置信息、属性信息、战斗状态信息及技能信息和用于检测AI周围障碍物的射线信息(只针对AI角色才有)。所述位置信息为游戏角色所处当前位置信息;所述属性信息包括游戏角色的武器类型和其他武器属性信息(武器子弹总数)和队伍信息,所述武器类型比如为枪械,所述队伍信息用于区分本游戏角色和敌对游戏角色;所述战斗状态信息为所述游戏角色的生命值,是否击杀敌人、是否死亡,是否处于下蹲状态,子弹剩余量(只针对AI角色才有),是否在开火,是否隐身,AI对该角色是否可见(只针对AI才有);所述技能信息技能信息还包括技能类型编码技能栏的技能是可选的为所述游戏角色的技能栏中各个技能的当前状态信息,比如,所述游戏角色的技能栏中有三个技能,所述当前状态信息包括可用状态和不可用状态,可以理解的,当所述技能处于恢复中时为不可能用状态。

值得说明的是,在获取本游戏角色和敌对游戏角色当前的游戏状态信息前,需要先检测所述本游戏角色与所述敌对游戏角色是否满足预设的战斗条件,所述战斗条件包括:所述敌对游戏角色处于本游戏角色的可攻击范围内。本游戏角色的可攻击范围内的敌对游戏角色可以有多个,在所述敌对游戏角色处于所述特殊游戏状态时,则可以同时对至少一个敌对游戏角色在下一时刻的位置信息进行预测。

示例性的,所述特殊游戏状态包括血量低于预设的血量阈值、技能支撑量低于预设的技能支撑量阈值中的至少一种,所述血量用于表征所述游戏角色的生命值,所述技能支撑量用于表征所述游戏角色的技能可用程度。因敌对游戏角色在血量低或技能支撑量低的情况下,其动作行为容易受到限制,一般会比较具有规律性,因此,针对血量低或技能支撑量低的敌对游戏角色,预测其在下一时刻的位置信息的准确率会比较高。值得说明的是,所述血量阈值和所述技能支撑量阈值可以根据不同类型的游戏角色进行设定,本发明在此不做具体限定。

具体地,所述预测位置信息获取模块12在获取到所述敌对游戏角色当前的游戏状态信息后,根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息。

示例性的,可以将所述敌对游戏角色当前的游戏状态信息输入到预设的位置预测模型中,所述位置预测模型根据所述敌对游戏角色当前的游戏状态信息输出所述敌对游戏角色在下一时刻的预测位置信息。所述位置预测模型训练过程中获取样本数据时,需要分别提取敌人的血量低于血量阈值以及技能支撑量低于技能支撑量阈值的样本,并以该敌对游戏角色的游戏状态信息作为训练数据(模型输入),提取下一时刻该角色的位置信息作为目标数据(模型输出),根据多层感知机模型进行预测,以均方误差作为模型的损失函数训练。值得说明的是,多层感知机模型和以均方误差作为模型的损失函数的具体应用可参考现有技术,在此不再赘述。

具体地,所述预测动作输出策略确定模块13将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型中,以使所述AI模型输出所述敌对游戏角色的预测动作输出策略,所述预测动作输出策略包括攻击目标的确定策略、游戏动作的确定策略以及移动路径的确定策略中至少一种。

示例性的,当所述本游戏角色的可攻击范围内存在两个敌对游戏角色(如敌对游戏角色A和敌对游戏角色B)时,所述AI模型可以根据所述敌对游戏角色的预测位置信息确定首要攻击目标,比如,选择所述预测位置信息距离所述本游戏角色较近的敌对游戏角色A作为攻击目标。在确定所述攻击目标后,所述AI模型可以制定出本游戏角色移动至所述攻击目标的移动路径以及采取的游戏动作,比如所述游戏动作为采用指定技能攻击。

值得说明的是,为了保持所述AI模型的输入维度一致,在将所述预测位置信息输入到所述AI模型中时,因其他敌对游戏角色未进行位置预测,无预测值,此时需要将其他敌对游戏角色的位置预测值填0,将该值与有预测值的所述特殊游戏状态下的敌对游戏角色的预测位置信息一并输入到所述AI模型中。

可选地,所述AI模型通过预设的AI模型训练方法训练得到,所述AI模型训练方法包括:

S31、获取样本数据;其中,所述样本数据包括游戏角色的游戏状态数据和实际奖励;

S32、将所述游戏状态数据输入到所述AI模型中,以生成所述游戏角色的预测奖励;

S33、根据所述预测奖励和实际奖励计算所述AI模型的损失函数;其中,所述实际奖励通过预设的奖励机制计算得到;

S34、根据所述损失函数对所述AI模型进行优化,直至所述损失函数收敛

具体地,在步骤S31中,所述游戏状态数据包括:所述游戏角色在当前时间歩的第一状态信息、在当前时间歩的第一动作信息以及在下一时间歩的第二状态信息。

具体地,在步骤S32中,本发明实施例所述的AI模型为DDPG模型,所述DDPG模型有两种网络:actor网络和critic网络。将第一状态信息和第一动作信息输入critic网络,得到当前时间歩的第一状态动作价值;然后,将下一时间歩的第二状态信息输入actor网络,得到下一时间歩的预测动作即为第二动作信息,并将第二状态信息和第二动作信息输入到critic网络,得到下一时间歩的第二状态动作价值;最后,将第一状态动作价值和第二状态动作价值作差得到价值差值作为所述预测奖励。

值得说明的是,动作信息指的是虚拟角色在环境中采取的动作;状态信息是采取该动作的结果,体现在游戏的状态上。比如动作信息为射击,则对应的状态信息为敌方掉血、敌方死亡等;又比如动作信息为跳跃,如果跳上箱体,则对应的状态信息为自身的高度增加。在本发明实施例中,每间隔n帧从游戏环境获取一次状态称为一个时间歩,可以理解的,所述当前时间步和所述下一时间歩为连续的两个时间步。状态动作价值指的是对某一状态和动作的期望回报,比如回报是一局游戏奖励的累加值,而期望回报是对多局游戏的回报求均值。第一网络是一个神经网络,它的输入是状态和动作,输出就是状态动作价值,通过损失函数进行反向传播调整神经网络参数,使其接近实际。

具体地,在步骤S33~S34中,所述奖励机制表示所述游戏角色在游戏过程中满足一些条件时可以获得相应的奖励,比如所述奖励机制包括:当所述虚拟角色的操作状态为常规操作时,给予正向奖励;当所述虚拟角色的操作状态为非常规操作时,给予负向奖励。critic网络和actor网络又分别划分为evaluate网络和target网络,target网络不参与训练,定期从evaluate网络复制参数。所述预测动作是通过所述actor网络输出的。示例性的,将所述预测奖励和实际奖励作差的平方和为critic网络的损失函数,actor网络的损失函数为critic网络的预测值。所述critic网络损失函数满足以下公式:

其中,N为所述样本数据的总数量;yi=ri+γQ′(si+1,μ′(si+1μ′)|θQ′);ri为第i个时间步的reward;γ为超参,折扣因子;Q(s,a|θQ)为critic网络,参数为θQ;μ(s|θμ)为actor网络,参数为θμ;Q′为critic网络的target网络;μ′为actor网络的target网络,target网络参数不参与训练,定期从Q、μ网络更新其参数,actor网络通过极大化critic网络的预测值更新参数。

具体地,所述预测动作输出模块14在确定所述预测动作输出策略后,根据所述预测动作输出策略控制本游戏角色输出对应的预测动作。在所述本游戏角色输出所述预测动作时,需要判断所述预测动作的合理性,若所述预测动作不合理,则需要对不合理动作的采样概率进行调整。

可选地,所述预测动作输出模块14用于:

当所述预测动作中存在不合理动作时,获取与所述预测动作对应的动作限制机制;

根据所述动作限制机制对所述不合理动作进行动作限制操作,以对所述不合理动作的采样概率进行调整;

输出进行完所述动作限制操作后的预测动作。

具体地,通过判断所述预测动作是否符合常理对所述AI模型的输出进行限制,对于离散动作,所述AI模型输出的是选择动作的概率,对于不合理的动作,将其采样概率调整为0,从而无法采样到该动作。

示例性的,当所述预测动作为移动路径选择时,所述不合理动作为:朝存在障碍物的前进方向;则,所述动作限制机制为:将存在障碍物的前进方向的采样概率调整为0。当所述预测动作输出为攻击目标选择时,所述不合理动作输出为:选择不可见攻击目标;则,所述动作限制机制为:将所述不可见攻击目标的采样概率调整为0。当所述预测动作为采取的游戏动作时,所述不合理动作输出为:选择处于冷却状态的技能;则,所述动作限制机制为:将处于冷却状态的技能的采样概率调整为0。

比如,所述预测动作为选择攻击目标,所述AI模型可能选择的是视野范围外看不见的敌人,此时就需要对所述AI模型的动作输出做一定的处理,针对选择攻击目标敌人1、敌人2和敌人3,输出为选择敌人1的概率、选择敌人2的概率以及选择敌人3的概率,概率和为1,如果此时敌人1不可见,则会将选择敌人1的概率调整为0,只选择可见的敌人。

进一步地,当所述预测动作为所述本游戏角色的俯仰角度;则,所述预测动作输出模块还用于:

获取所述本游戏角色使用预瞄准技能的应用场景;

当所述本游戏角色在未看见攻击目标时使用预瞄准技能,输出所述AI模型预测角度作为俯仰角度;

当所述本游戏角色在看见攻击目标时使用预瞄准技能,计算自身和攻击目标的预设位置夹角作为俯仰角度。

示例性的,所述俯仰角度为pitch转角,表示本游戏角色在使用其预瞄准技能时所采用的俯仰角度。当所述本游戏角色在未看见攻击目标时使用预瞄准技能,输出所述AI模型预测角度作为俯仰角度,因本游戏角色在其视野范围内未看见攻击目标,此时无法直接计算俯仰角度,因此可直接采用AI模型预测角度作为俯仰角度。当所述本游戏角色在看见攻击目标时使用预瞄准技能,可以直接计算出本游戏角色的俯仰角度,若所述预设位置为头部时,以本游戏角色和敌对游戏角色的头部的连接线与水平线的夹角作为俯仰角度。

更进一步地,在所述预测动作输出模块14中输出进行完所述动作限制操作后的预测动作后,所述预测动作输出模块14还用于:

将进行完所述动作限制操作后的预测动作作为样本数据输入到所述AI模型中,以训练所述AI模型。

示例性的,进行完动作限制后的所述预测动作,可以作为样本数据输入到所述AI模型中,对所述AI模型进行训练,因不合理的动作不会产生好的reward(奖励),若未进行动作限制,直接将所述预测动作输入到所述AI模型中,会导致所述AI模型产生的无效样本过多,该无效样本无法应用到AI模型中,因此,为了减少这些无效样本,对所述预测动作进行限制,使所述AI模型的训练速度更快,所述AI模型训练的越好,产生的不合理动作输出会越少。

相比于现有技术,本发明实施例公开的游戏角色动作控制装置10,首先,获取本游戏角色当前的游戏状态信息,并获取特殊游戏状态下的敌对游戏角色当前的游戏状态信息;然后,根据所述敌对游戏角色当前的游戏状态信息,预测下一时刻所述敌对游戏角色的预测位置信息;最后,将本游戏角色当前的游戏状态信息和所述敌对游戏角色的预测位置信息输入AI模型,确定本游戏角色当前采取的预测动作输出策略,以控制本游戏角色按照所述预测动作输出策略输出预测动作。由于在确定本游戏角色当前采取的预测动作输出策略时,充分考虑了敌对游戏角色的游戏状态信息,从而能够基于敌对游戏角色的游戏状态信息预测出敌对游戏角色在下一时刻的预测位置信息,使得本游戏角色能够提前作出应对策略,进而提高本游戏角色的技能命中率,使得本游戏角色动作的预测输出结果准确合理。

参见图3,图3是本发明实施例提供的一种游戏角色动作控制设备20的结构框图;所述游戏角色动作控制设备20包括:处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述各个游戏角色动作控制方法实施例中的步骤。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述游戏角色动作控制设备20中的执行过程。

所述游戏角色动作控制设备20可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述游戏角色动作控制设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是游戏角色动作控制设备20的示例,并不构成对游戏角色动作控制设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述游戏角色动作控制设备20还可以包括输入输出设备、网络接入设备、总线等。

所称处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述游戏角色动作控制设备20的控制中心,利用各种接口和线路连接整个游戏角色动作控制设备20的各个部分。

所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述游戏角色动作控制设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述游戏角色动作控制设备20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种游戏渲染方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类