加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 网络游戏 > 网页游戏 > 正文

对抗类游戏平衡性评价与环境预测方法

发布时间:2019-08-08 03:32:32 所属栏目:网页游戏 来源:新浪游戏
导读:副标题#e# 1前言 对于对抗类游戏,无论是1v1还是5v5,FTG还是MOBA,只要存在多种策略供玩家选择,那么这些策略之间的“平衡性”就是一个老生常谈的问题,这里的策略可以是某个英雄(亚索)、某套组合(光猴、睡箭)、某种战术(人族TR)。如果某种策略过于

  注意这里的胜率矩阵是纵向排布的,即第一行是[各职业对阵战士]的胜率,特别注意的是,所有职业对阵德鲁伊的胜率均小于50%

对抗类游戏平衡性评价与环境预测方法

  数据来源:炉石传说盒子,http://lushi.163.com/bigdata/1

对抗类游戏平衡性评价与环境预测方法

  3.3有约束条件下的平衡性计算

  3.2节讨论了当对玩家策略不做任何约束的情况下的平衡性计算,但在实际游戏中,因为玩家喜好、英雄池的不同,是存在一些潜在约束条件的。

  以3.2节最后的炉石传说的计算结果为例,在胜率大于50%的求解结果中,看上去圣骑、盗贼在使用率超过50%的情况下,也能够获得超过50%的胜率,但是如果我们将求解的“最佳策略”输出出来就会发现,在盗贼使用占比55%的情况下,剩下45%必须全部用猎人才能获得50.26%的胜率。

对抗类游戏平衡性评价与环境预测方法

  如果一个玩家不喜欢玩猎人,或者目前手里的牌构筑不出环境中主流猎人的卡组,那么这个玩家55%使用盗贼的情况下就“有可能”拿不到50%的胜率了。

  因此,3.2节的求解过程中,如果有一定的先验知识,那么可以加入一些额外的约束条件来使得整个求解结果更加接近于真实结果

对抗类游戏平衡性评价与环境预测方法

  这里的c4:ul<0.2就是额外的约束条件,要求第l个英雄的使用率不能超过0.2。

  加入一个约束条件对于求解问题本身并没有难度,只是要注意2点

  1是约束条件C={c1,c2,…,cm}本身需要是自洽的,不能既要求u1>0.6,u2>0.6,还要求u1+u2≤1

  2是当求解到k=l的相关情况时(uk=0.05、0.10…),在代码中要做好处理,确定以谁为标准,是uk=0.05还是ul<0.2

  我们将“猎人、德鲁伊的使用率≤20%”作为条件加入到前面的炉石求解过程中,得到结果:

对抗类游戏平衡性评价与环境预测方法

  可知,限制了猎人、德鲁伊的使用率后,玩家在55%使用盗贼的情况下已经只有50.01%的胜率了

  3.4问题点讨论

  3.4.1数据缺失问题

  如果游戏的玩家数量不够多,或游戏版本更新较快,会导致同一个游戏版本中难以获得足够多数量的对局覆盖所有英雄之间的对抗情况,最终导致“对战胜率矩阵”中存在空缺值。

  对于这种情况,有2种解决方案

  方案1是人为根据经验、其他相似英雄的对局胜率估算一个胜率填补空缺值

  方案2是在求解计算时,“不让没有对局胜率的2个英雄碰面”,即将本应该属于他们2人的对局分配给其他有对局胜率的英雄

  例如本来环境中石头、剪刀、布的分布是0.4、0.4、0.2,但现在布和石头的对局胜率缺失了,那么在计算到0.2*[石头VS布]时,就用0.1*[石头VS石头]+0.1*[石头VS剪刀]来代替

对抗类游戏平衡性评价与环境预测方法

  图中函数getWinRateNow是用来计算玩家策略(myArray)对抗游戏环境(enemyArray)时的胜率期望,对于每一个heroMe,55-57行用noRate统计了其存在空缺值(对局胜率小于0)的场次比例,并在61行在计算有对局胜率的场次时除以(1-noRate),从而实现将缺少数据的场次按比例分配给有数据对局。

  但是该方案也仅仅适用于空缺值较少的情况,如果对于某个冷门英雄缺失了很多对局胜率数据,那么这种将空缺场次分给非空缺场次的做法会带来比较明显的偏差,一个极端的例子是如果这个英雄只和一个英雄有对局胜率,胜率是55%,那么最终结果将会是这个英雄对阵每个英雄的胜率都是55%,这显然是不合理的。

  3.4.2“策略”的粒度问题

  正如第1节所说,“策略”是讨论游戏平衡性的单位,但是具体到实施中,对游戏中的“策略”进行归类时粒度的粗细却不好把控,可以将大致相似的策略都归为一种,也可以将但凡有一丁点不同的策略都视为不同的。

  以WAR3为例,我们可以简单地将兽、人、暗夜、亡灵作为4个策略,也可以将同一个种族的不同套路例如暗夜-乱矿流、暗夜-吹风流视为不同的策略,还可以将同一个种族、同一个套路但首发不同英雄视为不同的策略,甚至还可以继续细分。那么到底细分到哪个粒度可以认为是“够了”,或者说2个策略相似到何种地步就可以认为是同一个策略?

  这个问题笔者认为只能说因游戏而已。

  有的游戏很容易给出2个策略之间数值上的相似/差异程度,例如炉石传说的2个套牌之间可以用不同卡牌的张数来体现差异,从而很容易归类出相似套路的卡组;而有的游戏则不好判断2个策略到底差别有多大,例如MOBA里一个五人队伍把辅助A换成辅助B,有可能最终队伍的战术玩法完全没有区别,也有可能完全不同。

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读