900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java实现王者荣耀匹配规则 王者荣耀匹配机制(通俗版)

java实现王者荣耀匹配规则 王者荣耀匹配机制(通俗版)

时间:2023-01-07 03:27:12

相关推荐

java实现王者荣耀匹配规则 王者荣耀匹配机制(通俗版)

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

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

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

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

综述:王者荣耀的匹配算法主要由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:合理游戏,保智商。记住:你打得过敌人,打不过系统。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。