那么首先要说的自然是最简单也最常用的Elo
Elo Rating System
Elo评分系统是由一个叫Arpad Elo的人提出的一种实力评分系统,最早用于国际象棋的排名,现在也广泛地被运用到各种游戏中。
单拿宝可梦来说,无论是PS,PO还是实机排位,其分数排名系统都是Elo系统。
相信大多数经常打以上三个游戏玩家,都至少有这么个感性认识:
在这个系统里,和分数比自己高的人比赛,赢了自己能加更多的分,输了则会扣相对较少的分;反之亦然。
例如:
在PO中非常常见的
差100分是+12 -20局
差200分是+8 -24局
那么,分数的调整具体究竟是怎么计算的呢?我们看下面两个公式:
在这里RA和RB是A选手以及B选手原本的分数
EA的计算结果是A选手的胜率预测
SA表示的是比赛结果(获胜 = 1,败北 = 0)
K则是一个系统参数,表示整个系统对于分数调整的快慢程度
(PS中K取40,PO中K取32)
那么,下面用一个简单的计算来更直观地展现一下Elo计算的过程
假设A选手1700分,B选手1600分
那么RB - RA = -100
EA = 1 / (1 + 10 ^(-0.25)) = 0.6400
也就是说系统预测本局A选手胜率约为64%
如果A选手获胜,K取32,那么他的新Elo分
RA' = 1700 + 32(1- EA) = 1700 + 32 * 0.36 = 1700 + 11.52
如果A选手失利,那么他的新Elo分
RA' = 1700 + 32(0 - EA) = 1700 - 32 * 0.64 = 1700 - 20.48
也就是说,如果A选手获胜,那么他将 +11.52分,如果失利,则会扣去20.48分
PO采用了4舍5入的方式,因此就是 +12 -20局了
对于B选手来说,其计算结果一定和A选手是对称的,因此是+20 -12局
在PS中,或许因为使用的不是4舍5入而是向下取整,因此比赛结束后胜方的加分有时会和负方的减分不同,但最多相差1
理论上,一个玩家在进行了充分多的对战后,其分数会达到和其实力相匹配的数值。
因此Elo系统除了可以评估玩家的技术水平以外,还能通过Elo分就近匹配来提升游戏体验(你会被匹配到与你实力相近的选手,从而进行一场更接近于55开的比赛)。
在Elo系统中,一个确定的分数差对应着一个确定的胜率。比如1950对1850的胜率是64%,1200对1100的胜率也是64%。反过来看,如果A对B的胜率大约是64%,那么他们的实力评分差约100分,如果A对B的胜率约76%,那么他门的实力评分大约差200分。
理论上,Elo系统可以用来关公战秦琼,两个不同时期的玩家,可以通过直接比较Elo分来比较其水平强弱。
另一方面,K的取值只影像分数调整的快慢,并不影响分差和胜率的对应关系。
因此理论上,一个PS玩家可以恬不知耻地说,我PS1600和你PO1600水平是一样的
当然,且不说前一个结论大家是否认可,这个结论相信绝大多数人都不会认同。
PO1600肯定比PS1600厉害得多,那么为什么会这样呢?
首先,相信很多玩家都知道这么一个规律,人越多的Tier,Elo分就会堆得越高。这一点,其实和Elo系统的理念并不符合。Elo系统中,当系统初始分数确实后(PO,PS1000, 排位1500),一个玩家就应该根据其自身实力被定为到一个确定的分数上,这和玩家的总人数是无关的。但是现实时中,人多的分级分数堆得高是一个明显可观测到的现象。这主要有以下几个原因:
1.PS中取消了负分,1000分玩家输了依然是1000分(因为负分玩家可以重新注册因此PS采取了这个策略),因此PS中初始分是一个底层分数,而PO中部分负分玩家会继续使用负分号,部分负分玩家会重新注册,因此PO中初始分是一个中下层分数,这都与理论上初始分应该是个中层分数不一致。
2.最重要的,宝可梦对战中充斥着队伍克制因素和运气因素,所以Elo系统的胜率判定并不能符合上实际情况。通常表现为A对B胜率64%,B对C胜率64%,如果完全符合Elo预测A将比C高200分,但A实际对C胜率却无法达到对应的76%。这种胜率结构理论上会使得所有玩家都在一个范围相对较小的区间内分数大幅波动,但是因为有了就近匹配的存在,使得200分差的对局会少于100分差的对局更少于平分的对局,这种匹配模型下,实际的Elo分就会比完全随机匹配涨得多,而且是玩家基数越大,这个效应越严重。
那么除此之外,Elo系统还有什么明显的缺点呢?
比如说,一个有2000分实力的玩家刚刚进入了系统,但他也得从1000分慢慢打起。那么这个过程中,他的对手明明是在和一个2000分玩家对决,可是分数的加减却按照和低分玩家对决时计算,这显得不怎么公平。
又比如说,一个玩家打到了一个很高的分数,那么他可以通过避战而永久维持这个分数(POPS中通过Decay解决,而排位则不解决)。
Glicko系统其实就是在这些方面做了改进,那么我们就放在下一楼介绍。