Lol的积分机制:埃罗(ELO)预算法详解
Lol中使用了一种被称为ELO的配对机制,玩家在进行标准赛(NormalGame)和排名赛(RankedGame)时,游戏会使用这套机制为玩家们寻找水平相近的对手。Zileas在官方论坛中阐述了LoL中的ELO配对系统,让我们来一探究竟。
概览
系统会根据你赢了谁和输给谁来评估你的游戏水平。根据这个水平来给你安排合适的对手,让你大概有50%的几率胜出比赛。
同时系统也知道预编队伍是一项优势,所以它会在你在一个预编队伍时给你安排更强一点的对手。我们做了很复杂的数学题来解决预编队伍游戏和自由组队游戏之间的公平性。我甚至给2个数学博士演示了这一系统,而且他们也认为这个东西很靠谱!
细节
有很多人曾问过我们配对机制如何运作,而我们也看过一大堆帖子包含了对它如何选择比赛的误解。
最基本的概念就是,系统逐渐来评估出你是一个水平多强的玩家,然后试图配对一个水平和你一样的玩家来让你和他比赛。系统尽量让相同水平玩家之间的竞赛变得如同抛掷硬币一样公平。
系统会着重考虑以下细节,按照顺序排列:
保护新手,防止他们被高手欺负。
保证公平,并开展有竞技性的比赛。
最后才是寻找可用的比赛。你等的时间越长,前两点的重要性就越小。
比赛是如何配对的
首先,系统会把你放在合适人选集合(pool)——那只是简单地按照游戏类型区分。(一般的普通游戏,排名单人/双人游戏,排名5人战队游戏等等)
当你进入集合时,系统就会开始尝试为你寻找比赛,最终目标是为你配对一个让你有50%几率胜出的比赛。
第一步:判断你的实力
如果你是进入自由组队,只按照你个人等级判断(就是说排名队伍按照排名队伍等级,普通游戏按照普通游戏等级)
如果你进入一个预编队伍,你的等级将取你和你队友之间的平均数,并在这基础上你会被分配到一些更强的对手(等级提高某个数值),这是因为预编队伍本身就是一项优势。我们根据几千几百次比赛的结果做了一大堆研究才得出这个数值——参与预编队伍到底有多大的优势。我们同时也做了一些幕后调整例如高手搭配新手的组合等等。
第二步:为你选择合适的对手
首先系统只会基于你的等级来给你安排与你水平非常相近的对手。否则系统就会给你安排相对前者而言差别较大的对手,因为它不会让你永远处于排队状态。
新手会获得一些特殊保护,通常只会和其他新手配对。
第三步:寻找比赛
最后,系统会寻找一场对队伍中所有玩家都公平的比赛,然后开展比赛。
系统会试图平衡两队的实力,把任意一方的胜率控制在50%。在beta中期,对比正式发行时玩家少了很多,系统所创建的大部分比赛都极度公平(没有队伍的胜率高于55%)。我们希望正式发行时,98%的队伍都不会有高于55%的胜率。因为就算增加少量的玩家,都会使系统的配对质量产生大幅度的提高,我们也希望到时候的玩家人数比beta测试时多。
我的等级是如何计算的
我们使用了一个修改过的Elo等级分系统。它的主旨就是用数学定理来对比两名选手猜测出游戏结果——如“张三对上李四会有75%的胜率”。
只要通过比赛,你胜出了,你就获得分数;你输了,你就损失分数。如果你赢得出乎系统的意料(就是系统本认为你会输),那么你就可获得更多的分数。另外,假如你是一名新手,你获得分数和损失分数的幅度都会更大,好让你迅速达到合适的技术水平。久而久之,高手就会获得相对高的分数,因为他们表现的好于系统的预期,直到系统正确评估出他们的胜率。
我们为团队竞赛而修改了这个系统,最基本的概念就是你们的等级分是基于团队中每个人来计算的,如果你们胜出,系统就假定你们队伍中每个人的表现都“好于预期”,然后获得分数。在这方面存在一些问题,但通常都可以解决,特别是当玩家进行预编队伍游戏时(存在一定优势,上文提到过)。
我们同时也做了一些调整以让等级分更准确,让玩家更快达到合适的等级。
我们使用了各种专用手段来鉴别出哪些是比典型的新手更具实力的玩家,每当我们留意到这种情况时,就会在幕后提高他们的等级分获得速度。
升级时会大幅提高你等级分的获得速度。这样有助于未来区别30级玩家与低级玩家。
有关更多Elo等级分系统的理论信息,请参阅:http://en.wikipedia.org/wiki/Elo_rating_system(英文)。
你们是决定怎样处理预编队伍和自由组队之间的对阵?
有一些配对集合完全排开这种情况,只允许5人预编队伍之间比赛(如排名赛等)。
其他则可以混合预编队伍和自由比赛,为了让这种场合变得更公平,我们对几百次这样的游戏进行了分析来鉴别这些(预编队伍)玩家到底可以获得多少优势。我们发现预编队伍的优势是随着一系列因素的变化而变化的,如预编队伍的人数(2、3、4、5人),如队内玩家的水平,如新手搭配老手的组合,如其他隐藏的因素等等。
所有这些我们已知的因素,让我们得以以一些合理的,正当的和数学上的调整来保证比赛的公平。这样做的后果就是导致在某些情况下会变得非常让人意外。(然而统计结果上依然趋向于正确)
然而我们并不会给出准确的数值,因为那属于商业机密。然而我可以这样说:5人预编队伍只稍稍强于自由组队。一小部分预编队伍只有一点点优势。新手不会从预编队伍中获益,而高手则获益良多。
很好,很强大,但为什么你们要把预编队伍配对上自由组队?
有几个原因值得这样做:
(预编队伍)这样能帮助系统更快地评估你的水平等级,你也可以更快地参与公平的比赛。如果你通过预编队伍比赛,就可以减少由于队友的运气成分使你胜利或者输掉的比赛。并且,你依靠自己水平能取得队友的信任,同时也可以减少随机分到的队友帮助你甚至拖累你的几率,因为你和你的队友水平都差不多,所以你(们)的等级就可以更快达到准确的数字。
(自由组队)我们想让玩家更轻松的和他们的朋友进行游戏,因为如果他们想的话这样会更有趣,并且你不可能通过2人或者3人的组队对上5人的配对集合——你需要混合两者。我们选择在这个配对集合中包括5人自由组队是因为它的确好玩——如果我们以后拥有更大的配对集合,我们也许会把5人预编队伍和其他的预编队伍分开,但我们现有的数据显示这样做并不会提高公平性,只会和现在差不多。
其他常见问题
为什么你们不统计其他细节诸如我杀了多少人等等来计算我的等级?
因为这是一种冒险,并且也很难统计你是否在玩gank型的英雄(如努努,易大师),杀多少人才算有水平。并且也会引起那些希望提高等级分的玩家故意拖延游戏来杀人而不是直接胜出比赛。通过把这些指标和鼓励放在胜出比赛上,我们就能避免那些并不有趣,甚至会扰乱评分机制的东西。
这样说的话,假如我连续赢了几场比赛,那么我下一场比赛将会非常难?
并不确切。你的等级的确会提升,这样你遭遇的对手将会越来越强——但我们并不是很在意你的胜率是否等于50%,我们只关注系统对你的预测是否准确。终有一天,你会到达你的极限,而你也将会发现你的胜率约等于50%。高于平均值的玩家会有稍高于50%的胜率,因为实力在他们之上的玩家少于在他们之下的。因此当比赛被建立之时,系统也会趋向于选择实力稍差于他们的对手。像那些靠近我们排名顶端的高手,他们的胜率接近90%。
你们怎样规划那些长期的战队?就像魔兽世界的竞技场一样?
这是一种非常好的想法,可以让我们可以更好地配对比赛。我们最终会这样做,用新的思路来开发一个我们自己的方案来达到这样的目的。我们需要弥清一些东西来评估你们的实力(诸如个人等级),并且让你们简单的创建和解散战队。这是一个很远大的目标,但我们真的对它很感兴趣。
我是一个不要脸的秒退党(故意退出游戏)。我可以用这个系统来当一个不要脸的秒退党吗?
不。你的Elo等级分将基于你队伍的比赛结果而定。我们并不在乎你是不是故意退出游戏,如果你的队伍赢了,你可以得到分数,反之亦然。不论怎样你这样做都会得到其他的惩罚。因为(如果有对等级分的惩罚措施)各种不同的指标会让那些故意退出比赛的人扰乱配对系统。例如,如果我们减少当你强退时队友的等级分损失幅度,你就可能会用这种办法来保住他们的等级。如果我们给你一个处罚即便你的队友胜利了,这样可能导致整个系统的混乱,让新手直接和高手对阵。总之,系统必须有一个“下限”(就算那可能会导致分数的膨胀,但也有一个极限)。不然,就会发生不可思议的事情。