浅述竞技游戏的匹配系统做到双方实力接近的难度

来源:GameRes游资网 发布时间: 2016-04-07 17:20:24

浅述竞技游戏的匹配系统做到双方实力接近的难度 ...


  GameRes游资网授权发布 文/溪檬粥

  竞技游戏的匹配系统要做到尽可能使双方实力接近难点主要有:

  1、玩家行为难以预测。

  以LOL为例,我曾经用Riot API的数据做过一些简单的比赛胜负预测。在一场排位赛的比赛房间建立之初,以10位玩家的整体胜率,游戏风格,常用英雄,以及近期战绩(状态)等信息对比赛结果进行预测,成功率是相当低的,非常接近50%。我相信拳头的团队在匹配比赛时使用的参数选择和处理方式一定是比我高明得多的,所以在房间创建成功的那一瞬间,双方应该是处在一种相当平衡的状态,实力非常接近,这一点应该是没什么问题的。

  但是这之后发生的很多事情就渐渐脱离匹配系统的控制了。实际上如果我加上双方玩家本场所选英雄和场上位置信息,对于这场比赛结果预测的准确率就会提升到接近70%。也就是说,到了比赛开始的那一刻,胜负的天秤经常已经倒向了某一方,两边的实力不再接近。

  举个非常简单的例子。比如一名玩家的历史战绩显示其有超过99%的概率选择两名英雄中的一名,但是他选择其中哪一名英雄的概率是相等的。此时如果一名英雄在当前版本比较强势,平均胜率达到55%,另一名英雄较弱,胜率只有45%,系统就会陷入两难,无论将其置入哪一边都有一半的概率破坏游戏的平衡。而你当然也更不可能以unpredictable为由拒绝为此玩家匹配比赛。

  更糟糕的是,无论此玩家做出何种选择,系统已经没有再给出后手应对的机会了。举个不恰当的例子,这就好像你要求alphago在和李世石下棋的时候必须一次计算十步棋,后面无论李世石怎么下都必须按已经算好的位置来应对,十步下完才能继续算后面十步,这种情况下电脑想要下赢的难度就又大了好几个数量级了,以现在的技术水平应该是不可能的吧。

  上面还只是一个非常简化的模型,事实上多数玩家在ban-pick中有可能做出的选择远远超过两个。在S6之前玩家要打的场上位置也是在房间开好以后才决定的,这更是进一步增加了系统匹配的难度。

  那么上面的例子中,有没有可能使用一些额外的手段提高对该玩家选择英雄预测的准确率呢?当然是有的,结合玩家过往比赛中在不同顺位,其他玩家英雄选择以及被ban英雄等条件下的不同行为模式,可以在一定程度上提高对其本场会选择的英雄的预测准确率。但是,无论如何,这当中的随机性总是大大存在的。

  原因无他,主要两点:1.玩家追求胜率最大化的途径是多样且变化的;2.玩家并非永远以胜率最大化为唯一目标。关于第一点,一次版本变更就可以使得一部分玩家过往行为模式的参考价值急速下降。第二点也不难理解,因为选人时队友间的种种冲突而故意选择自己不擅长的英雄乱玩的情况非常多见,尤其是在低端局中,这样的人实在太多,你几乎不可能在每场比赛中都给他们配上4个脾气很好的队友。

  顺位靠前的玩家的某个超出系统判断的选择对游戏平衡的破坏会尤其严重。比如系统自以为高明地将五名各自擅长不同位置的玩家组装到一起,此时一选玩家突然灵机一动选择自己以前从没打过的另一个位置,接下来四选的位置就会被进一步打乱,后果如何可想而知。如果恰好另一边的五个人没出什么状况,那两边的实力差距就要暴涨了。

  总有一些人比较喜欢制造这类意外,如果把他们放到靠后的顺位对于十位玩家的整体体验是更有利的,但系统不能这么做,出于对每位玩家公平的考虑还是必须要在20%的时间里把他放到第一位上。好在S6以后玩家在进入ban-pick之前就选好了自己的位置,这个问题也算是很大程度上解决了。

  2、系统可以为一位玩家寻找匹配的时间有限。

  这一点在玩家数量较少的时候尤其致命,比如早期的风暴英雄匹配系统广受诟病,就是因为玩家基数太小,在100个正在排位的玩家池中匹配10场比赛,和10000个玩家中匹配1000场,难度是完全不同的。

  即便像LOL这样的游戏,要确保每位玩家都能在一分钟左右的时间内匹配到一支队伍,压力也是不小的。做到95%的比赛两边比较平衡不难,但是要做到100%就几乎不可能。尤其是早期允许任意两名玩家一起双排的时候,一个钻石带上一个青铜无论对上两个黄金还是两个白金总是会有些别扭。即使后来要求双排不能相差一个以上的大段,一个白金一带一个暗分快降到白银五的黄金五,也还是很难办。

  这时对于难以匹配的玩家,你就必须要在延长等待时间和降低比赛双方平衡度之间做一个选择,无论如何都只能降低玩家游戏体验。总体来说系统应该是随着玩家已等待时间的加长逐渐降低匹配的精确度要求,但是像上面说的那种双排的情况,我就遇到过排了快十分钟排不到的囧况。

  3、比赛平衡本身十分脆弱。

  比如对线期中路两个前期强度接近的英雄一波对拼,技能全交,一边死亡,另一边5点血存活。这算不算是两边实力接近?

  过程中是,结果出来以后就不是了。胜利的一方得到了300金币,还可以视场上形势决定要不要操纵一下兵线,胜负的天秤已经明显地倾向了其中的一边。而且越是高端局,倾斜得越是厉害,因为水平越高,意外的概率就越低,翻盘也越难。路人局又没有正式比赛必须要赢的压力,往往看看机会不大就直接放弃了,于是就显得一边倒。

  也就是说,即使系统把两边的实力真的调整到天衣无缝,也只能保证比赛开始后双方的前几次冲突胜负概率均等。此后,这前几次的战斗结果就会大大改变场上的局势。

  而往往这些冲突都在很早的时期就发生了,所以双方实力还是会显得一点都不接近。玩家并不能感觉到系统在背后做出了多大的努力。

  以上各点决定了从改进算法的途径让玩家获得更强的势均力敌体验的效率提升是有极限的,继续改良一个已经足够精良的mmr系统的成本与其能够带来的玩家体验改善程度并不匹配,也难以速成,更适合以一个长期项目存在以节约成本,其回报也并没有保障。

  与算法相比,匹配系统本身的提升空间就要大得多。游戏设计者的总体目标是在进行匹配之前从玩家身上获得尽可能更多的信息。就LOL而言,S6的预选位置就使得匹配系统能够基于更细分的,基于玩家当前所选位置的mmr来更精确地组建队伍。

  允许多人组队打单排也是一个有益的改动。mmr完全相同的玩家ABCDE与同一名玩家F之间产生的化学反应不尽相同,甚至可以完全相反。相比应用复杂的算法和参数来给玩家归类再观察不同类别间的互相影响方式再相应调整各自组队时的mmr或其他参数,直接鼓励玩家F与玩家A长期固定组合显然简单粗暴得多,容易执行得多,效果也立竿见影得多。

  同样道理,像风暴的normal单排中会要求你先选好要用的英雄再给你组队,这也使得匹配系统能够在计算玩家实力时有更多信息可用。LOL前些年出的team builder也是一样套路,刚出的时候还能明显感觉到系统在乱配,但是后来匹配质量确实是越来越高了,相比传统的normal游戏体验好得不止一点两点。

  说到这里差不多了,总结一下结论就是,要解决题中的问题,难度确实是很高的。目前阶段,要单靠算法上的突破来大幅改进匹配精度已经不太可能了,更好的办法是结合匹配系统的改进针对性地在现有框架下微调算法,使其能应用额外参数来计算出更精确的结果。

  所以瓶颈是什么呢?大概是游戏设计者的脑洞大小吧。

扫描左侧二维码,关注微信公众号

即可获得游戏智库每日精彩内容推送,并且在第一时间获取游戏行业新鲜资讯。

APP 下载

扫描二维码
下载iOS或安卓APP
返回顶部