不知道大家在玩游戏的时候,是不是都产生过这样的疑问:

《王者荣耀》排位五连胜后遭遇九连跪,是不是游戏操控胜率?

《英雄联盟》渡劫局总匹配神对手猪队友,是不是有意制裁我?

《炉石传说》传说段位获胜,为什么排名不升反降?

……

这篇文章将说明游戏匹配和排名的原理,相信可以打消大家心中的困惑。

仍在玩《王者荣耀》的同学们或许记得,《王者荣耀》在 S11 赛季调整过一 次匹配机制,自那以后,王者大神的小号上分车不如以前那么稳了,时不时还会 和其他车队撞车_(:з」∠)_

这是因为,相比以往根据段位进行匹配的机制,新机制采用的算法能够在一 定程度上更精准地反映玩家的真实水平,减少了高段位玩家开小号遨游低端鱼塘 的情况。这种算法就是——Elo Rating System 。

那么,

什么是 Elo Rating System ?

Elo Rating System 在游戏中能起到什么样的作用?

Elo Rating System 有哪些缺点?在实际应用中,应该如何处理?

我们将围绕这几个问题展开说明。

一、什么是 Elo Rating System ?

Elo Rating System 是由匈牙利裔美国物理学家 Arpad Elo 创建的一个衡量 各类对弈活动水平的评价方法,是当今对弈水平评估的公认的权威方法。被广泛 用于国际象棋、围棋、足球、篮球等运动。网络游戏英雄联盟、魔兽世界内的竞

技对战系统也采用此分级制度。

第 一 次 接 触 到 Elo Rating System , 是 在 电 影 《 社 交 网 络 》 中 。 创 办 了 Facebook 的 Mark Zuckerberg 和 Eduardo Saverin 在 Harvard 读大二时, 一夜间搭建了网站 Facemash。这个网站每次会展示两张不同女生的照片,用户 选择自己认为更好看的一张。每次选择后,便进入下一组女生照片的评选。最终, Facemash 将计算出全校女生的长相排名。这其中所用的算法,就是 Elo Rating System。

而设计之初,Elo Rating System 仅是一个国际象棋选手的排名系统。那么 它 究 竟 是 如 何 实 现 对 象 的 评 价 和 排 名 的 呢 ? 让 我 们 以 游 戏 中 的 竞 技 玩 法 积 分 排 名为例说明。Elo 会赋予每位玩家一个相同的初始积分,并进行以下计算:1. 根 据 积 分 差 计 算双 方 获 胜概 率 ; 2. 每位 玩 家 根据 对 方 积 分 和游 戏 结 果所 表 现 出 的 水平分;3. 得出游戏后的积分变化。

计算公式:
EA=11+10(RB−RA)/400E_A=\frac{1}{1+10^{(R_B-R_A)/400}}EA​=1+10(RB​−RA​)/4001​
EB=11+10(RA−RB)/400E_B=\frac{1}{1+10^{(R_A-R_B)/400}}EB​=1+10(RA​−RB​)/4001​
RA′=RA+K(SA−EA)R'_A=R_A+K(S_A-E_A)RA′​=RA​+K(SA​−EA​)


EA:玩家A的胜率期望值E_A:玩家 A 的胜率期望值EA​:玩家A的胜率期望值

EB:玩家B的胜率期望值(可以看出,EA+EB=1)E_B:玩家 B 的胜率期望值(可以看出,E_A+E_B = 1 )EB​:玩家B的胜率期望值(可以看出,EA​+EB​=1)

RA:玩家A当前积分R_A:玩家 A 当前 积分RA​:玩家A当前积分

RB:玩家B当前积分R_B:玩家 B 当前积分RB​:玩家B当前积分

RA′:玩家A游戏后积分R'_A:玩家 A 游戏 后积分RA′​:玩家A游戏后积分

K:常量系数,后文会说明具体作用K:常量系数,后 文会说明具体作用K:常量系数,后文会说明具体作用

SA/SB:实际结果胜负分,胜=1,平=0.5,负=0SA/SB:实际结果胜负分,胜 = 1 ,平 = 0.5,负= 0SA/SB:实际结果胜负分,胜=1,平=0.5,负=0

演算过程:

假设两位当前积分为 RA = 1900 ,RB = 1500 的玩家相互竞技时,
EA=11+10(1500−1900)/400≈0.91E_A=\frac{1}{1+10^{(1500-1900)/400}}≈ 0.91EA​=1+10(1500−1900)/4001​≈0.91
EB=11+10(1900−1500)/400≈0.09E_B=\frac{1}{1+10^{(1900-1500)/400}}≈ 0.09EB​=1+10(1900−1500)/4001​≈0.09

当 K = 32 时,假设玩家 A 胜出,SA = 1 ,SB = 0 ,则:

RA′=1900+32∗(1−0.91)≈1903,玩家A获得3分R'_A = 1900 + 32*(1-0.91) ≈ 1903 ,玩家 A 获得 3 分RA′​=1900+32∗(1−0.91)≈1903,玩家A获得3分

RB′=1500+32∗(0−0.09)≈1497,玩家B失去3分R'_B = 1500 + 32*(0-0.09) ≈ 1497,玩家 B 失去 3 分RB′​=1500+32∗(0−0.09)≈1497,玩家B失去3分

分母中的 400:

为什么是 400,而不是 100、200 或者 1000 呢?

从积分差上 看,这 个值影响着 对战双方 的 获胜期望。 当双方积 分 差相同时, 这个值越大,双方的获胜概率越接近。当这个值等于 400 时,若双方分差为 100, 积分较高的一方获胜期望约为 64%。

简单地说,这个值等于 400,能够让多数玩家的积分保持标准正态分布,也 符合多数游戏“易于上手,难于精通”的设计规则。

K 常量

不难看出 K 值越大,单次评价的积分变化幅度越大。那么 K 值的设定应该 遵循什么规则?

一般而言,分段越 高,K 值越小。如此设 计,能够令玩家的积分 在前期快速 趋近其真实水平,同时避免少数的几场对局就改变顶尖玩家的排名。

所以 K 值的选择取 决于,这个游戏需要以什么样的方式来统计选手的积分, 并根据玩家、玩家数量之类的参数微调。

小结:

从 Elo 的工作模式中我们可以得出以下几点:

  1. Elo 会给出玩家一场对局的获胜概率。Elo 积分相差越大,积分高的一方 获胜概率就越大;

  2. 每 一 场 对 局 后, 对 阵 双 方 都 会 进 行一部 分 积 分 交 换 , 胜 者得分 , 败 者 失 分;

  3. 如 果 两 名 玩 家的 积 分 相 差 很 大 , 代表高 分 方 获 胜 的 概 率 极大, 因 此 即 便 赢了也涨不了多少分,败方也掉不了多少分。但倘若被低分方爆出冷门,那高分 方将失去大量分数。

二、Elo Rating System 在游戏中的作用

了解了 Elo 的工作模式,就不难得出它在游戏中的作用。

衡量玩家实力

Elo 积分直观地量化玩家水平的高低。

缩短匹配时间

对局匹配时,玩家的 Elo 积分可以作为匹配依据之一,只需要挑选与当前玩 家积分相近的玩家即可,而不需要遍历当前所有玩家,缩短了匹配时间。

创造高质量的公平对局

为玩家匹配实力旗鼓相当的队友和对手,能够保护新手不被有经验的玩家血 虐,同时让高端局中没有菜鸟,使玩家的游戏乐趣最大化。

激励玩家竞争

积分和排名 为玩家 提供荣誉感 ,满足玩 家 的虚荣心, 激励玩家 攀 比、竞争、 提升实力,并最终为游戏的生态环境和活跃带来积极影响。

三、Elo Rating System 的缺点

任何算法系统都有优缺点,Elo 也不例外。

初期的盲目性

Elo 积分在达到合理(趋近真实)水平之前需要一个过程。比如一个 2000 分的玩家玩小号,遇到的对手大概都是 1400 分水平,这时候 Elo 积分是不能准 确反映他的实力的。经过几局对战,这名玩家的积分会逐渐达到合理水平。这个 过程就是 Elo 积分的收敛过程。

对时间不敏感

Elo 积分不会随着时间变化,当一位玩家很长时间没有游戏的时候,他的水 平可能会上下浮动,但他的 Elo 积分并不会随之改变。尤其对于顶尖玩家而言, 这时候的积分排名未必能反映玩家间真实的实力排名。

四、Elo Rating System 的实际应用

针 对 上 述 问 题 , 在 实 际 应 用 中 有 着 不 同 的 对 策 , 目 的 都 在 于 — — 缩 短 收 敛 过程,弱化不良体验。

赛季制

在游戏中采用赛季制,随赛季重置段位和排名。解决因 Elo 不随时间变化导

致的个别玩家长期占据排行榜位置,引起其他玩家挫败感和消极情绪的问题。同 时,随赛季投放版本内容,刺激玩家活跃和竞争。

辅助定级

  1. 定 级 赛 :《英 雄联 盟 》《 守 望 先锋 》 引入 了 定 级 赛 机 制。 在 每个 赛 季 初 , 通过数场定级赛的表现,决定玩家该赛季排位赛的初始段位,缩短了 Elo 积分的 收敛期。

  1. 段位继承:《王者荣耀》《绝地求生:刺 激战场》每个赛季初重置段位时, 会根据上赛季段位进行一定压缩并继承。同样缩短了收敛期,保证了赛季初的对 局质量。

积分奖惩

  1. 勇者积分:《王者荣耀》在获胜加一星、失败减一星的基础规则外,增加 了勇者积分规则。比赛结束后,无论胜负都会得到勇者积分。勇者积分=玩家无 挂机行为奖励+连胜奖励+局内评分排名奖励+对手过强奖励+虽败犹荣奖励。通 过勇者积分,可以加速积分的收敛过程,并起到鼓励玩家认真对待每一局游戏的 效果。

  1. 长时 间 不 对局, 扣 减 段位 和积分 :《王 者 荣 耀 》 中 进入 最 强王 者 段 位 后 , 系统会每隔 7 天进行一次检测,如果玩家在 7 天内没有排位赛行为,会被扣除 1 颗星。同理英雄荣耀战力:

这样的规则保证了段位和积分的时效性,也促进了玩家的持续活跃。 为什么不用 Elo 积分代替段位?

看到这里,可能有同学会问:那为什么不直接用 Elo 积分反映玩家水平呢? 加入段位不是让机制更复杂,Elo 收敛更慢了吗?

其实早些年,不论是主打《Dota》对战 的 11 平台,还是《英雄联盟》或者 《Dota2 》,使用的都是积分制。但后来,《英雄联盟》在 2012~2013 的 S3 赛 季中取消了排位分,改为段位制。《Dota2 》也终于在 2017 年底,随着 7.07 版 本的更新取消了天梯积分,同样改为了段位制。

这么做的原因在于:

  1. Elo 积分的精确指示会打击玩家积极性。随着积分的收敛和 K 值的减小, 最终积分会在一个小范围内浮动,玩家对积分的增减会愈发无感,不利于玩家的 活跃;

  2. 积分的传播效果不如段位好。从市场营销角度,“最强王者”“至尊星耀” 应该远比“我天梯 2200”有感染力,更易于理解和传播。

Elo 积分将在段位之外,继续作为衡量玩家水平的标准和匹配的依据,保证 游戏体验。毕竟,段位对活跃的玩家有很多鼓励,并不是玩家真实水平的全部反 映:保证总体胜率在 50%以上(考虑到勇者积分和段位保护应该都不到 50%),

只要完成足够的对局就能到达王者段位,2000+场胜率 47%的安琪拉了解一下。 所 以 , 如 果 单 纯 用 段 位 匹 配 , 会 让 那 些 常 年 蹭 车 的 妹 子 们 怀 疑 人 生 — — 她 们 的 真实水平并没有段位显示的那么高。

最后,回到篇首的三个问题。

1&2:匹配机制和算法只是基于经验数据的预估模型,无法精确评估玩家个 体在匹配后的单局内,会表现出什么样的游戏水平,既没有能力也没有动机去控 制玩家的游戏行为。因此,操控胜率和系统制裁这样的说法是不成立的;

3:在了解了 Elo 的排名原理后很好理解,获胜后排名不升反降,是因为对 局过程中有玩家的积分超过了你当局获胜后的积分。

转自:https://www.gameres.com/823640.html

Elo Rating System 简介及其在游戏中的运用相关推荐

  1. PHP-校花评选-埃洛等级分系统(Elo rating system)

    校花是怎么评出来的 转载自:https://www.shiyanlou.com/courses/document/990 源程序地址:http://download.csdn.net/detail/u ...

  2. 基于Elo Rating System的三国演义武将排名

    Elo Rating System是国际象棋用来给选手打分的一个算法,详情见Elo Rating System. 我们可以用这个算法对三国中的武将进行打分,然后排名.数据来源为三国武将对战记录,摘录其 ...

  3. Elo rating system(测试版)

    https://en.wikipedia.org/wiki/Elo_rating_system 埃洛等级分系统(Elo Rating System)是指由匈牙利裔美国物理学家阿帕德·埃洛创建的一个衡量 ...

  4. 游戏中的数学:ELO Rating算法简介

    ELO Rating系统是一个应用在对抗类竞技项目中评测选手相对水平的方法.最初是在国际象棋比赛中应用,之后扩展到许多的竞技类项目中,譬如足球.篮球.橄榄球以及电子竞技项目. 每个选手在ELO Rat ...

  5. Elo等级分制度(Elo Rating System)的原理

    介绍 ELO等级分制度是指由匈牙利裔美国物理学家Elo创建的一个衡量各类对弈活动水平的评价方法,是当今对弈水平评估的公认的权威方法.被广泛用于各种棋类博弈和电子游戏中. 方法 Ra:A玩家当前的Rat ...

  6. Elo rating system(Elo 打分体系)

    A.B 两个待比较.评价的对象,分别打分为 RA,RBR_A,R_B,则各自获胜的期望值为: ⎧⎩⎨⎪⎪⎪⎪⎪⎪EA=11+10(RB−RA)/400.EB=11+10(RA−RB)/400. \le ...

  7. 艾洛积分系统(Elo Rating System)

    一.基本公式 A.B 两个待比较.评价的对象,分别打分为RARAR_A,RBRBR_B,则各自获胜的期望值为: ⎧⎩⎨⎪⎪⎪⎪⎪⎪EA=11+10(RB−RA)/400EB=11+10(RA−RB)/ ...

  8. ELO rating system

    昨晚帮策划考虑PVP大厅匹配池最小匹配人数问题,恰好看到这个算法,先mark下.挺有意思,发完版本详细看看. https://en.wikipedia.org/wiki/Elo_rating_syst ...

  9. 游戏中反向运动学(ik)的研究与简介

    反向运动学(ik),英文名称是inverse kinematics,主要应用在机器人手臂操作及计算机动画等领域,它与正向运动学即fk是相反的过程,具体定义在此不多说,感兴趣的可以看下wikipedia ...

最新文章

  1. shell 下的运算表达
  2. 关于Jupyter Notebook默认起始目录设置无效的解决方法
  3. 如何让gridview中的checkbox根据数据库情况默认选中?
  4. C++中default标识的构造函数的说明
  5. 将MongoDB与Morphia结合使用
  6. python matplotlib库安装出错_使用pip install Matplotlib时出现内存错误
  7. 字符串之字符判断以及字母的大小写转换
  8. 插入1000万条数据到mysql数据库表
  9. ASP.NET2.0中控件的简单异步回调
  10. .vue文件在webstorm中es6语法报错解决方法
  11. python逐行输出_python逐行输出
  12. 【渝粤教育】国家开放大学2018年春季 0420-22T酒店管理概论 参考试题
  13. SpringBoot热部署(实战)详解
  14. 一个离线的简单的 JSON 格式化编辑器
  15. Pano2VR制作全景图缩略图导航
  16. 利用ArcGIS软件将csv文件转换为shp格式
  17. 软通动力上市难掩隐忧,软件外包模式或受冲击
  18. 网络安全系列-VI: 网络安全大数据分析的粗浅认识
  19. 决策树的生成与剪枝CART
  20. Unkown host ‘raw.githubusercontent.com‘以及超时问题

热门文章

  1. 张小军详解华为区块链政务应用,指出区块链的应用领域正从金融向全领域拓展...
  2. 有参有返回值函数实现求s=a+aa+aaa+aaaa+..的值,其中a是数字如:a = 2; s = 2+22 a = 4; s = 4+44+444+4444,
  3. 《Scrum精髓—敏捷转型指南》读后感
  4. 任正非一语中的,未来科技的发展核心靠他们!
  5. 模仿淘宝聚划算倒计时js,兼容各种浏览器
  6. 万众期待的AMD 7nm来了!将给数据中心带来“恐怖”性能,令人侧目!
  7. 被言情小说泡大的人工智能,随便写几行字都是情诗
  8. RabbitMQ在windows10环境下安装步骤
  9. 如何使错误日志更加方便排查问题?
  10. freeswitch对接电信线路VOLTE视频通话