玩了这么久的王者荣耀,也该出来分析一波了。

很多人都会有这样的疑问:为什么我们在“农药”游戏中会出现连胜之后连败的情况?而且在连胜后遇到的对手都异常强劲,而队友却无比“坑”?

今天,用简单的几句话来通俗地给大家解释这样一个道理:上面的一切,都是系统在“惩罚”你。

好了好了,上车了。(最后上来的同学把车门锁死,这不是去阳光幼儿园的车。)

综述:王者荣耀的匹配算法主要由MMR值和ELO算法组成。

一、MMR值

MMR全称Match Making Rating,中文名:比赛匹配分级。广泛运用在竞技游戏中。DOTA2里面的比赛级别分为LOW、HIGH、VERY HIGH(简单、困难、非常难),一开始你的MMR积分为0分,那么赢了一场LOW的比赛就+1分,输了-1分;赢了一场HIGH的比赛就+2分,VERY HIGH+3分,输了则减。

那么你赢得越多,你的MMR就越高,你匹配到的对手也越厉害;反之就越低越弱。

这个系统会让你一直趋向MMR=0这个值。也就是说让你的胜率总是保持在50%左右,当你的胜率超过50%的时候,系统就会给你匹配很厉害的对手让你输;而你低于50%,就会给你简单的对手。(百度网友:°Fm69)

这个方案很好地解决了“代打”的问题:如果有高手帮你上分,系统可以及时发现,给你匹配更加“高级”的对手,一旦你自己开始玩,就会连败,直到你的MMR分为0.

既然明白了MMR机制,那么要怎样才能尽可能提升排位胜率呢?那就是在匹配中降低自身的隐藏分,提升匹配到神队友的机会。

例如:

1、和好友开房间,估计输掉比赛,降低隐藏分;

2、在几乎稳赢的局面下,送几次塔,降低自身KDA以降低隐藏分(慎用);

3、连胜时尽量和连败的好友组队排位,降低队伍的总隐藏分。

二、ELO等级分制度

Arpad Elo创建的一个衡量各类对弈活动选手水平的评分方法,是当今对弈水平评估的公认的权威方法。被广泛应用于国际象棋、围棋、足球等运动,以及很多网游与电子竞技产业。游戏界比较著名的应用有:WOW(魔兽世界)、DOTA、LOL。

image.png

ELO计算方法

Ra:A玩家当前的积分

Rb:B玩家当前的积分

Sa:实际胜负值,胜=1,平=0.5,负=0

Ea:预期A选手的胜负值,Ea=1/(1+10^[(Rb-Ra)/400])

Eb:预期B选手的胜负值,Eb=1/(1+10^[(Ra-Rb)/400])

因为E值也为预估,则Ea+ Eb=1

image.png

image.png

R'a=Ra+K(Sa-Ea)

R'a:A玩家进行了一场比赛之后的积分

其中 K 值是一个常量系数

公式Ea和Eb中分母“400”来源:

image.png

从统计学上来说,任何一名选手的即时表现都应该是符合正态分布的(围绕某一个水平上下波动)。每个选手的表现都应该符合正态分布函数:

image.png

其中U代表选手的平均水平,δ代表稳定性(表现分值的方差)。

image.png

通过两个玩家的能力正态分布图,计算各自“赢的概率”,得到ELO积分预期胜率计算公式:

image.png

这个公式有点难算,不怕,我们利用最小二乘,得出了和它函数趋向相近的另外的一个公式,这也是我们实际运用预期胜率计算公式时常用的替代公式:

image.png

由ELO积分预期胜率计算公式我们进一步得到表现等级分计算公式:

image.png

其中:Rp是玩家自己的表现分;Rc是对手排位分,如果对手不止一个就要取平均值;D(p)是胜率计算函数的反函数,p表示参考局数内玩家的胜率。

我们实际使用的是ELO体系积分迭代公式,形式如下:

image.png

其中:Rn是玩家比赛结束后的新的排位分值;Ro是比赛前玩家的排位分,K是一个加成系数,由玩家当前分值水平决定(分值越高K越小)。

image.png

ELO积分有一个比较显著的特点:需要一个收敛过程来对玩家的能力进行大致的定位(也即需要一定的“考查期”)。腾讯游戏主要采用两种方式来缩短收敛周期:“定级赛机制”(LOL)和“段位继承机制”(LOL、王者荣耀)。

image.png

image.png

为什么要使用段位机制来代替显式给出ELO积分?

答:将ELO积分变成隐藏分,直接给出玩家的“段位”,这不会打击玩家的信心(ELO分值收敛结束后,再进行更多的对局几乎不会有任何提高,除非自我进阶,所以ELO分值显式给出只会让玩家“累觉不爱”) 段位的出现是对人性考量的结果。永远不要忘记MOBA类游戏盛行的至理:超神都是自己的!锅都是队友的!段位上不去是因为队友都是傻逼!所以不需要在分值上对其水平进行太过精确地显示。

文末:再次强调,本文是“通俗版”,想要更加具体地了解竞技游戏中的匹配机制,可以继续阅读参考链接。

Postscript:合理游戏,保智商。记住:你打得过敌人,打不过系统。

java实现王者荣耀匹配规则,王者荣耀匹配机制(通俗版)相关推荐

  1. java实现王者荣耀匹配规则,王者荣耀:你单排总匹配到坑?是“匹配机制”因为你的这些无意触发了...

    原标题:王者荣耀:你单排总匹配到坑?是"匹配机制"因为你的这些无意触发了 单排打排位赛,队友一个比一个坑,我有一个程序猿朋友,他告诉我底层的匹配机制还是沿用的Dota,王者荣耀,只 ...

  2. nginx匹配规则说明以及匹配的优先级

    location 匹配规则 语法规则 location [=|~|~*|^~] /uri/ { - } 模式 含义 location = /uri = 表示精确匹配,只有完全匹配上才能生效 locat ...

  3. java实现王者荣耀匹配规则,王者荣耀匹配机制解析_王者荣耀匹配隐藏分规则介绍...

    王者荣耀玩的人数越来越多,匹配速度也是非常之快,不过,你可有注意到匹配是有一定规则的?今天小编就来给大家介绍一下王者荣耀匹配机制解析. 王者荣耀的匹配机制至少分为三种,分别是匹配赛匹配机制,赏金赛匹配 ...

  4. java实现王者荣耀匹配规则,王者荣耀匹配机制故意安排队友,看看队友构成就知道了...

    王者荣耀的匹配机制一直受到玩家诟病. 很多人发现只要一连胜或者晋升.降级,马上给你安排队友. 晋级时你的队友就不给力,费劲也难上去.降级的时候队友就很强,对面都跟弱鸡一样.连胜必须给你连败,始终给你维 ...

  5. Java中intentfiler_【Android - 组件】之IntentFilter的匹配规则

    我们知道,Activity的启动模式分为两种,分别是显式启动和隐式启动.显式启动需要明确的指定被启动的对象的组件信息,包括包名和类名:而隐式启动需要 Intent 能够匹配目标组件的 IntentFi ...

  6. 理论---url pattern 匹配规则

    开始: 在web应用部署描述符中,用于映射的语法规定如下: ①以"/"字符开头,并以"/*"结尾的字符串用于路径映射 ②以"*"开头的字符串 ...

  7. nginx之location匹配规则

    Nginx之location 匹配规则详解 有些童鞋的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是" ...

  8. Nginx之location 匹配规则详解

    Nginx 的语法形式是: location [=|~|~*|^~|@] /uri/ { - } ,意思是可以以" = "或" ~* "或" ~ &q ...

  9. Intent 匹配规则

    1.在AndroidManifest.xml中可以为 每个 Activity,Service 设置多个Intent-Filter; 在系统启动和程序安装之后,android会收集AndroidMani ...

最新文章

  1. BUU_刷题之旅(One)
  2. 后缀为hta,url,html,htm,html标签
  3. c语言值传递 地址传递 引用传递参数,C++参数传递(值传递,引用传递)
  4. matlab自带kpca,求对矩阵进行PCA或者KPCA特征提取的matlab代码
  5. 分治应用--最近点对问题 POJ 3714
  6. for in for of区别_这个句型中用介词for还是of?来看看解题技巧
  7. ubuntu-16.04安装程序报错 you might want to run 'apt-get -f install' to correct these
  8. redis安装与安全设置
  9. 1、Python基本对象类型----数字
  10. linux子进程中断信息码6,Linux入门学习——进程
  11. 便携式CAN分析仪、CAN接口卡、USBCAN 如何安装驱动?
  12. 2020腾讯秋招笔试编程题--压缩算法
  13. 概率Probability的本质是什么?[附概率基础知识,文末可下载28页PDF]
  14. Web Proxy Auto-Discovery Service
  15. 推荐10部最有影响力的韩剧,如未上榜的请留言下期推荐
  16. super this
  17. Unity资源缓存(内存)
  18. Solved: ERROR: Failed building wheel for hdbscan
  19. Gradle sync failed: Sync failed: reason unknown
  20. Kafka原理+操作+实战

热门文章

  1. 【视频课】8大真实金融工程案例,20多小时Python进阶课推荐给你学习!
  2. Linux 0.00简单多任务内核boot.s超详注释
  3. UE4 的 VR 视野破碎或右眼错误的解决方案 —— 从 Ocean Floor Environment 项目
  4. [生存志] 第56节 李聃函谷授道德经
  5. MATLAB图形绘制--离散数据绘图
  6. 双硬盘下安装win+linux关于开机引导的问题
  7. POI使用详解 java 复杂excel导出
  8. python动态捕捉屏幕_如何使用Python实现自动化截取Windows系统屏幕
  9. BUUCTF WEB Havefun
  10. 越狱Season 1-Episode 14: The Rat