首页> 中国专利> 游戏平衡性测试方法、装置、电子设备和存储介质

游戏平衡性测试方法、装置、电子设备和存储介质

摘要

本发明实施例提供了一种游戏平衡性测试方法、装置、电子设备和存储介质,所述方法包括:提供一平台页面;响应作用于所述平台页面的获取操作,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务;将所述测试任务提交至所述平台页面对应的平衡性测试平台,以使所述平衡性测试平台根据所述战斗阵容数据生成训练战斗结果数据;接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据。本发明实施例可以自动生成训练战斗结果数据并在平台页面上展示,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

著录项

  • 公开/公告号CN112263835A

    专利类型发明专利

  • 公开/公告日2021-01-26

    原文格式PDF

  • 申请/专利权人 网易(杭州)网络有限公司;

    申请/专利号CN202011280307.3

  • 发明设计人 袁冬生;罗嘉诚;

    申请日2020-11-16

  • 分类号A63F13/58(20140101);A63F13/75(20140101);A63F13/798(20140101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人吴文心

  • 地址 310052 浙江省杭州市滨江区长河街道网商路599号4幢7层

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本发明实施例涉及游戏技术领域,特别是涉及一种游戏平衡性测试方法、一种游戏平衡性测试装置、电子设备和存储介质。

背景技术

随着互联网的不断发展,游戏已经成为越来越多人的娱乐活动,其中,游戏数值的平衡性对于游戏的稳定运营至关重要,其对游戏造成的影响有时甚至超过一些严重的故障。比如在一些游戏中,由于部分游戏技能的游戏数值与其他游戏技能不平衡,导致没有选择该游戏技能的玩家很难赢过选择该游戏技能的玩家,严重破坏了游戏平衡性,导致大量玩家不满和舆论,进而对游戏的运营产生重大负面影响。

然而游戏数值的平衡性设计,尤其是战斗类型的游戏数值的平衡性设计,往往很难考虑周全,这是因为战斗需要考虑的维度往往非常多,比如生命、攻击力、防御、眩晕控制、召唤物等游戏数值,策划人员很难通过数学公式或数学建模来衡量即将外放的新的游戏技能(包括新的游戏角色的游戏技能以及新的游戏技能)对于目前游戏的平衡性的影响。因此,如何协助策划人员保障平衡性方面的游戏质量,是一个处于研究中的重要课题。

发明内容

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏平衡性测试方法和相应的一种游戏平衡性测试装置、电子设备、存储介质。

为了解决上述问题,本发明实施例公开了一种游戏平衡性测试方法,所述方法包括:

提供一平台页面;

响应作用于所述平台页面的获取操作,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务;

将所述测试任务提交至所述平台页面对应的平衡性测试平台,以使所述平衡性测试平台根据所述战斗阵容数据生成训练战斗结果数据;

接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据。

可选地,所述获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务,包括:

获取第一战斗阵容数据;所述第一战斗阵容数据为根据游戏外放后采集的线上战斗结果数据获取所得;

根据所述第一战斗阵容数据创建测试任务。

可选地,所述获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务,包括:

获取第二战斗阵容数据;所述第二战斗阵容数据为所述平衡性测试平台作为模板保存的战斗阵容数据;

根据所述第二战斗阵容数据创建测试任务。

可选地,所述方法还包括:

在所述平台页面上输入的战斗阵容数据;

响应针对所述战斗阵容数据的保存操作,将所述战斗阵容数据发送至所述平衡性测试平台,以在所述平衡性测试平台中作为模板保存。

可选地,所述测试任务包括多个战斗阵容数据,所述接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据,包括:

接收所述平衡性测试平台发送的多个所述战斗阵容数据对应的训练战斗结果数据;

在所述平台页面中比对展示多个所述战斗阵容数据对应的训练战斗结果数据。

可选地,所述方法还包括:

响应作用于所述平台页面的先验数据查询操作,生成先验查询指令;

将所述先验查询指令发送至所述平衡性测试平台,以使所述平衡性测试平台根据所述先验查询指令获取线上战斗结果数据;

接收所述平衡性测试平台发送的线上战斗结果数据,并在所述平台页面上展示所述线上战斗结果数据。

可选地,所述测试任务中还包括训练配置数据,所述训练配置数据至少包括战斗类型、测试环境和测试场数,所述训练战斗结果数据至少包括基本概要数据、游戏阵容详细数据和游戏阵容行动数据。

本发明实施例还公开了一种游戏平衡性测试方法,所述方法包括:

接收客户端提交的测试任务;所述测试任务中包括战斗阵容数据;

根据所述战斗阵容数据生成训练战斗结果数据;

将所述训练战斗结果数据发送至所述客户端,以在所述客户端上通过平衡性测试平台提供的平台页面展示所述战斗结果数据。

本发明实施例还公开了一种游戏平衡性测试装置,所述装置包括:

平台页面提供模块,用于提供一平台页面;

战斗阵容数据获取模块,用于响应作用于所述平台页面的获取操作,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务;

测试任务提交模块,用于将所述测试任务提交至所述平台页面对应的平衡性测试平台,以使所述平衡性测试平台根据所述战斗阵容数据生成训练战斗结果数据;

训练战斗结果数据展示模块,用于接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据。

可选地,所述战斗阵容数据获取模块,用于获取第一战斗阵容数据;所述第一战斗阵容数据为根据游戏外放后采集的线上战斗结果数据获取所得;根据所述第一战斗阵容数据创建测试任务。

可选地,所述战斗阵容数据获取模块,用于获取第二战斗阵容数据;所述第二战斗阵容数据为所述平衡性测试平台作为模板保存的战斗阵容数据;根据所述第二战斗阵容数据创建测试任务。

可选地,所述装置还包括:模块创建模块,用于在所述平台页面上输入的战斗阵容数据;响应针对所述战斗阵容数据的保存操作,将所述战斗阵容数据发送至所述平衡性测试平台,以在所述平衡性测试平台中作为模板保存。

可选地,所述测试任务包括多个战斗阵容数据,所述训练战斗结果数据展示模块,用于接收所述平衡性测试平台发送的多个所述战斗阵容数据对应的训练战斗结果数据;在所述平台页面中比对展示多个所述战斗阵容数据对应的训练战斗结果数据。

可选地,所述装置还包括先验数据查询模块,用于响应作用于所述平台页面的先验数据查询操作,生成先验查询指令;将所述先验查询指令发送至所述平衡性测试平台,以使所述平衡性测试平台根据所述先验查询指令获取线上战斗结果数据;接收所述平衡性测试平台发送的线上战斗结果数据,并在所述平台页面上展示所述线上战斗结果数据。

可选地,所述测试任务中还包括训练配置数据,所述训练配置数据至少包括战斗类型、测试环境和测试场数,所述训练战斗结果数据至少包括基本概要数据、游戏阵容详细数据和游戏阵容行动数据。

本发明实施例还公开了一种游戏平衡性测试装置,所述装置包括:

测试任务接收模块,用于接收客户端提交的测试任务;所述测试任务中包括战斗阵容数据;

训练战斗结果数据生成模块,用于根据所述战斗阵容数据生成训练战斗结果数据;

训练战斗结果数据发送模块,用于将所述训练战斗结果数据发送至所述客户端,以在所述客户端上通过平衡性测试平台提供的平台页面展示所述战斗结果数据。

本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的游戏平衡性测试方法的步骤。

本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的游戏平衡性测试方法的步骤。

本发明实施例包括以下优点:

在本发明实施例中,进入平衡性测试平台提供的平台页面,响应作用于平台页面的获取操作,获取战斗阵容数据,并根据战斗阵容数据创建测试任务并提交至平衡性测试平台,以使平衡性测试平台根据战斗阵容数据生成训练战斗结果数据,然后可以将训练战斗结果数据在平台页面上展示。本发明实施例可以自动生成训练战斗结果数据并在平台页面上展示,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

附图说明

图1是本发明的一种游戏平衡性测试方法实施例的步骤流程图;

图2是本发明的一种平衡性测试平台的平台页面的示意图之一;

图3是本发明的一种平衡性测试平台的平台页面的示意图之二;

图4是本发明的一种平衡性测试平台的平台页面的示意图之三;

图5是本发明的一种平衡性测试平台的平台页面的示意图之四;

图6是本发明的一种平衡性测试平台的平台页面的示意图之五;

图7是本发明的一种平衡性测试平台的平台页面的示意图之六;

图8是本发明的另一种游戏平衡性测试方法实施例的步骤流程图;

图9是本发明的一种平衡性测试平台的基本结构图;

图10是本发明的一种测试任务的管理和调度的流程图;

图11是本发明的一种测试任务的管理示意图;

图12是本发明的一种数据收集与实时分析的流程图;

图13是本发明的一种游戏平衡性测试装置实施例的结构框图;

图14是本发明的另一种游戏平衡性测试装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

首先,对于本发明实施例涉及的一些技术名字进行介绍,具体包括:

外放:将新的游戏内容通过补丁/整包等方式,更新给玩家,使玩家能够体验到新的游戏内容。

后验:基于上线后的后验数据进行统计验证的过程,例如一个游戏角色正式外放后,通过玩家舆论得知游戏角色实际的强弱。

先验:基于上线前的先验数据进行统计验证的过程,例如一个游戏角色在外放前,策划人员在开发环境中不断试玩,体验游戏角色强弱。

泛化性:即AI模型通过学习所掌握的,能够适应所有输入情况,例如输入任意一套游戏阵容都能打出最优的打法。

参照图1,示出了本发明的一种游戏平衡性测试方法实施例的步骤流程图,应用于客户端,本发明实施例具体可以包括如下步骤:

步骤101,提供一平台页面。

在本发明实施例中,在服务器(后端)中部署有平衡性测试平台,用于策划人员了解游戏当前的平衡性情况。平衡性测试平台可以为客户端(前端)提供对应的平台页面,使得在客户端的策划人员能够进入平台页面,并基于平台页面进行操作。

步骤102,响应作用于所述平台页面的获取操作,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务。

其中,战斗阵容数据是指参与战斗的游戏角色组合,以及游戏角色组合中各个游戏角色的基本属性、游戏技能和游戏装备等。作为一种具体示例,游戏角色可以是游戏人物或者怪兽等。

在本发明实施例中,策划人员可以通过平衡性测试平台的平台页面进行获取操作,从而获取到对应的战斗阵容数据,进而基于战斗阵容数据创建测试任务,以用于测试基于战斗阵容数据进行战斗后可能的战斗结果。

步骤103,将所述测试任务提交至所述平台页面对应平衡性测试平台,以使所述平衡性测试平台根据所述战斗阵容数据生成训练战斗结果数据。

在本发明实施例中,所述训练战斗结果数据至少可以包括基本概要数据、游戏阵容详细数据和游戏阵容行动数据。具体地,基本概要数据包含任务基本数据和游戏阵容基本数据,其中,任务基本数据包含战斗类型、测试环境和测试场数等基本环境数据,任务基本数据可以在提交测试任务时保存到数据库中,游戏阵容基本数据包含游戏角色基本配置,游戏阵容的胜率和游戏阵容输出数据(伤害数据)等;游戏阵容详细数据包括游戏阵容中每个游戏角色的输出数据和每个游戏角色的行动数据,其中,输出数据可以包括场均伤害数据、执行输出游戏角色、场均技能释放数量和行动次数等,行动数据可以包括行动游戏角色、释放技能、技能释放目标、影响角色,生命变化和buff(增益)变化。当然,上述关于训练战斗结果数据的举例仅仅是作为示例,在实际应用中,不同的游戏所对应的战斗阵容数据不同,进而训练战斗结果数据也有所不同,本发明实施例对此并不需要加以限制。

其中,在平衡性测试平台中包括AI(Artificial Intelligence,人工智能)模型,在生成测试任务后,将该测试任务提交至平衡性测试平台,平衡性测试平台可以基于测试任务中的战斗阵容数据,利用AI模型生成对应的训练战斗结果数据。

步骤104,接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据。

具体地,本发明实施例的AI模型为利用强化深度学习设计的、用于先验平衡性测试的智能体,对游戏的平衡性进行测评,通过剥离战斗客户端逻辑,可以实现短时间大量训练战斗结果数据的产生,通过增大数据样本的方式降低以往人工先验测评的主观性和随机性。同时本发明实施例的平衡性测试平台,可以对大量的训练战斗结果数据进行实时的聚合和分析,及时提取所需的训练战斗结果数据,从而产出测评报告。作为一种具体示例,在测评报告中,平衡性测试平台可以提供完整的AI战斗回溯,同时策划人员可以代入其中一方AI进行实际操作战斗,实际体验平衡性情况从而对AI的测评产生信任,从而更能更好地合理设计游戏的游戏数值。

在本发明实施例中,在平衡性测试平台完成测试任务后,可以将经过聚合和分析后的训练战斗结果数据发送至客户端,使得在客户端可以在平台页面上展示的训练战斗结果数据。

在上述平衡性测试方法中,进入平衡性测试平台提供的平台页面,响应作用于平台页面的获取操作,获取战斗阵容数据,并根据战斗阵容数据创建测试任务并提交至平衡性测试平台,以使平衡性测试平台根据战斗阵容数据生成训练战斗结果数据,然后可以将训练战斗结果数据在平台页面上展示。本发明实施例可以自动生成训练战斗结果数据并在平台页面上展示,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

在本发明实施例中,利用强化深度学习的AI模型作为先验平衡性测试的智能体。强化学习并不是某一种特定的算法,而是一类算法的统称,是机器学习的一种学习方式,与监督学习、无监督学习相对应。强化学习是一种试错方法,其目标是让智能体在特定环境中能够采取回报最大化的行为。具体地,强化学习的基本流程是智能体(Agent)在特定的环境下通过执行特定的动作(Action)来改变环境状态,环境状态改变的同时还会得到一个奖励(Reward),通过奖励的好坏,智能体可以学到获得最大奖励的策略。

目前在游戏领域中,使用较多的算法是DQN(Deep Q-Network)算法,该算法的核心是通过神经网络来处理状态和行动较多场景下智能体的决策,并通过神经网络来拟合价值函数,并且收敛到最小误差。

当然,除了上述的算法之外,可以采用其他强化学习算法,还可以采用其他算法实现本发明实施例的AI模型,本发明实施例对于实现AI模型的算法并不需要加以限制。

其中,由于是利用强化深度学习的AI模型作为先验平衡性测试的智能体,那就要求AI模型对于每一套战斗阵容对应的战斗阵容数据都能达到游戏高端玩家的水平,才能起到平衡性测评的效果,然而在强化深度学习的AI模型无法在短期内学习得到泛化性,针对上述问题,本发明实施例可以通过平衡性测试平台提供的平台页面快速输入战斗阵容数据,并基于战斗阵容数据生成测试任务(订单),从而解决了AI模型较难在短时间无法达到泛化性的问题,通过平台页面,策划人员可以主动创建测试任务来达到AI模型每次针对特定的战斗阵容数据(策划人员输入的战斗阵容数据)进行训练的效果,从而能以极小的AI技术门槛和AI训练硬件设备完成训练,获取训练战斗结果数据。

本发明实施例的AI模型只需要学习特定的战斗阵容的操作,每次学习特定的战斗阵容便是一个测试任务,通过平衡性测试平台提供的平台页面,可以快速创建或者直接导入战斗阵容数据,大大降低了AI模型训练的难度要求;再通过批量的测试任务训练和调度管理的设计,在每个测试任务输入的战斗阵容数据固定的情况下,也能给到策划人员高可用度的平衡性测评效果。

在本发明的一实施例中,所述步骤102,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务,包括:获取第一战斗阵容数据;所述第一战斗阵容数据为根据游戏外放后采集的线上战斗结果数据获取所得;根据所述第一战斗阵容数据创建测试任务。

具体地,在平衡性测试平台中可以采集游戏外放至玩家后,玩家在线上基于某一游戏阵容进行战斗后产生的线上游戏战斗数据,然后可以对线上游戏战斗数据进行分析提取,得到第一战斗阵容数据。在本发明实施例中,响应于策划人员作用于平台页面的获取操作,可以自动获取到第一战斗阵容数据,从而根据第一战斗阵容数据生成对应的测试任务。

在本发明的一实施例中,所述步骤102,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务,包括:获取第二战斗阵容数据;所述第二战斗阵容数据为所述平衡性测试平台作为模板保存的战斗阵容数据;根据所述第二战斗阵容数据创建测试任务。

具体地,在平衡性测试平台中可以保存有作为模板的游戏阵容数据,其中作为模板的游戏阵容数据,可以是在先提交至平衡性测试平台的游戏阵容数据,也可以是策划人员自行通过平衡性测试页面的平台页面保存的游戏阵容数据。在本发明实施例中,响应于策划人员作用于平台页面的获取操作,可以自动获取到第二战斗阵容数据,从而根据第二战斗阵容数据生成对应的测试任务。

参照图2,策划人员可以通过平台页面,自行输入希望进行测试平衡性的战斗阵容数据,具体地,点击“导入线上阵容”按钮,平台将获取线上最新的胜率/出场率最高的战斗阵容数据,然后自动填写在平台页面中的AI订单内容,AI订单内容具体可以包含游戏角色的基本属性、游戏技能和游戏装备等。点击“导入阵容”按钮,则自动同步以往作为模板保存的战斗阵容数据,自动填写在平台页面中的AI订单内容。

在本发明的一实施例中,所述方法还包括:在所述平台页面上输入的战斗阵容数据;响应针对所述战斗阵容数据的保存操作,将所述战斗阵容数据发送至所述平衡性测试平台,以在所述平衡性测试平台中作为模板保存。

其中,自动导入作为模板的战斗阵容数据,是考虑到策划人员输入战斗阵容数据,会产生额外的人工成本,故而加入了模板保存与线上模板导入功能,方便策划人员输入战斗阵容数据,从而降低人工成本。参照图3,所示为平衡性测试平台的用于创建模板的平台页面,策划人员可以通过该平台页面输入游戏角色的基本属性、游戏技能和游戏装备等战斗阵容数据,另外,在创建测试任务的过程中也可以保存模板。

在完成战斗阵容数据的导入后,就以将战斗阵容数据作为一测试任务提交至平衡性测试平台。参照图4,点击平台页面中的“提交任务”按钮,平台根据测试任务通过消息队列发送到AI模块进行平衡性测试,从而获得训练战斗结果数据。其中,通过平衡性测试平台的平台页面上的任务中心可以看到所有的测试任务以及对应的训练战斗结果数据。其中,AI模块基于强化学习算法,通过对战斗阵容数据进行反复的战斗到一个理想的训练效果,训练过程中的实时log(日志)在右半部分展示。

在本发明的一实施例中,所述测试任务包括多个战斗阵容数据,所述接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据,可以包括:

接收所述平衡性测试平台发送的多个所述战斗阵容数据对应的训练战斗结果数据;

在所述平台页面中比对展示多个所述战斗阵容数据对应的训练战斗结果数据。

在本发明实施例中,测试任务中可以仅提交一个战斗阵容数据,也可以包括多个战斗阵容数据,当战斗阵容数据为多个时,可以接收到平衡性测试平台发送的针对多个战斗阵容数据对应的训练战斗结果数据,对应的,在平台页面中可以通过比对放置展示训练战斗结果数据,使得策划人员可以直观查看到不同战斗阵容的战斗情况。

参照图5,平台页面中的点击“查看报告”按钮,平衡性测试平台将从ELK数据平台获取AI模块上传的训练战斗结果数据,在后台通过相应的计算后,将该训练战斗结果数据返回前端实现数据的可视化。用于作为测评报告的训练战斗结果数据可以包含胜率、DPS、行动步骤等数据,同时也可以实现多个战斗阵容数据的对比。进一步,如果策划人员想要查看战斗阵容中某一个游戏角色的训练战斗结果数据,可以点击游戏角色对应的头像,进入展示游戏角色的详细输出数据的平台页面,此外,本发明实施例还可以进入查看游戏角色的行动数据平台页面,具体如图7所示。

在本发明的一实施例中,所述方法还包括:响应作用于所述平台页面的先验数据查询操作,生成先验查询指令;将所述先验查询指令发送至所述平衡性测试平台,以使所述平衡性测试平台根据所述先验查询指令获取线上战斗结果数据;接收所述平衡性测试平台发送的线上战斗结果数据,并在所述平台页面上展示所述线上战斗结果数据。

在本发明实施例的平衡性测试平台中,还可以收集先验数据,即将游戏外放后采集玩家参与战斗的战斗阵容对应的线上战斗结果数据,并保存到数据库中,当在平台页面上策划人员的先验数据查询操作时,可以生成先验查询指令并发送至平衡性测试平台,使得平衡性测试平台获取线上战斗结果数据并返回至客户端,以在平台界面上展示线上战斗结果数据。

本发明实施例中,平衡性测试平台可以基于线上战斗结果数据和训练战斗结果数据进行平衡性分析,能有效地帮助策划人员完成游戏数值的平衡性调整,因为其收集并统计了新游戏技能/新游戏角色外放后,平衡性数据的变化情况(例如游戏角色的胜率、出场率的变化情况)以及基于AI模块训练所得的训练战斗结果数据。需要注意的是,本发明实施例的平衡性测试平台可以基于训练战斗结果数据(先验数据),因此能够在新的游戏技能的外放初期就能够提前预知可能的战斗结果,从而对游戏数值进行调整,保障了玩家的游戏体验,避免了新游戏技能/新游戏角色外放之初,对游戏口碑造成的舆论影响。

参照图8,示出了本发明的另一种游戏平衡性测试方法实施例的步骤流程图,应用于平衡性测试平台,本发明实施例具体可以包括如下步骤:

步骤801,接收客户端提交的测试任务;所述测试任务中包括战斗阵容数据;

步骤802,根据所述战斗阵容数据生成训练战斗结果数据;

步骤803,将所述训练战斗结果数据发送至所述客户端,以在所述客户端上通过平衡性测试平台提供的平台页面展示所述战斗结果数据。

在本发明实施例中,部署在后端的平衡性测试平台,在接收到客户端提交的测试任务后,可以基于测试任务中的战斗阵容数据,基于AI模块进行训练,从而生成对应的训练战斗结果数据,并保存到数据库中,其中在返回给客户端之前,还可以对训练战斗结果数据进行聚合和分析,从而可以在训练战斗结果数据返回至客户端后,可以更好地通过可视化方式展示给策划人员,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

下面对于平衡性测试平台生成战斗结果数据的过程进行说明。

参照图9,所示为本发明实施例的平衡性测试平台的基本结构图,本发明实施例的平衡性测试平台主要包括如下模块:日志ELK模块(包含正则过滤),Web后台模块,消息队列模块、AI模块(包含AI模型)以及Web页面模块。其中:日志ELK模块主要功能是提训练战斗结果数据和线上战斗结果数据的存储和过滤,为后台提供搜索查询的功能;Web后台模块主要提供Web页面的相关接口,以及数据整合和消息处理;消息队列模块主要提供订单的收发,负责与AI模块进行通信;AI模块主要负责AI模型的训练和自动战斗,生成训练战斗结果数据并上传至ELK;Web页面模块主要是进行页面的综合展示,提供简洁明了关于训练战斗结果数据和线上战斗结果等其他数据的展示。

下面对测试任务调度和管理的实现原理做详细的阐述,订单调度与管理的流程如图10所示,基本步骤和流程如下:

1、在策划人员通过Web页面模块输入测试任务后,提交至平衡性测试平台,其中测试任务可以包含uid训练编号,user用户数据,group小组数据,aitype训练类型,train_seeting用户提交的训练数据(包含游戏角色的配置数据等),engine_setting用户提交的引擎数据(包含训练时长等系统数据)。

2、测试任务通过Rabbitmq消息队列,与AI模块进行通信。平衡性测试平台使用Pika库为基础建立生产者(Producer)和消费者(Consumer)。具体地,平衡性测试平台的Producer采用小组名称作为routing_key,并使用直接连接(direct)交换机的方式与AI模块进行通信,这样可以保证AI模块作为唯一的接收方获取测试任务等消息数据。同时平衡性测试平台启动一个Consumer进行消息接收,Consumer则是采用队列竞争模式,可以启用多个Consumer来同时处理多个测试任务,保证数据及时更新。

3、Consumer接收消息数据并更新测试任务的状态。本发明实施例中可以将测试任务的任务状态定义成等待空闲服务器、正在训练、正在测试、成功、失败、中断和删除等多种任务状态,AI模块通过消息队列将任务状态发送到Consumer,Consumer更新当前测试任务的任务状态同时将log数据发送到redis进行存储。其中,Redis是一个Key-Value的数据库,本发明实施例以测试任务的uid作为key,log数据作为value进行存储。log数据最终都在Web页面进行展示。

4、Web页面模块的测试任务管理和展示,如图4所示。左边是测试任务状态、用户和时间等基本数据,右边则是测试任务的日志数据,日志数据中包含了训练通关情况,算法表现等数据,可以直观展示当前测试任务的训练情况,例如训练了几轮,每一轮训练结果等等。此外,Web页面模块也提供了操作测试任务的功能,包含查看任务详情,中断任务和删除测试任务的功能。

下面对数据收集与实时分析的实现原理做详细的阐述。数据收集和实时分析分成两个部分,首先是先验数据统计分析,也就是AI模块上传的训练战斗结果数据,其次是后验数据分析,也就是线上游戏的线上战斗结果数据。先验数据和后验数据都是存储到ELK日志系统中。其中,ELK是一套提供日志存储、搜索、过滤的分布式系统,核心Elasticsearch日志存储。本发明实施例中ELK日志系统目前可以支持多种格式的日志,例如loghub,Kafka,P1P2运营日志等等。

具体地,数据收集与实时分析的流程如图11所示,具体步骤包括:

1、先验数据解析。先验数据由AI模块通过Kafka接入到Elasticsearch存储,数据格式较为简单,可以直接进行字段映射。字段映射是将先验数据映射成指定类型的字段,包含keyword、integer、date和nested(嵌套)等类型。先验数据映射为字段后,后台可以对字段进行聚合操作,能够对大量先验数据进行聚合统计。训练战斗结构数据分为三个部分,第一部分是当前环境数据,包含heroname行动游戏角色、skill技能、guihuo当前技能和curturn行动次数,uid任务订单数据和game_id游戏场次等数据,主要涵盖当前行动回合的状态,其中每一个uid任务订单,包含多个game_id游戏场次。第二部分是hero嵌套字段,表示我方游戏角色数据,包含我方游戏角色的useguihuo技能数量,damage伤害量,suffer损伤量,cure治疗量。第三部分是enemy敌方游戏角色新,包含敌方游戏角色useguihuo技能数量,damage伤害量,suffer损伤量,cure治疗量。其中第二部分和第三部分数据为json格式,因此映射为nested类型,这些映射的字段都可以通过聚合进行统计查询。

2、后验数据解析。先验数据由运营日志接入,数据格式相较于先验数据较为复杂,是一系列混乱的字符串,需要对后验数据进行正则过滤和字段映射。具体地,通过正则表达式过滤和设置索引字段,才能从后验数据中提取所需的数据。其中,正则过滤是通过改写ELK提供的logstash配置文件,主要方式是先用正则使用正则表达式%{raw_data}[%{date}][%{tablename}],%{json_data}获取到切出json结构以及时间戳、table名称。其中json_data就是所需的数据,拿到json_data后,根据不同的battle_type对后验数据进行不同的筛选操作,再用ruby语言进行字段过滤操作生成能够映射到索引的数据。最后映射到的字段包含battle_list游戏角色列表、battle_type战斗类型、d_battle_list敌方游戏角色列表、battle_time战斗时间、yuhun_list装备数据等字段,这些字段都可以通过聚合进行统计查询。

2、ELK聚合统计与分析。先验数据和后验数据接入到ELK系统后,可以通过ELK提供的聚合API(ApplicationProgramming Interface,应用程序接口)进行聚合操作。在一些大型多人对战游戏中,每天的后验数据可以多达上百万条,如果需要对每一条后验数据都进行查询,那么计算过程将非常缓慢,因此平衡性测试平台需要对数据进行聚合操作。具体地,聚合是指对特定数据进行的统计查询。在平衡性测试平台进行数据获取时,就需要对不同的日志设计buckets(桶)。如,先验数据中胜率查询,本发明实施例先对日志中的uid订单编号进行过滤,然后聚合统计wincamp字段,wincamp为1表示我方取得胜利,2表示敌方胜利。聚合通过会返回wincamp为1的日志总数,计算得到胜率数据,如果不使用聚合而查询每一条后验数据,则无法快速获取相应的结果。

下面对平衡性测试平台的报告页面进行详细的阐述,报告页面可以分为三个部分,分别是基本概要数据,游戏角色详细数据和阵容行动数据。

1、基本概要数据如图5所示,基本概要数据中主要包含任务基本数据和游戏角色数据。具体地,第一是任务基本数据,包含战斗类型、测试环境和测试场数等基本环境数据,任务基本数据是提交任务时保存到数据库。第二是游戏角色数据,包含游戏角色的基本配置,胜率和输出。游戏角色数据中的胜率和输出都是通过ELK聚合的方式查询得到的,以胜率为例,首先获取到当前测试任务的uid,然后通过uid过滤出所有的战斗结果数据,对日志中的wincamp字段进行统计。此外还包含对战指令和录像标识(ID),该数据是由AI模块生成并发送到后台数据库中,对战指令包括两个部分,第一部分是对战命令ai_test_logic gm_pvai,第二部分是uid编号和扮演玩家编号,在阴阳师客户端上输入对战指令可扮演对应的阵容。录像ID也包含两个部分,第一是录像命令ai_replay,第二是游戏场次game_id,输入录像ID可以实时回放具体场次的战斗录像。

2、游戏角色详细数据如图6和图7所示,基本概要数据中主要包含输出数据和行动数据。具体地,第一是每个游戏角色的输出数据,包括场均伤害、DPS、场均技能和行动次数等等。游戏角色输出数据是AI模块上传的ELK中存储的,报告通过统计具体日志中heros字段下的numberdiff嵌套数据中的useguihuo技能数量,damage伤害量,suffer损伤量,cure治疗量。第二是每个游戏角色的行动数据,行动数据同样是从ELK中获取的,包含行动角色、释放技能、技能释放目标、影响角色,生命变化和buff(增益)变化等,报告通过任务订单uid过滤出game_id游戏场次,行动数据则随机获取一个game_id,并根据curturn出手顺序,依次输出每一条日志数据。

综上可知,本发明实施例解决目前游戏产品先验平衡性测试完全依赖人工,且主观随机性较强的问题,并且还可以通过全自动化的方式为策划人员提供专业的平衡性测评报告,为策划人员调整游戏的平衡性设计提供有力参考。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图13,示出了本发明的一种游戏平衡性测试装置实施例的结构框图,本发明实施例具体可以包括如下模块:

平台页面提供模块1301,用于提供一平台页面;

战斗阵容数据获取模块1302,用于响应作用于所述平台页面的获取操作,获取战斗阵容数据,以根据所述战斗阵容数据创建测试任务;

测试任务提交模块1303,用于将所述测试任务提交至所述平台页面对应的平衡性测试平台,以使所述平衡性测试平台根据所述战斗阵容数据生成训练战斗结果数据;

训练战斗结果数据展示模块1304,用于接收所述平衡性测试平台发送的训练战斗结果数据,并在所述平台页面上展示所述训练战斗结果数据。

在本发明的一实施例中,所述战斗阵容数据获取模块1302,用于获取第一战斗阵容数据;所述第一战斗阵容数据为根据游戏外放后采集的线上战斗结果数据获取所得;根据所述第一战斗阵容数据创建测试任务。

在本发明的一实施例中,所述战斗阵容数据获取模块1302,用于获取第二战斗阵容数据;所述第二战斗阵容数据为所述平衡性测试平台作为模板保存的战斗阵容数据;根据所述第二战斗阵容数据创建测试任务。

在本发明的一实施例中,所述装置还包括:模块创建模块,用于在所述平台页面上输入的战斗阵容数据;响应针对所述战斗阵容数据的保存操作,将所述战斗阵容数据发送至所述平衡性测试平台,以在所述平衡性测试平台中作为模板保存。

在本发明的一实施例中,所述测试任务包括多个战斗阵容数据,所述训练战斗结果数据展示模块1304,用于接收所述平衡性测试平台发送的多个所述战斗阵容数据对应的训练战斗结果数据;在所述平台页面中比对展示多个所述战斗阵容数据对应的训练战斗结果数据。

在本发明的一实施例中,所述装置还包括先验数据查询模块,用于响应作用于所述平台页面的先验数据查询操作,生成先验查询指令;将所述先验查询指令发送至所述平衡性测试平台,以使所述平衡性测试平台根据所述先验查询指令获取线上战斗结果数据;接收所述平衡性测试平台发送的线上战斗结果数据,并在所述平台页面上展示所述线上战斗结果数据。

在本发明的一实施例中,所述测试任务中还包括训练配置数据,所述训练配置数据至少包括战斗类型、测试环境和测试场数,所述训练战斗结果数据至少包括基本概要数据、游戏阵容详细数据和游戏阵容行动数据。

在本发明实施例中,进入平衡性测试平台提供的平台页面,响应作用于平台页面的获取操作,获取战斗阵容数据,并根据战斗阵容数据创建测试任务并提交至平衡性测试平台,以使平衡性测试平台根据战斗阵容数据生成训练战斗结果数据,然后可以将训练战斗结果数据在平台页面上展示。本发明实施例可以自动生成训练战斗结果数据并在平台页面上展示,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

参照图14,示出了本发明的一种游戏平衡性测试装置实施例的结构框图,本发明实施例具体可以包括如下模块:

测试任务接收模块1401,用于接收客户端提交的测试任务;所述测试任务中包括战斗阵容数据;

训练战斗结果数据生成模块1402,用于根据所述战斗阵容数据生成训练战斗结果数据;

训练战斗结果数据发送模块1403,用于将所述训练战斗结果数据发送至所述客户端,以在所述客户端上通过平衡性测试平台提供的平台页面展示所述战斗结果数据。

在本发明实施例中,部署在后端的平衡性测试平台,在接收到客户端提交的测试任务后,可以基于测试任务中的战斗阵容数据,基于AI模块进行训练,从而生成对应的训练战斗结果数据,并保存到数据库中,其中在返回给客户端之前,还可以对训练战斗结果数据进行聚合和分析,从而可以在训练战斗结果数据返回至客户端后,可以更好地通过可视化方式展示给策划人员,为策划人员调整平衡性设计提供有力参考,从而保障平衡性方面的游戏质量。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上游戏平衡性测试方法实施例所述的步骤。

本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上游戏平衡性测试方法实施例所述的步骤。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种游戏平衡性测试方法、一种游戏平衡性测试装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号