数据分析等于算命?基于纳什均衡的竞技游戏英雄数值设计先验模型

1.背景

最近在玩《战地1》,发现战地的角色设计还是很有意思的,不同于《彩虹六号》特色鲜明,和游戏策略强结合的干员技能,战地系列里面支援兵、医疗兵等不同兵种的能力是比较隐晦的,例如支援兵可以像突击兵一样往前猛冲,主要特点是供弹能力,刚玩的时候感觉没有什么兵种的感受,但是玩久了之后发现队伍缺了支援兵是真的不行的,侦察兵、医疗兵的强度会大大减弱
于是有了一个想法:能不能预先判断怎么样的兵种数值,可以均衡每个兵种的出场率,让喜欢每种兵种的玩家都享受这个游戏

2.数据模型

基本思路:

  • 射击游戏是一个典型的博弈场景,玩家需要尽可能地通过击杀对手、占领目标等方式来获取胜利,战地中玩家常常以小队的形式发生对抗。
  • 在这个背景下,我们可以将博弈抽象为“小队”之间的对抗,将小队的构成(如全突击、突击+侦察+医疗、突击+支援等)作为策略集S,此时兵种的技能调整将会影响每个策略的收益(或者说“阵容强度”),阵容强度的差异会使得博弈者(即玩家)倾向于使用高收益阵容,从而影响对局中的小队构成分布(即“环境”)。
  • 通过线性规划的优化求解方法,我们可以从当前的阵容强度推导出未来可能的环境构成,从而对环境有一个提前的预判
  • 有了环境的预判,一方面我们可以提前判断当前的阵容构成是否存在平衡性问题,另一方面可以判断当前的环境构成是否与产品的用户群体构成匹配,从而预估对用户留存的影响

数据分析等于算命?基于纳什均衡的竞技游戏英雄数值设计先验模型_第1张图片

举一个栗子:

  • 由于当前版本突击兵太强了,大家都在玩突击兵,我们同时上调了支援兵种的供弹量和医疗的加血速度,那么对核心的留存指标会有什么影响呢?
  • 首先,我们将新的数值输入收益预测模型,预测在新的数值下每一类小队构成对位其他小队构成时的收益
  • 基于预测模型的结果,更新阵容对位收益矩阵,求解当前收益下的混合纳什均衡,并于之前的作对比
  • 在混合纳什均衡中显示,多突击兵阵容的出场概率从80%下降到了40%,同时包含支援兵的阵容从10%上升到了30%,包含医疗兵的阵容从30%上升到了60%
  • 从平衡性的角度来看,所有兵种的上场率都能提升到20%+,平衡性的提升必然会带来更好的游戏体验,从而提升留存;从用户群体匹配的角度来看,擅长支援和医疗的用户能够得到合适的生存空间,因此留存意愿也会更高

胜率预测

在这个模型下,小队阵容之间的对位收益是最重要的评估依据,我们可以从玩家测试中获得各类小队阵容的对战结果,但是当我们要调整兵种技能的情况下,这种线上测试的数据就无法提供有效的支撑了。
因此,我们需要构建一个预测模型,以判断在我们对兵种技能和数值作调整之后,可能的对战结果是怎么样的,即当小队A与小队B遭遇后,可能的结果Y

F(A,B)=Y

在模型的特征上,我们主要基于小队兵种的数值来构建,例如A小队是突击兵+侦察兵+医疗,B小队是双突击+医疗,则:

  • A小队的位移能力是高于平均水平的,但是B小队的位移能力更强
  • A、B小队的回血速度与回血上限相等
  • A小队拥有侦察兵,因此侦察范围为X,而B小队为0
  • 根据实际的对战数据标记 Y=0 or 1,作为训练集数据

除了这些特征外,其他的小队面板数据(如支援兵种的修车速度等)均可以作为特征输入到模型内
数据分析等于算命?基于纳什均衡的竞技游戏英雄数值设计先验模型_第2张图片
预测模型可以采用Xgboost或LGBM,模型本身对预测准确性要求不高,更重要是减少过拟合的情况,保证模型对兵种面板数据的变更有较好的响应

组队环境推演

接下来我们需要构建一个小队对位矩阵,矩阵主要由阵容策略集S和对位胜率W组成

  • 矩阵中,每一个阵容都是一种策略,构成了策略集S。策略集S1和S2
  • 矩阵中,每一个格子W表示这一行(如突击+支援)对上这一列(如侦察+支援+支援)的胜率
  • 胜率的数据主要通过收益预测模型得到
    数据分析等于算命?基于纳什均衡的竞技游戏英雄数值设计先验模型_第3张图片

在有了这样一个矩阵后,我们可以基于混合纳什均衡的线性规划优化求解方法,得到在混合纳什均衡状态下的小队组队环境,从而对改动上线后的对局环境有先验的认知。得到:

简单补充说明一下混合纳什均衡(Mixed Nash Equilibrium , MNE):

  • 在二元非合作博弈中,随着博弈双方对方策略的了解,最终双方必然会进入一个均衡状态中,在这个状态下无论哪一方改变自己的策略,都会引起对方有机会获得更大收益,因此两方均不会改变自己的策略,则此策略组合被称为纳什均衡
  • 在实际生活中,只能选择单一策略的情况是比较少的,所以有了混合策略的概念,即用户的策略是以一定的概率打出的,对应到《战地1》中就是组队的形式,有时候我们会选择单兵种,有时候会选择支援+其他进攻能力强的组合,这时候同样存在一个最优的组合,从而使得双方按照这个组合的时候能够获得最大收益

业务分析

平衡性检验

平衡性是非常常见的一个判断依据,基于推演的组队环境,我们可以对兵种出场率有一个明确的预判,结合对位胜率矩阵中的相关数据,我们也能得到兵种平均胜率的数据,例如推演结果为:

MNE状态:
(突击+控制):10%;(支援+突击):50%;(支援+侦察):40%

对位胜率矩阵:
数据分析等于算命?基于纳什均衡的竞技游戏英雄数值设计先验模型_第4张图片

则支援的出场率=90%,
平均胜率=0.5/0.9x(0.1x0.4+0.5x0.5+0.4x0.45)+0.4/0.9x(0.1x0.7+0.5x0.55+0.4x0.5)
=0.26+0.25
=51%

同理,我们也能计算出其他兵种的出场率和胜率,以及诸如全突击等特殊阵容的出场率与胜率等,从而对环境平衡性有先验的认知

匹配性检验

组队环境与用户群体构成的匹配程度决定了用户留存,譬如当游戏现有用户中突击、支援、侦察型用户的分布为4:3:3时,如果当前游戏环境要求有超过60%的用户使用支援兵种,则会出现明显的不匹配,导致突击兵被迫玩支援等情况,从而引起用户流失,此时匹配性我们可以从推演的组队环境中进行判断

3.待优化问题

以上分析都是基于理论推导和对产品的认知建立的,实际中针对具体的数据分布情况,必然会存在可行性或准确性的问题,需要根据实际的数据分布来调整模型或指标的设计

关于胜率预测

  • 很有可能会受到样本分布的影响,由于平衡性改动通常不会非常频繁,因此模型可能会对训练集出现过拟合,导致输入新的兵种数值时无法很好的响应,模型的构建需要多次不同的数值调整才能较为稳定,但无论如何,只要我们持续产生不同数值下的战斗数据,模型的预测效果就会越好

关于组队环境推演

  • 推演是基于纳什均衡理论的,纳什均衡成立的前提是所有玩家都是理性的,并且他们都能感知到这些策略之间的对抗关系。实际中这2点常常难以达到,此时可以考虑将推演结果与线上数据的差异纳入考量范围,主要判断变化趋势而非绝对的数值

你可能感兴趣的:(数据分析,游戏,数据挖掘)