欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 游戏角色行为控制方法、装置、存储介质及电子设备独创技术72147字

游戏角色行为控制方法、装置、存储介质及电子设备

2021-01-31 22:28:43

游戏角色行为控制方法、装置、存储介质及电子设备

  技术领域

  本公开涉及人工智能技术领域,具体而言,涉及一种游戏角色行为控制方法、游戏角色行为控制装置、计算机可读存储介质及电子设备。

  背景技术

  随着网络游戏的出现和发展,网络游戏的类型越来越多,多角色RPG (角色扮演游戏)游戏就是其中的一种,在所有角色扮演游戏中,玩家都要扮演一个虚构角色,并控制该角色的许多活动。在多角色RPG游戏中通常采用回合制的方式,一局回合制游戏开始后,参与此局回合制游戏的多个对战角色(多个对战角色中包括玩家角色也可能包括非玩家角色)按照一定顺序轮流自己的回合,只有在轮到自己的回合,才能够进行操作。

  当对战角色包括非玩家角色(Non-player character,NPC)时,通常基于简单的AI方法确定NPC的行为。目前使用的方法有决策树方法和监督学习的方法,但是决策树方法产生的出招动作相对固定和单一,难以匹配人类玩家的水平,因而无法给予玩家足够的体验,另外当游戏角色书面很大时,为每一个角色分别构建行为树的时间开销很大;监督学习的方法通常会因为真实游戏数据难以获取而无法进行,或者局限于已有的数据本身,容易过拟合或无法保证泛化性,难以使游戏角色具备较高的水平。

  需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

  发明内容

  本公开的实施例提供了一种游戏角色行为控制方法、游戏角色行为控制装置、计算机可读存储介质和电子设备,进而至少在一定程度上可以提高既有NPC的智能化对战水平,增强游戏的可玩性,进一步提升用户体验。

  本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

  根据本公开实施例的一个方面,提供了一种游戏角色行为控制方法,包括:获取游戏全局的当前游戏状态信息,对所述当前游戏状态信息进行特征提取,以获取第一特征信息;根据所述第一特征信息和所述当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与所述目标游戏角色对应的第二特征信息;对所述第二特征信息进行分类处理,以获取与所述目标游戏角色对应的动作概率分布;基于所述动作概率分布和所述目标状态信息确定与所述目标游戏角色对应的目标行为信息。

  根据本公开实施例的一个方面,提供了一种游戏角色行为控制装置,包括:第一处理模块,用于获取游戏全局的当前游戏状态信息,对所述当前游戏状态信息进行特征提取,以获取第一特征信息;第二处理模块,用于根据所述第一特征信息和所述当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与所述目标游戏角色对应的第二特征信息;第三处理模块,用于对所述第二特征信息进行分类处理,以获取与所述目标游戏角色对应的动作概率分布;第四处理模块,用于基于所述动作概率分布和所述目标状态信息确定与所述目标游戏角色对应的目标行为信息。

  在本公开的一些实施例中,基于前述方案,所述第一处理模块配置为:确定当前游戏关卡中的第一阵营和第二阵营,所述第一阵营由多个游戏角色组成,所述第二阵营由多个所述目标游戏角色组成;获取所述第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息和站位信息,同时获取所述第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息和站位信息;根据所述第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息、站位信息和所述第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息、站位信息获得所述当前游戏状态信息。

  在本公开的一些实施例中,基于前述方案,所述第一处理模块包括:第一特征提取单元,用于将所述当前游戏状态信息输入至行动网络模型中的基础网络层,通过所述基础网络层对所述当前游戏状态信息进行多级特征提取,以获取所述第一特征信息。

  在本公开的一些实施例中,所述基础网络层包括具有不同维度的第一全连接层、第二全连接层和第三全连接层;基于前述方案,所述第一特征提取单元配置为:通过所述第一全连接层对所述当前游戏状态信息进行特征提取,以获取一级特征信息;通过所述第二全连接层对所述一级特征信息进行特征提取,以获取二级特征信息;通过所述第三全连接层对所述二级特征信息进行特征提取,以获取所述第一特征信息。

  在本公开的一些实施例中,所述行动网络模型还包括连接网络层;基于前述方案,所述第二处理模块配置为:通过所述连接网络层将所述第一特征信息和与所述目标游戏角色对应的类别信息进行连接,以获取所述第二特征信息。

  在本公开的一些实施例中,所述行动网络模型还包括分类网络层;基于前述方案,所述第三处理模块包括:第二特征提取单元,用于将所述第二特征信息输入至所述分类网络层,通过所述分类网络层对所述第二特征信息进行分类处理,以获取所述动作概率分布。

  在本公开的一些实施例中,所述分类网络层包括多个子分类网络,所述子分类网络的数量与所述目标游戏角色的数量相同;基于前述方案,所述第二特征提取单元配置为:通过各所述子分类网络分别对与各所述目标游戏角色对应的第二特征信息进行分类处理,以获取与各所述目标游戏角色对应的动作概率分布。

  在本公开的一些实施例中,基于前述方案,所述第四处理模块包括:技能屏蔽单元,用于根据所述当前游戏状态信息中与各所述目标游戏角色对应的技能状态信息对与各所述目标游戏角色对应的动作概率分布中的无效技能进行屏蔽,以获取有效动作概率分布;行为确定单元,用于根据所述有效动作概率分布确定与各所述目标游戏角色对应的目标行为信息。

  在本公开的一些实施例中,基于前述方案,所述行为确定单元配置为:获取所述有效动作概率分布中具有最大概率值的技能标识;将所述具有最大概率值的技能标识与所述技能状态信息的维度相除,以获取商值和余值;根据所述余值确定目标技能,同时根据所述商值确定目标作用角色,并根据所述目标技能和所述目标作用角色确定所述目标行为信息。

  在本公开的一些实施例中,基于前述方案,所述游戏角色行为控制方法还配置为:基于游戏组队规则,根据游戏角色的类别信息形成多个第一阵容和多个第二阵容;将所述第一阵容和所述第二阵容自由搭配,形成多个第一对阵组合;遍历各所述第一对阵组合,将各所述第一对阵组合的信息分别进行整合以获取第一游戏状态信息样本,并根据所述第一游戏状态信息样本对强化学习网络模型进行迭代训练,以获取通用强化学习网络模型;从所述第二阵容中确定与各游戏关卡对应的目标阵容,将所述目标阵容分别与各所述第一阵容搭配,形成多个第二对阵组合;遍历各所述第二阵容组合,将各所述第二阵容组合的信息分别进行整合以获取第二游戏状态信息样本,并根据所述第二游戏状态信息样本对所述通用强化学习网络模型进行训练,以获取特化强化学习网络模型。

  在本公开的一些实施例中,基于前述方案,所述强化学习网络模型包括待训练行动网络模型和评估网络模型,其中所述评估网络模型包括所述基础网络层和价值评估网络层,所述价值评估网络层为输出维度为1的全连接层。

  根据本公开实施例的一个方面,基于前述方案,根据所述游戏状态信息样本对强化学习网络模型进行训练包括:将所述游戏状态信息样本输入至所述待训练行动网络模型,通过所述待训练行动网络模型对所述游戏状态信息进行特征提取,以获取与所述游戏状态信息样本对应的行为信息;获取游戏环境根据所述行为信息确定的奖励值;在获取一局战斗中各回合对应的奖励值后,根据所述各回合对应的奖励值确定与各所述游戏状态信息样本对应的总奖励值;将各所述游戏状态信息样本输入至所述评估网络模型,通过所述评估网络模型对各所述游戏状态信息样本进行特征提取,以获取与各所述游戏状态信息样本对应的评估值;获取与同一游戏状态信息样本对应的总奖励值与评估值之间的差值,并基于所述差值调整所述强化学习网络模型的参数,直至所述差值小于预设阈值。

  根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例所述的游戏角色行为控制方法。

  根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例中所述的游戏角色行为控制方法。

  在本公开的一些实施例所提供的技术方案中,首先获取游戏全局的当前游戏状态信息,并对当前游戏状态信息进行特征提取,以获取第一特征信息;接着根据第一特征信息和当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与目标游戏角色对应的第二特征信息;然后对该第二特征信息进行特征提取,以获取与目标游戏角色对应的动作概率分布;最后基于该动作概率分布和目标状态信息确定与目标游戏角色对应的目标行为信息。本公开的技术方案一方面避免了人为规则设定,减少了时间消耗;另一方面避免了采集大量的人类玩家的真实游戏数据,同时也避免了由于已有数据的限制所导致的过拟合或缺乏泛化性的问题;再一方面能够提高游戏角色在游戏中出招的智能性,以匹配人类玩家的游戏水平,提高了用户体验。

  应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

  附图说明

  此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

  图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;

  图2示意性示出了根据本公开的一个实施例的游戏角色行为控制方法的流程示意图;

  图3示意性示出了根据本公开的一个实施例的强化学习的系统架构示意图;

  图4示意性示出了根据本公开的一个实施例的行动网络模型的结构示意图;

  图5示意性示出了根据本公开的一个实施例的获取与目标游戏角色对应的目标行为信息的流程示意图;

  图6示意性示出了根据本公开的一个实施例的分阶段自博弈训练的流程示意图;

  图7示意性示出了根据本公开的一个实施例的根据游戏状态信息样本对模型进行训练的具体流程示意图;

  图8示意性示出了根据本公开的一个实施例的评估网络模型的结构示意图;

  图9示意性示出了根据本公开的一个实施例的游戏角色行为控制装置的框图;

  图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

  具体实施方式

  现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

  此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

  附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

  附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

  图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。

  如图1所示,游戏角色行为控制系统的系统架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器 103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。

  应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。比如服务器103可以是多个服务器组成的服务器集群等。终端设备101可以是诸如笔记本、便携式电脑、台式电脑等具有显示屏幕的终端设备。

  在本公开的一个实施例中,终端设备101中搭载有游戏,用户可以在终端设备101中登陆游戏平台并参与游戏,该游戏具体可以是回合制游戏,可以是多角色回合制RPG游戏等等。通常在多角色回合制RPG游戏中,人类玩家除了和人类玩家对战外,还可以和非玩家角色NPC对战,该非玩家角色在与人类玩家对战时,需要根据人类玩家的出招进行对应的出招,以保证游戏的顺利进行,并且不影响人类玩家的游戏体验,由于NPC 不具备思维能力,那么就需要通过一定的手段帮助NPC进行智能出招。在本公开实施例中,可以对强化学习网络模型进行训练,通过强化学习网络模型对当前游戏状态信息进行特征提取,以快速生成游戏关卡中的智能化 NPC。强化学习网络模型生成与当前游戏状态信息对应的目标行为信息时,可以先获取游戏全局在当前时刻的游戏状态信息,即当前游戏状态信息,该当前游戏状态信息包括双方阵营中各个角色的类别信息、属性信息、技能状态信息以及团队配合信息,该团队配合信息具体为各个角色的站位信息;接着通过强化学习网络模型中的行动网络模型对当前游戏状态信息进行特征提取,以获取第一特征信息;该第一特征信息为当前游戏的全局状态信息,在获取第一特征信息后,可以根据该第一特征信息和当前游戏状态信息中与NPC对应的目标状态信息构建与NPC对应的第二特征信息;然后可以通过行动网络模型对第二特征信息进行分类处理,以获取 NPC的动作概率分布,该动作概率分布包括技能标识以及对应的概率值;最后根据该动作概率分布和目标状态信息即可确定NPC的目标行为信息,该目标行为信息包括NPC的作用主目标以及所要释放的技能。在本公开的实施例中,由于多角色回合制RPG游戏中双方阵营的角色均有多个,因此强化学习网络模型中可以设置多个网络分支对第二特征信息进行分类处理,以获取与各个NPC对应的动作概率分布,并根据与各个NPC对应的动作概率分布输出与各个NPC对应的目标行为信息。

  本公开实施例的技术方案一方面能够基于强化学习网络模型生成游戏角色的智能出招,提高了NPC的智能化对战水平,使得NPC与人类玩家的水平匹配,从而增强了游戏的可玩性,提高了用户体验;另一方面避免了采用决策树和监督学习的方法生成游戏角色的出招,进而减少了时间消耗,并且无需采集大量的真实游戏数据即可实现游戏角色的智能出招。

  需要说明的是,本公开实施例所提供的游戏角色行为控制方法可由服务器执行,相应地,游戏角色行为控制装置可设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的游戏角色行为控制方法。

  在本领域的相关技术中,当前多角色回合制RPG游戏的在线AI,大部分还是使用决策行为树方法。决策行为树方法一般通过对相关特征的选取来建立树结构,每个父代的子节点代表该节点所有的出招策略。游戏策划人员根据自身对角色属性和特点的理解,人为地为每一个角色设定一套条件规则,以决定在当前时刻执行何种动作。此外,也有一小部分游戏角色AI的实现是基于监督学习的方法,这类方法的实现前提是,从真实游戏场景中获取大量人类玩家的行为数据,然后构建深度神经网络,拟合模型的输出概率分布。

  但是相关技术中的方法存在相应的问题,决策行为树方法所构建出来的角色AI的智能程度一般较低,经常产生相对固定和单一的出招动作,难以匹配人类玩家的游戏水平,因此无法给予玩家足够的体验感;其次,当游戏角色数目很大时,为每一个角色分别构建行为树的时间开销很大。监督学习的方法在实际运用过程中则常常由于真实游戏数据难以获取而无法进行,抑或是局限于已有的数据本身,一方面容易产生严重的过拟合现象,角色只会单一动作;另一方面则无法保证泛化性,在真实游戏场景下容易产生匪夷所思的失误操作,因此这种方法难以使得角色具备较高的水平。

  鉴于相关技术中存在的问题,本公开实施例提供了一种游戏角色行为控制方法,该游戏角色行为控制方法通过机器学习模型实现,涉及人工智能技术领域。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

  人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

  计算机视觉技术(Computer Vision,CV),计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

  机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

  随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

  本公开实施例提供的方案涉及人工智能的机器学习技术,具体通过如下实施例进行说明:

  图2示意性示出了根据本公开的一个实施例的游戏角色行为控制方法的流程图,该游戏角色行为控制方法具体可以由服务器执行,具体为图1 中所示的服务器103。参照图2所示,该游戏角色行为控制方法至少包括步骤S210至步骤S240,详细介绍如下:

  在步骤S210中,获取游戏全局的当前游戏状态信息,对所述当前游戏状态信息进行特征提取,以获取第一特征信息。

  在本公开的一个实施例中,在游戏过程中,NPC需要根据每个时刻时对方阵营的状态信息和我方阵营的状态信息确定出招动作,在本公开实施例中,为了方便表述,将对方阵营可以标记为第一阵营,将我方阵营即 NPC阵营可以标记为第二阵营。为了确定NPC在当前游戏场景下的出招动作,那么就需要获取当前时刻游戏全局的状态信息,即当前游戏状态信息,然后再根据当前游戏状态信息确定NPC的出招动作,即目标行为信息。

  在本公开的一个实施例中,游戏状态信息具体可以包括以下几个大类:第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息和站位信息,第二阵营中各个游戏角色的类别信息、属性信息、技能状态信息和站位信息,其中第一阵营中各个游戏角色的站位信息用于表征第一阵营的团队配合信息,第二阵营中各个游戏角色的站位信息用于表征第二阵营的团队配合信息。

  在确定游戏全局的当前游戏状态信息时,首先可以确定当前游戏关卡中的第一阵营和第二阵营,其中第二阵营由多个目标游戏角色组成,该目标游戏角色可以为NPC,也就是说,第一阵营为人类玩家组成的阵营,第二阵营为NPC组成的阵营;接着可以获取第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息和站位信息,同时获取第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息和站位信息;最后根据第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息、第一站位信息和第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息、站位信息构建状态向量,该状态向量即为游戏全局的当前游戏状态信息。

  其中,游戏角色的类别信息可以理解为游戏角色的职业,技能状态信息表征游戏角色当前的技能哪些可以使用、哪些不能使用,团队配合信息即为阵营中各个角色的站位信息,以《妖精的尾巴·魔导少年》的回合制关卡战斗场景为例,每个关卡中第一阵营和第二阵营的游戏角色分别为5 个,在战斗的某一回合开始时,就需要提取10个角色的相关信息,并通过嵌入(embedding)组合构造成多维向量,作为当前游戏状态信息。当前游戏状态信息具体包括:

  (1)职业,该游戏包含11种职业,分别为力量、换装、治愈、药剂、雪舞、声波、文字、速度、灵蝶和熔岩,在本公开的实施例中,采用 one-hot的形式表征游戏角色的职业,例如一游戏角色的职业为药剂魔导士,那么其职业的表征形式为[0,0,0,1,0,0,0,0,0,0,0],也就是说,单个游戏角色的类别信息为11维的信息。

  (2)属性信息,表征游戏角色的当前属性,该游戏中的属性信息包括血量、魔量、怒气量、物理攻击能力值、魔法攻击能力值、治疗能力值等等,属性的强弱直接影响角色的攻击或防守能力。游戏角色的属性信息在战斗过程中会产生变化,其中最重要的属性值为血量,RPG游戏中血量表征了角色的健康程度,比如当血量降低为0则意味着角色阵亡。由于这些属性信息均为连续值,不同角色的属性信息各不相同,同一角色不同属性间的数值差异较大,因此我们需要对属性信息进行一定的归一化,具体地,可以将当前游戏角色对应的属性信息与该游戏角色的初始属性信息相除,以实现属性信息的归一化,其中该游戏角色的初始属性信息与其它游戏角色的相同类型属性的初始属性信息可以相同,也可以不同,例如在游戏开始时,所有角色的血量值都是100,在某个关卡某一回合的时候药剂魔导士的血量降到50,那么就可以将二者相除,将药剂魔导士的血量归一化为0.5;也可以是在游戏开始时,药剂魔导士的血量为100,不同于其它角色的血量,在某个关卡某一回合的时候药剂魔导士的血量降到50,那么也可以将二者相除,将药剂魔导士的血量归一化为0.5。根据属性信息的类别可以确定,单个游戏角色的多种属性信息占有20维度。

  (3)技能状态信息,表征角色当前的可用技能,这一信息约束了当前回合角色的合法动作空间,因此很有必要将该信息列入游戏状态信息之中。技能状态信息以0-1的形式表征,具体地可以以0表示技能不可用,1 表示技能可用,当然也可以将二者调换表征技能是否可用,本公开实施例对此不做具体限定,由于不同角色的技能数目不同,并且每个角色可能具有多个相同的技能,因此技能状态信息可以设置为20维度。

  (4)站位信息,为阵营中各个角色在游戏场景中所处的位置,通过同一阵营下不同角色的站位信息可以表征该阵营的团队配合信息,具体而言,不同的站位对相同的角色具有不同的属性加成。此外,从普适性的角度来讲,其它游戏亦会有类似的团队信息,所以在构造当前游戏状态信息的过程中也需要将这些信息考虑进来。具体到该游戏的阵容的站位信息,考虑到站位只有9个,可以以0-1形式来表征特定的站位是否被角色采用,如[1,1,1,1,1,0,0,0,0]表示阵营启用前5个站位,也就是说,5个角色构成的单个阵营站位信息占去9维度。

  根据上述四方面的信息以及其它辅助调节信息可以构造一个总维度为 469维的状态向量,作为当前游戏状态信息,当然当前游戏状态信息不限于469维,也可以是大于或等于四方面信息所构成向量的维度的其它维度,这取决于实际应用中模型设计人员对其它辅助调节信息的选取。

  在本公开的一个实施例中,在获取了当前游戏状态信息后,可以通过机器学习模型对当前游戏状态信息进行特征提取,以获取目标游戏角色对应的目标行为信息。在本公开的实施例中,机器学习模型具体为强化学习网络模型,强化学习网络模型强调如何基于环境而行动,以取得最大化的预期利益,图3示出了强化学习的系统架构示意图,如图3所示,强化学习的过程包括智能体和环境的交互,环境是一个外部系统,智能体是一个嵌入到环境中的系统,能够通过采取行动来改变状态,状态是指当前环境一个时刻的状态信息。在智能体与环境交互的过程中,智能体能够根据当前状态state和当前策略输出相应的动作action,该动作可以作用于环境,进而环境可以根据动作计算出相应地奖励值,并将该奖励值和下一时刻的状态反馈至智能体,以使智能体根据奖励值和状态改变策略并输出新的动作,以此循环,直至达到期望的奖励值。其中,奖励值可以是正的也可以是负的,如果智能体的某个行为策略导致环境正的奖赏,那么智能体以后产生这个行为策略的趋势便会加强。智能体的目标是在每个离散状态发现最优策略以使期望的奖励值的和最大。

  在本公开的一个实施例中,在游戏场景中,每个游戏角色可以看做是一个智能体,游戏角色智能化出招任务可以看成一个标准的强化学习问题,游戏角色通过策略模型给定动作,与游戏环境交互,最大化其奖励目标,奖励目标包括杀伤敌方阵营的角色,获得战斗胜利。在本公开的实施例中,将单个阵营的多个角色视为一个大的智能体,而在智能体决策输出阶段则具有多个独立的输出通道,分别对应单个阵营中各个角色各自的动作,以《妖精的尾巴·魔导少年》为例,每方阵营有5个角色,那么可以将该5个角色视为一个大的智能体,在决策输出阶段设置5个独立的输出通道,分别输出各个游戏角色的动作,这样的结构设计相对于将单个阵营中的多个角色视为多个智能体的结构设计可以避免智能体间的信息协同交互以及在训练过程中的较难收敛的问题。

  在本公开的一个实施例中,强化学习网络模型可以采用AC网络框架训练模型,也就是说,强化学习网络模型包括行动网络(Actor Network) 模型和评价网络(CriticNetwork)模型,其中行动网络模型训练的是当前策略,也就是根据当前游戏状态信息预测目标游戏角色的动作,即目标行为信息,评估网络模型学习的是价值函数,输出当前状态价值,用以评估状态的好坏,也就是说,评估网络模型在训练过程中评估在当前游戏状态下,整场战斗所能预期获得的收益。

  在本公开的一个实施例中,图4示出了行动网络模型的结构示意图,如图4所示,行动网络模型400包括基础网络层401、连接网络层402、分类网络层403、状态过滤网络层404和行为输出网络层405。其中基础网络层401用于对当前游戏状态信息进行特征提取以获取第一特征信息;连接网络层402用于将第一特征信息和与目标游戏角色的类别信息进行连接以获取第二特征信息;分类网络层403用于对第二特征信息进行分类处理,以获取与目标游戏角色对应的动作概率分布;状态过滤网络层404用于根据与目标游戏角色对应的技能状态信息对动作概率分布中的无效技能进行屏蔽,以获取有效动作概率分布;行为输出网络层405用于根据有效动作概率分布确定与目标游戏角色对应的目标行为信息。

  在本公开的一个实施例中,基础网络层401包括第一全连接层401-1、第二全连接层401-2和第三全连接层401-3,具体地,第一全连接层401-1 的维度为1024维,第二全连接层401-2的维度为512维,第三全连接层的维度为256维,在本公开实施例中,通过设置三个维度依次减小的全连接层形成基础网络层401可以很好地解决非线性问题,提高第一特征信息的提取效率和精准度;分类网络层403包含多个子分类网络,该子分类网络的数量与目标游戏角色的数量相同,也就是说,每个子分类网络用于输出与一个目标游戏角色对应的动作概率分布,以上述实施例中所述的游戏为例,NPC阵营一侧有5个游戏角色,为了获取5个NPC的动作,那么可以在分类网络层403中设置5个子分类网络,分别标记为403-1、403-2、403-3、403-4和403-5,进一步地,该些子分类网络具体可以为全连接层,该全连接层的维度与目标游戏角色的技能信息的维度及作用主目标(即可施加目标游戏角色的技能的游戏角色)的数量相关,例如可以设置为100 维、200维等等。值得说明的是,基础网络层401中全连接层的数量、全连接层的维度还可以根据实际需要设置为其它数值,本公开实施例对此不作具体限定;行动网络模型中的分类网络层403中的子分类网络的数量随目标游戏角色的数量的变化而变化,包括但不限于上述实施例中的5个。

  在本公开的一个实施例中,在获取当前游戏状态信息后,可以将当前游戏状态信息输入至行动网络模型400中的基础网络层401,通过基础网络层401对当前游戏状态信息进行多级特征提取,以获取第一特征信息。具体地,基础网络层401在接收到当前游戏状态信息后,可以通过所包含的三层全连接层401-1、401-2、401-3依次对当前游戏状态信息进行特征提取,也就是首先通过第一全连接层401-1对当前游戏状态信息进行特征提取,以获取一级特征信息;然后通过第二全连接层401-2对一级特征信息进行特征提取,以获取二级特征信息;最后通过第三全连接层401-3对二级特征信息进行特征提取,以获取第一特征信息,该第一特征信息实质上是与当前时刻的游戏场景对应的全局状态信息。值得注意的是,一级特征信息、二级特征信息和第一特征信息均为与当前游戏状态信息对应的特征信息,只是各自的维度不同。

  在步骤S220中,根据所述第一特征信息和所述当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与所述目标游戏角色对应的第二特征信息。

  在本公开的一个实施例中,在基础网络层401根据当前游戏状态信息获取第一特征信息后,可以将第一特征信息输送至连接网络层402,接着连接网络层402可以根据第一特征信息和当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与目标游戏角色对应的第二特征信息,该目标状态信息包括与目标游戏角色对应的类别信息、属性信息、技能状态信息和站位信息,在构建第二特征信息时,具体地,可以将第一特征信息分别与各个目标游戏角色对应的类别信息进行连接,以形成与各个目标游戏角色对应的第二特征信息。由于第二特征信息是根据第一特征信息和目标游戏角色的类别信息进行连接获得的,因此在分类网络层403中的子分类网络对第二特征信息进行分类处理时,可以根据其中的类别信息确定输出与哪个目标游戏角色对应的动作概率分布,保证了每个子分类网络输出一个目标游戏角色的动作概率分布,进而保证最终获取多个目标游戏角色之间相互配合的目标行为信息。其中,将第一特征信息和与目标游戏角色对应的类别信息进行连接,实质上是对第一特征信息和类别信息进行连接操作,该操作并没有改变现有的数组。以上述实施例中的游戏为例,NPC包含五个怪物角色,假设分别为怪物A、怪物B、怪物C、怪物D和怪物 E,那么在进行连接操作时,可以将第一特征信息分别与怪物A、怪物B、怪物C、怪物D和怪物E的类别信息进行连接,以获取分别与怪物A、怪物B、怪物C、怪物D和怪物E对应的第二特征信息。

  在步骤S230中,对所述第二特征信息进行分类处理,以获取与所述目标游戏角色对应的动作概率分布。

  在本公开的一个实施例中,在获取第二特征信息后,可以将多个第二特征信息分别输入至分类网络层403中不同的子分类网络中,通过各个子分类网络对第二特征信息进行分类处理,以获取与各个目标游戏角色对应的动作概率分布,该动作概率分布包括技能标识和目标游戏角色使用各个技能标识对应的技能进行出招的概率。

  继续以上述实施例中的游戏为例,与怪物A对应的第二特征信息可以输入至子分类网络403-1中,通过子分类网络403-1对接收到的第二特征信息进行分类处理,以获取与怪物A对应的动作概率分布,同样地,与怪物B、怪物C、怪物D和怪物E对应的第二特征信息可以分别输入至子分类网络403-2、403-3、403-4和403-5中进行分类处理,以获取分别与怪物B、怪物C、怪物D和怪物E对应的动作概率分布。

  在步骤S240中,基于所述动作概率分布和所述目标状态信息确定与所述目标游戏角色对应的目标行为信息。

  在本公开的一个实施例中,由于目标游戏角色并不是能够使用所有的技能,所以在根据动作概率分布确定最终的目标行为信息之前,需要对动作概率分布中的无效技能进行屏蔽,再根据屏蔽后得到的有效动作概率分布确定最终的目标行为信息。具体地,可以将动作概率分布输入至技能过滤网络层404,技能过滤网络层404根据目标状态信息中与各个目标游戏角色对应的技能状态信息对各个目标游戏角色对应的动作概率分布中的无效技能进行屏蔽,以获取有效动作概率分布。例如怪物A无法使用封印技能,那么就需要将怪物A对应的动作概率分布中与封印技能对应的技能标识及对应的概率值屏蔽掉,只保留可用技能的技能标识及对应的概率值。

  在本公开的一个实施例中,在获取有效动作概率分布后,可以将其输入至行为输出网络层405,通过行为输出网络层405对有效动作概率分布进行处理,以获取与目标游戏角色对应的目标行为信息。图5示出了获取与目标游戏角色对应的目标行为信息的流程示意图,如图5所示,在步骤 S501中,获取有效动作概率分布中具有最大概率值的技能标识;在步骤 S502中,将具有最大概率值的技能标识与技能状态信息的维度相除,以获取商值和余值;在步骤S503中,根据余值确定目标技能,同时根据商值确定目标作用角色,并根据目标技能和目标作用角色确定目标行为信息。

  在本公开的一个实施例中,技能标识对应的概率值表示了该项技能作为出招动作的效果如何,如果概率值大则表示对应技能作为出招动作的效果好,如果概率值小则表示对应技能作为出招动作的效果较差。在获取有效动作概率分布后,可以获取其中的最大概率值以及与最大概率值对应的技能标识,根据该技能标识可以确定与目标游戏角色对应的目标行为信息。

  在本公开的一个实施例中,为了避免模型的复杂性,没有设置专门的网络用于预测技能作用的主目标,而是将可能的作用主目标的标识信息和技能标识相结合,对动作(行为)进行协同表征。下面对动作的协同表征进行详细说明,以上文提到的《妖精的尾巴·魔导少年》为例,由于不同角色的技能数目是不同的,范围大概在7-13个左右,同时技能又可以分为普通攻击技能、单点魔法攻击技能、群体魔法攻击技能、封印技能、治疗技能等等,因此可以根据技能的类别及各个技能的数量设置一个20维的技能表征向量,并对技能表征向量中的每个维度设置相应的技能,按照技能的类别依次排列游戏角色的多个技能,例如通过第1维表征所有角色均具备的普通攻击技能,第2-4维表征单点魔法攻击技能,等等。当然并不是每个维度都对应具体的技能,例如某个角色只具备两个单点魔法攻击技能,那么这两个技能分别有第2、3维的维度映射,而第4维设置无技能标签。

  在本公开的一个实施例中,多角色对战的场景下,例如《妖精的尾巴·魔导少年》的5v5场景下,游戏角色除了选择技能出招外,还需要确定技能作用的主角色,也就是该技能施加于哪个游戏角色上,理论上技能可以作用的主角色是游戏战场上的所有角色中的任意一个,但是考虑到每个技能的特性,可以将每个技能标记为攻击技能或防御技能,其中攻击技能只能作用于敌方阵营(第一阵营)的多个角色之一,防御技能只能作用于我方阵营(第二阵营)的多个角色之一,因此在本公开的实施例中,根据技能表征向量的元素数量和技能所能作用的目标的数量对动作空间进行扩展,以实现动作的协同表征,例如技能表征向量为20维的向量,防御技能或者攻击技能可以作用的目标的数量分别为5个,那么可以将动作空间扩展为100维,也就是说每个角色的动作输出将是一个100维的概率分布。上文中提到对动作进行协同表征是将可能的作用主目标的标识信息和技能标识相结合,在本公开的实施例中,作用主目标的标识信息可以是对作用主目标从零开始依次编号形成的标识信息,例如第一阵营中存在5个游戏角色a、b、c、d、e,那么与该5个游戏角色对应的标识信息可以依次设置为0、1、2、3、4,同时在设置技能标识时,也可以从零开始依次编号,对技能表征向量从前至后依次编号为0、1、2……、19,由于每个角色对应一个20维的技能表征向量,在将动作空间扩展为100维时,可以根据作用主目标的标识信息依次将对应的技能表征向量排列,并将所有的技能从零开始编号直至99,以构成100维的动作空间。值得注意的是,在分类网络层403对第二特征信息进行特征提取并输出动作概率分布时,可以确定技能的类型是攻击技能还是防御技能,这样就只需要将动作空间扩展为100维,而不用扩展为200维。

  在本公开的一个实施例中,在获取有效动作概率分布后,可以根据图 5所示的流程示意图确定目标游戏角色在当前回合出招时采用的技能和作用主目标,即目标作用角色。举例而言,当有效动作概率分布中第44维技能标识对应的概率值最大,那么可以根据第44维的技能标识确定目标行为信息,具体地,第44维的技能标识为43,每个技能表征向量为20维,那么可以采用43除以20确定商值为2,余值为3,根据余值3可以确定目标技能为技能表征向量中第3维的技能,例如是单点魔法攻击技能,该技能是攻击技能,那么根据商值2可以确定目标作用角色为敌方阵营的2号角色。

  在本公开的一个实施例中,行动网络模型为包括基础网络层和多输出的分类网络层的策略神经网络,通过基础网络层对当前游戏状态信息进行特征提取获取第一特征信息,可以保证对全局游戏环境信息的充分利用,同时通过多输出的分类网络层对第二特征信息进行分类处理获取与各目标游戏角色对应的动作分布概率,可以保证产生协同配合的阵营动作,因而本公开实施例中的行动网络模型在简化了多智能体问题的同时,保证了多个角色的独特动作输出。另外在本公开的实施例中,将不同角色的技能与作用主目标相结合的动作空间表征方式,有效地提升了角色技能使用的合理性。

  在本公开的一个实施例中,在采用行动网络模型确定游戏角色的目标行为信息之前,需要对行动网络模型进行训练,以获取稳定的行动网络模型,这样才能保证行动网络模型在应用时能够输出精准的目标行为信息,使得NPC可以智能化出招,并匹配人类玩家的水平,进而提高游戏的可玩性。行动网络模型是强化学习网络模型中的一个子模型,在训练时,需要对整个强化学习网络模型进行训练,也就是同时对行动网络模型和评估网络模型进行训练。为了与上述实施例中的行动网络模型区别,下面将深度学习网络模型中的行动网络模型标记为待训练行动网络模型,并对深度学习网络模型的训练进行具体说明。

  在本公开的一个实施例中,由于游戏中每个关卡对应一个特定的NPC 阵营,那么就需要根据关卡的不同,生成多个不同的NPC阵营。在本公开的实施例中,可以采用分阶段自博弈训练方法进行模型训练,分阶段自博弈训练包括通用模型训练和特化模型训练两个阶段。图6示出了分阶段自博弈训练的流程示意图,如图6所示,在步骤S601中,基于游戏组队规则,根据游戏角色的类别信息形成多个第一阵容和第二阵容;在步骤S602 中,将第一阵容和第二阵容自由搭配,形成多个第一对阵组合;在步骤 S603中,遍历各第一对阵组合,将各第一对阵组合的信息分别进行整合以获取第一游戏状态信息样本,并根据第一游戏状态信息样本对强化学习网络模型进行迭代训练,以获取通用强化学习网络模型;在步骤S604中,从第二阵容中确定与各游戏关卡对应的目标阵容,将与各游戏关卡对应的目标阵容分别与各第一阵容搭配,形成多个第二对阵组合;在步骤S605中,遍历各第二阵容组合,将各第二阵容组合的信息分别进行整合以获取第二游戏状态信息样本,并根据第二游戏状态信息样本对通用强化学习网络模型进行训练,以获取特化强化学习网络模型。

  在模型训练的过程中,其实质还是模拟实际战斗的场景,通过两个阵营的对战并根据对战的结果调整阵营。在模型训练初始阶段,可以根据游戏组队规则和游戏角色的类别信息形成多个第一阵容和第二阵容,由于游戏玩家所扮演角色的类别、属性等和NPC的类别、属性等是相同的,只是双方的美术表现不同,因此可以根据游戏角色的类别信息组成多个阵容,该多个阵容均可以作为第一阵容或第二阵容。在对模型训练时,可以从随机策略开始,也就是说,将第一阵容和第二阵容自由搭配,形成多个第一对阵组合,并根据各第一对阵组合对模型进行训练,具体地,可以遍历所有的第一对阵组合,将各第一对阵组合的信息分别进行整合以获取第一游戏状态信息样本,并根据第一游戏状态信息样本对强化学习网络模型进行迭代训练,直至模型的能力不再提升,以获取通用强化学习网络模型。

  通用强化学习网络模型是一个通用的智能出招模型,但是对于每个关卡并不是所有的阵容都可以达到最好的游戏效果,因此还需要对通用强化学习网络模型进行特化训练,即从通用强化学习网络模型对应的策略出发,进行特殊化的训练,以适应不同阵容的特点。具体地,可以从第二阵容中确定与各个游戏关卡对应的目标阵容,并将该目标阵容与多个第一阵容分别搭配,形成多个第二对阵组合;然后遍历各第二对阵组合,将第二对阵组合的信息分别进行整合以获取第二游戏状态信息样本,并根据第二游戏状态信息样本对通用强化学习网络模型进行训练,以获取特化强化学习网络模型,该特化强化学习网络模型即为完成训练的强化学习网络模型,其中经过训练的待训练行动网络模型即可被应用于根据当前游戏状态信息获取目标游戏角色的目标行为信息。

  在本公开的一个实施例中,分阶段自博弈训练方法是在训练形式上采用了先通用后特化的方式,至于在分阶段自博弈训练的过程中,采用第一游戏状态信息样本或第二游戏状态信息样本(统称为游戏状态信息样本) 对模型进行训练的具体流程如图7所示,在步骤S701中,将游戏状态信息样本输入至待训练行动网络模型,通过待训练行动网络模型对游戏状态信息进行特征提取,以获取与游戏状态信息样本对应的行为信息;在步骤S702中,获取游戏环境根据行为信息确定的奖励值;在步骤S703中,在获取一局战斗中各回合对应的奖励值后,根据各回合对应的奖励值确定与各游戏状态信息样本对应的总奖励值;在步骤S704中,将各游戏状态信息样本输入至评估网络模型,通过评估网络模型对各游戏状态信息样本进行特征提取,以获取与各游戏状态信息样本对应的评估值;在步骤S705中,获取与同一游戏状态信息样本对应的总奖励值与评估值之间的差值,并基于该差值调整强化学习网络模型的参数,直至该差值小于预设阈值,即可完成强化学习网络模型的训练。进一步地,在步骤S705中,可以计算总奖励值与评估值之间的差值的平方,进而根据差值的平方所得到的数值调整强化学习网络模型的参数。

  在本公开的一个实施例中,图8示出了评估网络模型的结构示意图,如图8所示,评估网络模型800包括基础网络层801和价值评估网络层 802,其中基础网络层801的结构与图4所示的行动网络模型中的基础网络层401的结构相同,也包括第一全连接层801-1、第二全连接层801-2和第三全连接层801-3,具体地,第一全连接层801-1的维度为1024维,第二全连接层801-2的维度为512维,第三全连接层801-3的维度为256维;价值评估网络为输出维度为1的全连接层。评估网络模型800接收到游戏状态信息样本后,首先通过基础网络层801对游戏状态信息样本进行特征提取,以获取游戏环境的全局信息,接着可以通过价值评估网络层802对游戏环境的全局信息进行特征提取,并输出一个标量,该标量为与游戏状态信息样本对应的评估值V,该评估值V可以衡量在与游戏状态信息样本对应的游戏状态下,模型所代表的阵营预期能够获得多大的收益。

  在本公开的一个实施例中,通过将游戏中当前战斗回合的游戏状态信息输入行动网络模型,产生相应的动作,并将动作作用回游戏环境,同时通过游戏环境计算该动作获得的奖励,通过游戏环境与行动网络模型的不断交互,完成一局战斗,产生一个连续游戏片段的<状态,动作,奖励值> 的数据链;同时将当前战斗回合的游戏状态信息输入评估网络模型,产生相应的评估值。接着基于蒙特卡洛采样,回溯计算该连续游戏片段每个状态下的总奖励值与评估网络模型输出的各个状态下的评估值的差值,该差值表征了模型的稳定程度,如果差值较大,说明模型不稳定,还需要进一步训练,如果差值较小,说明模型趋于稳定。最后根据该差值调整模型的参数,直至差值小于预设阈值,该预设阈值为一接近于零的常数,也就是说,当总奖励值与评估值相差很小甚至相同时,模型即为完成训练。

  在本公开的一个实施例中,在通过分阶段自博弈训练模型后,可以借助行为树智能出招方案进行辅助评估,一方面可以根据自博弈后游戏角色的出招与行为树中的出招进行比对,判断训练后的模型是否完成训练,进而实现游戏角色的智能出招;一方面可以通过根据模型进行出招的角色与根据行为树智能出招的角色进行战斗,根据战斗结果判断模型是否完成训练,进而实现游戏角色的智能出招。

  本公开实施例中的游戏角色行为控制方法基于强化学习网络模型实现,通过其中的行动网络模型根据游戏环境中当前游戏状态信息生成与多个目标游戏角色对应的目标行为信息,即目标游戏角色在当前游戏状态下所采用的技能和作用主目标,该方法主要可以用于多角色回合制RPG游戏中NPC的智能出招,同时该方法还可以用于实现人类玩家一侧的托管自动智能战斗功能。

  在本公开的一个实施例中,当第一阵容中存在一个或多个人类玩家选择托管自动智能战斗功能时,可以获取第一阵容中各个人类玩家所扮演的角色在当前游戏场景中的状态信息,根据与各个人类玩家所扮演的角色在当前游戏场景中的状态信息可以确定当前游戏状态信息,接着可以将该当前游戏状态信息输入至行动网络模型,通过行动网络模型对其进行特征提取以获取第一阵容中各个人类玩家的目标行为信息,最后从中选择开启智能托管战斗功能的人类玩家所对应的目标行为信息进行战斗即可,这样保证了游戏的功能完整性。其中通过行动网络模型对当前游戏状态信息进行特征提取以获取第一阵容中各个人类玩家的目标行为信息的具体过程与上述实施例中获取与目标游戏角色的目标行为信息的过程相同,因此在此不再赘述。

  在本公开的一个实施例中,本公开实施例中的游戏角色行为控制方法还可以用于1v1的回合制RPG游戏,在确定当前游戏状态信息时,获取两个游戏角色的类别信息、属性信息、技能状态信息,根据两个游戏角色的类别信息、属性信息和技能状态信息构建当前游戏状态信息即可;接着将当前游戏状态信息输入至基础网络层,以获取当前游戏的全局特征信息;然后将全局特征信息与目标游戏角色的类别信息连接,并输入至分类网络层,以使分类网络层输出与目标游戏角色对应的动作概率分布;再然后根据目标游戏角色的技能状态信息对动作概率分布中的无效技能进行屏蔽,以获取有效动作概率分布;最后根据该有效动作概率分布即可确定与目标游戏角色对应的目标行为信息。值得注意的是,当目标游戏角色的数量为 1个时,分类网络层只需设置一个全连接层进行输出即可,无需设置多个输出。

  本公开的技术方案一方面能够基于强化学习网络模型生成游戏角色的智能出招,提高了NPC的智能化对战水平,使得NPC与人类玩家的水平匹配,从而增强了游戏的可玩性,提高了用户体验;另一方面避免了采用决策树和监督学习的方法生成游戏角色的出招,进而减少了时间消耗,并且无需采集大量的真实游戏数据即可实现游戏角色的智能出招。

  以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的游戏角色行为控制方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的游戏角色行为控制方法的实施例。

  图9示意性示出了根据本公开的一个实施例的游戏角色行为控制装置的框图。游戏角色行为控制装置可以是运行于电子设备中的一个计算机程序(包括程序代码),例如该游戏角色行为控制装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。

  参照图9所示,根据本公开的一个实施例的游戏角色行为控制装置 900,包括:第一处理模块901、第二处理模块902、第三处理模块903和第四处理模块904。

  其中,第一处理模块901,用于获取游戏全局的当前游戏状态信息,对所述当前游戏状态信息进行特征提取,以获取第一特征信息;第二处理模块902,用于根据所述第一特征信息和所述当前游戏状态信息中与目标游戏角色对应的目标状态信息构建与所述目标游戏角色对应的第二特征信息;第三处理模块903,用于对所述第二特征信息进行分类处理,以获取与所述目标游戏角色对应的动作概率分布;第四处理模块904,用于基于所述动作概率分布和所述目标状态信息确定与所述目标游戏角色对应的目标行为信息。

  在本公开的一个实施例中,所述第一处理模块901配置为:确定当前游戏关卡中的第一阵营和第二阵营,所述第一阵营由多个游戏角色组成,所述第二阵营由多个所述目标游戏角色组成;获取所述第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息和站位信息,同时获取所述第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息和站位信息;根据所述第一阵营中各个游戏角色的类别信息、属性信息、技能状态信息、站位信息和所述第二阵营中各个目标游戏角色的类别信息、属性信息、技能状态信息、站位信息获得所述当前游戏状态信息。

  在本公开的一个实施例中,所述第一处理模块901包括:第一特征提取单元,用于将所述当前游戏状态信息输入至行动网络模型中的基础网络层,通过所述基础网络层对所述当前游戏状态信息进行多级特征提取,以获取所述第一特征信息。

  在本公开的一个实施例中,所述基础网络层包括具有不同维度的第一全连接层、第二全连接层和第三全连接层;所述第一特征提取单元配置为:通过所述第一全连接层对所述当前游戏状态信息进行特征提取,以获取一级特征信息;通过所述第二全连接层对所述一级特征信息进行特征提取,以获取二级特征信息;通过所述第三全连接层对所述二级特征信息进行特征提取,以获取所述第一特征信息。

  在本公开的一个实施例中,所述行动网络模型还包括连接网络层;所述第二处理模块902配置为:通过所述连接网络层将所述第一特征信息和与所述目标游戏角色对应的类别信息进行连接,以获取所述第二特征信息。

  在本公开的一个实施例中,所述行动网络模型还包括分类网络层;所述第三处理模块903包括:第二特征提取单元,用于将所述第二特征信息输入至所述分类网络层,通过所述分类网络层对所述第二特征信息进行分类处理,以获取所述动作概率分布。

  在本公开的一个实施例中,所述分类网络层包括多个子分类网络,所述子分类网络的数量与所述目标游戏角色的数量相同;所述第二特征提取单元配置为:通过各所述子分类网络分别对与各所述目标游戏角色对应的第二特征信息进行分类处理,以获取与各所述目标游戏角色对应的动作概率分布。

  在本公开的一个实施例中,所述第四处理模块904包括:技能屏蔽单元,用于根据所述当前游戏状态信息中与各所述目标游戏角色对应的技能状态信息对与各所述目标游戏角色对应的动作概率分布中的无效技能进行屏蔽,以获取有效动作概率分布;行为确定单元,用于根据所述有效动作概率分布确定与各所述目标游戏角色对应的目标行为信息。

  在本公开的一个实施例中,所述行为确定单元配置为:获取所述有效动作概率分布中具有最大概率值的技能标识;将所述具有最大概率值的技能标识与所述技能状态信息的维度相除,以获取商值和余值;根据所述余值确定目标技能,同时根据所述商值确定目标作用角色,并根据所述目标技能和所述目标作用角色确定所述目标行为信息。

  在本公开的一个实施例中,所述游戏角色行为控制方法还配置为:基于游戏组队规则,根据游戏角色的类别信息形成多个第一阵容和多个第二阵容;将所述第一阵容和所述第二阵容自由搭配,形成多个第一对阵组合;遍历各所述第一对阵组合,将各所述第一对阵组合的信息分别进行整合以获取第一游戏状态信息样本,并根据所述第一游戏状态信息样本对强化学习网络模型进行迭代训练,以获取通用强化学习网络模型;从所述第二阵容中确定与各游戏关卡对应的目标阵容,将所述目标阵容分别与各所述第一阵容搭配,形成多个第二对阵组合;遍历各所述第二阵容组合,将各所述第二阵容组合的信息分别进行整合以获取第二游戏状态信息样本,并根据所述第二游戏状态信息样本对所述通用强化学习网络模型进行训练,以获取特化强化学习网络模型。

  在本公开的一个实施例中,所述强化学习网络模型包括待训练行动网络模型和评估网络模型,其中所述评估网络模型包括所述基础网络层和价值评估网络层,所述价值评估网络层为输出维度为1的全连接层。

  在本公开的一个实施例中,根据所述游戏状态信息样本对强化学习网络模型进行训练包括:将所述游戏状态信息样本输入至所述待训练行动网络模型,通过所述待训练行动网络模型对所述游戏状态信息进行特征提取,以获取与所述游戏状态信息样本对应的行为信息;获取游戏环境根据所述行为信息确定的奖励值;在获取一局战斗中各回合对应的奖励值后,根据所述各回合对应的奖励值确定与各所述游戏状态信息样本对应的总奖励值;将各所述游戏状态信息样本输入至所述评估网络模型,通过所述评估网络模型对各所述游戏状态信息样本进行特征提取,以获取与各所述游戏状态信息样本对应的评估值;获取与同一游戏状态信息样本对应的总奖励值与评估值之间的差值,并基于所述差值调整所述强化学习网络模型的参数,直至所述差值小于预设阈值。

  图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

  需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

  如图10所示,计算机系统1000包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory, ROM)1002中的程序或者从存储部分1008加载到随机访问存储器 (Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,实现上述实施例中所述的图像标注方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005 也连接至总线1004。

  以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

  特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开的系统中限定的各种功能。

  需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory, EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read- Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

  附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

  描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

  作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的游戏角色行为控制装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

  应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

  通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD- ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

  本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。

  应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

《游戏角色行为控制方法、装置、存储介质及电子设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)