在各式各样的游戏成为了年轻人主要社交方式的当下,诸如王者、吃鸡的电子竞技游戏占据了主流市场。不同于休闲或冒险游戏,它们强调玩家个人技术与团队协作能力,总有一种“与人斗其乐无穷”的快乐。

既然是竞技,就会有高低之分。现在的玩家见面不再像古时武林中人一般难测对方深浅,一个个具体可见的“天梯分”或“段位”就高悬于角色头顶,水平高低一目了然。

4人对战的手机游戏_基于 android 平台的中国象棋对战游戏代码_11对战平台没人了

漫画《七龙珠》中也有将战斗力数据化的设定

而这一切,都源自一个名为ELO等级分制度(Elo Rating System)的发明。这个被广泛运用在国际象棋、围棋等单人体育项目的评分等级算法,在被迁移运用到多人电子竞技项目后变得更加复杂,更曾激起了无数区别于“玄学上分”的“数理上分”讨论。

上个世纪,如何为国际象棋、围棋等对弈比赛制定一个等级分的计算标准曾经是一个国际难题。因为选手众多,每场次1V1的对局只能说明某位棋手(在当前状态下)胜过了对手。但当棋类爱好者谈论起棋手间的强弱时,往往各执一词没有定论。

举个例子,棋手A胜了B又败给了C11对战平台没人了,而BC间的对弈结果却是B胜的话,单凭这三场比赛如何衡量三位棋手的棋力强弱呢?根本就无法得出令人信服的结论。为此各种棋类协会纷纷推出自己的等级分制度,以求得到一个综合性的棋力衡量标准。

11对战平台没人了_基于 android 平台的中国象棋对战游戏代码_4人对战的手机游戏

尽管韩国选手李世石曾经战胜人工智能AlphaGo 其等级分排名还是在柯洁之下

不过,不管是流行于欧洲INGO系统还是美国象棋协会的肯尼斯·哈克尼斯等级分系统,得出来的算法结果都未能令人信服。直到上世纪中期,物理学家Arpad Elo 创建了Elo等级分制度,才一举解决了这个世纪难题。

Elo等级分制度中有三个关键数据:选手水平分、胜率期望值以及等级分增减值。

其工作原理就是首先给予每个棋手初始的分数R,我们假设有棋手A、B,则根据Elo公式:

基于 android 平台的中国象棋对战游戏代码_11对战平台没人了_4人对战的手机游戏

可得出棋手A对B的胜率期望值E。

而每场比赛过后棋手的等级分增减由其比赛结果得分与胜率期望值的差值决定(一般来说胜利=1分,平局=0.5分,负=0分)。等级分增减值的具体数学公式为:

4人对战的手机游戏_基于 android 平台的中国象棋对战游戏代码_11对战平台没人了

*其中K为系数,S为选手在比赛中的真实得分

这个算法最合理之处就在于先根据原有的分差得出胜负概率,再由胜负概率与实际战果的综合考虑得出最终的增减,而不是简单粗暴地进行积分累加。(那会造成选手挑着弱者来对战从而疯狂得分等问题)

4人对战的手机游戏_基于 android 平台的中国象棋对战游戏代码_11对战平台没人了

等级分制度的祖师爷 Arpad Elo

1960年,美国国际象棋协会率先废弃了原有的等级分制度,改用Elo计分方法。这种先进合理的算法很快被推广开来,1970年国际棋联也正式改用这个等级分制度。

不止是国际象棋,目前最权威的世界职业围棋等级分排行网站Go Ratings用的所谓“全历史排名算法”(Whole-History Rating)其实也是基于Elo等级分制度的改版。

尽管该算法声称比Elo等级分算法更科学,页面上还是写着“Elo等级分”字样

时间来到2000年前后,迈入新世纪的人类社会计算机技术发展迅速,各种电子游戏也随之兴起11对战平台没人了,并渐渐取代了“对弈”这种流传千年的传统游戏模式。

或许还有人记得那个电子竞技的蛮荒年代。CS、魔兽争霸、红色警戒曾是一代人的经典回忆,玩家从单机打到局域网,再到各种对战平台的兴起。渐渐开始有了“线上对战”这种电子竞技的概念。

当然棋类游戏也有过短暂的线上对弈辉煌时刻。那会QQ游戏中的“中国象棋”,设置了以“县令”、“总督”、“丞相”等级别为体现的等级分制度,算得上是Elo等级分制度在网络游戏世界的初代应用。

11对战平台没人了_4人对战的手机游戏_基于 android 平台的中国象棋对战游戏代码

当年QQ游戏大厅中国象棋的游戏界面 自带“积分计算规则”公示

随着电子竞技游戏网络对战概念的普及,腾讯、浩方、VS、11等对战平台相继崛起。游戏是现成的,但所有对战平台都需要面对的问题是“如何帮助玩家匹配到势均力敌的对手”,从而保证其游戏体验。

其中的道理很简单,一个高级棋手跟初学者下棋肯定会觉得索然无味,而对于菜鸟来说频频受虐的遭遇也会直接劝退使其失去兴趣。

思来想去,一番挖掘,Elo等级分制度就此进入了游戏开发者与运营商的视野。

基于 android 平台的中国象棋对战游戏代码_11对战平台没人了_4人对战的手机游戏

电子竞技游戏《Dota2》中的分级制度

Elo等级分制体系中,以前只是一个计算步骤的“胜率期望值”成了运用在电子竞技领域的重中之重——系统运用公式计算寻找出两个胜率期望值均尽量接近50%的玩家或者队伍,自然也就实现了使其势均力敌的需求。

可以说从11对战平台的天梯名将系统,一直沿袭不断改进到Dota2游戏中的天梯系统,再被国产游戏英雄联盟借鉴使用,一直到现在人尽皆知的手机游戏王者荣耀中的段位系统,都是Elo等级分制度在游戏中的运用体现。

但随之而来的问题是,Elo等级分制度在电子竞技领域的运用与体育竞技领域的运用,还是有着极大的差别。

乒乓球等体育竞技也有算法排名

首先是人数的区别,对弈类竞技是1对1,不管是需要参考的水平分还是评分的偏差范围考虑都极小。但在很多电子竞技项目中往往是多对多的比赛对抗,即使是常量的5对5,已经会造成极大的计算偏差可能性。

这些偏差包括但不仅限于某一玩家的精神状态不稳定、某一队伍的成员性格迥异导致配合度不高,甚至是某一玩家网络的不稳定导致竞技水平受影响等等等。这也就是为什么电子竞技爱好者常常有“系统针对我,给我匹配太厉害的对手或者太弱的队友”的感觉。

真正各方面都旗鼓相当的酣畅对局,其实是很难得的。

基于 android 平台的中国象棋对战游戏代码_11对战平台没人了_4人对战的手机游戏

世界顶尖电竞高手的对决其实与棋类对弈极像

另外一个问题是游戏的平衡性与对弈类项目有异。棋类竞赛双方除了先后手因素以外,身处的往往是一个“全对称”的战局,这几乎是绝对平衡的。然而游戏开发者很难做到绝对平衡,地图、角色、装备……双方队伍各种因素的差异必定是存在的,因此只能尽量做到接近平衡状态。

为了解决这些直接挪用棋类的Elo等级分制度会出现的不平衡问题,游戏的评分与匹配制度其实做过很多改善。其中最主要的就是增加了一个“评分可靠性”(Ratings Reliability,简称RD)系统。

长时间在线游玩的选手,其评分可靠性较高,因而其“评分标准差”会较低;而较长时间不在线的选手,或是水平发挥浮动较大的选手,其评分可靠性会偏低,则其评分标准差会较大。

选手的评分标准差越低,或者对手的评分标准差越高,选手在赛后的评分波动就会越小。而且在无法迅速匹配到与自己的准确评分一致的对手时,系统就会根据标准差的范围来拓宽匹配对手选择。

“输了游戏,你还有人生”

这个东西,就被很多玩家称为“隐藏分”。但很多人会误解认为自己的“隐藏分”过高或者过低,其实从算法上看来,隐藏分的概念是波动值,从来就不是什么太高或者太低。

当出现觉得被系统错误匹配的时候,不要抱怨,尽量稳住自己的评分标准差(或者提高水平)才是正途。

总而言之,一个正常运营的游戏,它的段位算法不管怎么改进,肯定是为了让所有人尽快到达自己实力对应的段位,以求让所有玩家能找到势均力敌的对手,从而更好地运转下去。

不过话说回来,至于那种不合理运用Elo算法来造成玩家到了关键对局无法升段,从而提高游戏内玩家日活量的做法,肯定是被业内也是被玩家所唾弃,无法长久的。

基于 android 平台的中国象棋对战游戏代码_4人对战的手机游戏_11对战平台没人了

欧阳梅生.基于ELO算法的竞技项目评价体系研究,武汉理工大学硕士学位论文,2013年5月

林澳钊.MOBA游戏平衡性探究,云南大学硕士研究生学位论文,2015年4月

Wikipedia:Elo rating system,Glicko rating system

pinkry.ELO算法教程.GameRes.com 2013.10

11对战平台没人了_基于 android 平台的中国象棋对战游戏代码_4人对战的手机游戏

11对战平台没人了_4人对战的手机游戏_基于 android 平台的中国象棋对战游戏代码