Dota2 比赛匹配

转载:http://cn.dota2.com/2013/12/比赛匹配/

过去几个月我们一直在做匹配系统的改进工作。在接下来的博文里,我们希望能与大家分享一下现在工作的具体进度,同时还有全新匹配系统先睹为快。

竞技匹配系统即将来临

下一个大版本更新中游戏将加入全新的竞技匹配模式。本模式将为高手玩家提供一个竞技性更强的环境,同时拥有公开的竞技积分。其实Dota 2的普通匹配系统一直在使用匹配积分来进行匹配,而在竞技匹配中积分将对玩家可见。

下面是竞技匹配模式的几点设定:

  • 竞技匹配模式在普通匹配总局数达到150场时解锁。
  • 如果是组队匹配,所有人必须都已经解锁了竞技匹配模式。
  • 目前该模式下能选择的有全阵营选择(AP),队长征召(RD)和队长模式(CM)。
  • 如果处于低匹配队列中(小黑屋)将无法选择竞技匹配。
  • 竞技匹配中将不能邀请教练进行指导。
  • 普通匹配模式中的匹配积分将不会影响竞技匹配中的竞技积分,反之亦然。
  • 竞技积分只有您自己和好友可以查看。普通匹配采用的积分依然是隐藏的。
  • 当首次开始竞技匹配时,前10场比赛是校准积分阶段。这段时间内无法查看竞技积分。

您的匹配积分

Dota 2使用标准技术对玩家的游戏水平进行量化和统计。每个玩家只要开始匹配比赛都会获得系统分配的匹配积分,有了积分就能对Dota 2的游戏水平进行量化。每场比赛结束后,根据比赛中的表现积分就会变化。总的来说,比赛赢了,积分变高;比赛输了,积分变低。比赛的输赢是积分变化的重要依据。但是个人发挥同样是一大因素,尤其是在积分的不确定值很高的时候。有时候比赛输了积分会增加,赢得会减少,不过总体来说,比赛中赢的一方五人的平均积分将会增加,另一方将会减少。

我们也会记录匹配积分的不确定性。新手玩家和刚开始竞技匹配的玩家拥有的积分都具有很高的不确定值。而他们每经过一场比赛积分都会有大幅变化,不确定值较低的积分每次的变化幅度也会较小。而积分和不确定值都能为下一场比赛的发挥情况进行预测。积分是发挥的均值,而不确定值就是标准误差。只要比赛的结果(包括输赢和个人发挥)与我们的预期相匹配,那么不确定值将会不断降低。如果比赛的结果出人意料,不确定值就会增加。

每一名玩家的匹配积分将分为四类:

  • 单人普通匹配
  • 开黑普通匹配
  • 单人竞技匹配
  • 开黑竞技匹配

上述的两个竞技匹配积分都需要进行一段时间的校准。在某些特殊情况下,如果我们认为竞技积分计算有误,那还将重新进行校准。

下图是每个积分下的玩家所占的百分比,从中可以看成积分的分布情况。

 5% 1100
10% 1500
25% 2000
50% 2250
75% 2731
90% 3200
95% 3900
99% 4100

值得注意的是,上述的分布情况来自于普通匹配。目前还不能确定竞技匹配中的分布情况。进行竞技匹配的玩家水平会更高,经验也更丰富。我们预计到时候每个玩家相比进行普通匹配,他们的预期发挥和实际发挥都将有所变化。

如何才算是质量局?

Dota 2的自动匹配机制最终是为了让玩家享受游戏。匹配机制的匹配规则如下(以下几点不分先后):

  1. 双方水平相当。(双方获胜的几率都是50%)
  2. 比赛中水平最高和最低的玩家之间水平的差距将做到最小化。这与双方水平有关,但不尽相同。
  3. 比赛中局数最多和最少的玩家之间局数的差距将做到最小化。详情下面还会说明。
  4. 天辉方水平最高的玩家与夜魇方水平最高的玩家水平尽量接近。
  5. 队伍双方组队匹配(开黑)的人数会尽量一致,打个比方,匹配系统将尽量避免将五人黑店与5个单排的玩家匹配到一起。
  6. 玩家的语言偏好也会列入考虑。匹配系统会尽量避免将选择的语言没有重叠的玩家匹配做队友。同时也尽量避免选择语言不同的玩家做对手,不过优先级不高。
  7. 等待时间不能过长。

一般情况下匹配系统都不能完美地达成上述所有目标。在进行匹配时,匹配系统会为上述每个目标计算出一个得分,再将所有分数综合,得出加权平均数。当平均数超过一定数值时,匹配系统就会判定已找到“比较不错”的比赛,将所有人匹配到一起。我们一直在试验和比较不同的比赛因素,将各自的优先级进行排序。

匹配系统并不会直接尝试使玩家的胜率达到某一特定数值。但是,我们一直努力让每场比赛中双方队伍都有50%的获胜机会(上述第一点)。我们并不会检测玩家是否处于连胜/连负,并尝试进行终止。但是在连胜的时候,匹配积分很可能是持续上升,这就会让您匹配到水平很高的对手和队友。胜率并不能有效地衡量玩家的水平。

比赛局数也不是显示水平的实用标准,而匹配时考虑局数并非意味着局数就代表水平。在匹配玩家时考虑局数(上述第三点)主要是因为我们发现水平相同但是局数不同的玩家在每场比赛中预期发挥不尽相同。我们会采用游戏局数的对数函数来计算匹配时所需的参数。局数介于40局到120局与介于120局到280局经过计算参数基本相同。

看下面的图表就能直观地发现目标中第二点和第三点的影响,横坐标是游戏局数,纵坐标是匹配积分。如果两名玩家在积分非常接近,那么他们匹配到一起的可能性就很高。如果两名玩家差距很大,那匹配到一起就糟了。Dota 2的新手玩家典型的积分曲线是随着他局数不断上升,匹配积分缓慢地上升。而对于使用新帐号的老玩家来说,他们的曲线将有所不同。在一定局数内他们的匹配积分会快速增长,不用经过很长时间他们就能匹配到局数相当而且水平很高的玩家。

那组队匹配又如何?

谈到组队匹配(开黑),情况就更复杂了。黑店里的玩家之间水平和局数的差距一般都很大。为了能够更好地对上述的第二点和第三点进行衡量,匹配系统会算出每个黑店水平和局数的综合分数,这分数只在匹配黑店时使用。一般来说,一个玩家单独匹配到了水平参差不齐的黑店,那他的水平与黑店平均水平肯定非常接近。如果您发现比赛中有一名玩家的水平明显不如其他人,那很有可能他是和其他人开黑。

另外,玩家开黑时他们的整体表现相比同等水平但是互不相识的玩家要高出不少。这是通过两种方法得出的结论。第一,对于玩家单独匹配和开黑匹配,我们记录的是两组独立的数据。第二,我们在比赛结束后会根据黑店中玩家的数量和他们在比赛中的发挥对匹配积分进行结算。

下面的示例来自今天的比赛,可以对上述的两种方法进行示范。(队伍编号相同代表处于相同队伍中)

        天辉方                        夜魇方
  队伍编号  积分      调整后积分   队伍      积分    调整后积分
  D        2994     3003        C        3046    3062
  F        2788     2788        C        2920    2936
  A        2687     2687        E        2716    2716
  F        2626     2627        B        2672    2672
  D        2401     2410        C        2100    2116
  总分               13515       总分             13502

可以看出,经过调整后的匹配积分数值,平均为2700。使用经过调整的积分后,单独匹配的玩家将会安插在黑店玩家之间;而且,匹配积分的跨度较小(队伍F)容易与跨度较大(队伍D)的队伍匹配到一起。当然,因为队伍D的积分跨度较大,积分的调整幅度也比较大。而队伍F,其中的玩家水平更为平均,调整幅度较小。上述调整是使用了数据工具来实现(详情下面会描述),不过需要说明的一点是,与水平高出很多的玩家开黑后水平的提升速度相比与水平接近的玩家开黑会快很多。

根据数据设计匹配系统

如何确认匹配是否成功是非常困难的。玩家对于匹配质量的判定,跟他们最近的获胜率有密切相关。这点连Dota 2项目组的成员也不例外!为了避免情绪上,或者小范围的数据采样让我们误认为”匹配系统效果很好;最近我一直在赢”,我们尽量客观地使用数据来做各种游戏设计方面的决定。幸运的是,我们收集了大量的数据。打个比方,对于如何得出玩家开黑的发挥会比单排好这样的结论,您肯定很好奇我们是如何决定会去对有效的匹配积分进行调整的。我们使用的是一款叫逻辑回归的数据工具,可以创建方程对比赛获胜的几率进行计算。方程中有若干系数,决定了如何对黑店里玩家的积分进行调整。然后我们使用数值处理技巧得出方程中系数的数值,从而能够较为准确地预计比赛结果。

接下来另一个数据帮助我们设计匹配过程的示例是帮助我们决定比赛是否“够质量”,是否能被玩家接受,以及是否能让您一直希望匹配到更好的比赛。为了协调上述的评判标准,我们开始对比赛质量进行衡量。匹配系统的终极目标是为玩家带来快乐,所以我们使用了若干项数据对比赛质量进行衡量。其中的一项是基于双方团队金钱差的局势平衡值(Balance)。准确地说,是时间对金钱差异的积分,从上一次游戏中双方金钱差为0开始计算。这在金钱差异的面板上能够很直观地表现。找到差异曲线变为0的时间点,再测出曲线与纵轴形成的面积。一般来说,这块面积越小,两方赢得比赛的几率就越接近。

尽管比赛中夜魇方达到过1万的经济领先,但是天辉扭转了局势,经济实现了反超。尽管双方队伍都实现过巨大的经济领先情况,但是经过我们对局势平衡值的计算,我们判定这场比赛势均力敌。

有了这项数据后,我们可以试验来优化等待时间。我们对评定标准进行调整,然后通过计算出比赛中局势平衡值的结果来观察这对比赛的质量有什么影响。如果其中对某些比赛的结果进行了误判(判定为势均力敌实际是碾压到底),这并不重要,我们关注的只是做出改动后的综合变化。

结语

我们希望您在读完这篇博文后能大致了解匹配系统的工作机制,还有我们评定成功的标准以及设计匹配系统的过程。就像我们所做的其他大多数工作一样,匹配机制需要不断的进行重新评估。匹配系统永远做不到尽善尽美,而这篇博文中提及的技术细节也反映了当前遇到的问题,在我们找到更好的方法后将会继续进行优化。我们会一直倾听您的反馈,我们也不断致力于让游戏进步。

时间: 2024-08-11 13:47:05

Dota2 比赛匹配的相关文章

有没有什么办法能自动提取直播类网站的视频源?

网友问题: 有没有什么办法能自动提取直播类网站的视频源? 平时很喜欢看 dota2 比赛直播, 但是斗鱼和火猫的观看体验实在太差了, 我本身就讨厌弹幕, 页面交互又土的掉渣, 各种刷礼物的可怕特效还无法屏蔽, 整个一城乡结合部龙城狂霸拽的感觉, 我只想像 twitch 那样安静无干扰的看直播, 当然 flash 导致的巨大发热量也是一个重要因素, 后来我发现 chrome f12 的 network 里是可以直接看到视频源地址的, 一般是一个 flv 后面跟一大串参数, 这个地址是可以直接用视频

前端虚拟服务器

server { //定义虚拟主机 listen 80; server_name www.xxx.com api.xxx.com; access_log /srv/www/xxx.com/app/logs/www.xxx.com_access.log; error_log /srv/www/xxx.com/app/logs/www.xxx.com_error.log notice; rewrite ^/app\.php/?(.*)$ /$1 permanent; //重写请求的URL,此处的功能

(hdu step 6.3.2)Girls and Boys(比赛离开后几个人求不匹配,与邻接矩阵)

称号: Girls and Boys Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 189 Accepted Submission(s): 127   Problem Description the second year of the university somebody started a study on the romanti

面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力

作者:Tony Peng 去年,OpenAI 的 1v1 AI 击败了世界顶尖选手 Dendi,OpenAI CTO Greg Brockman 承诺:明年,我们会带着 5v5 的 AI bot 重回 TI.今天,他们履行了诺言,带着全新的 OpenAI Five,意欲挑战全世界最顶尖的 Dota 2 人类玩家.然而,51 分钟的比赛之后,OpenAI 经历了一场完败. 据介绍,本届 TI8 的很多参赛队伍都报名想参加与 AI 的比赛,OpenAI 今天遇到了第一个对手:来自巴西的战队 paiN

基于深度学习方法的dota2游戏数据分析与胜率预测(python3.6+keras框架实现)

很久以前就有想过使用深度学习模型来对dota2的对局数据进行建模分析,以便在英雄选择,出装方面有所指导,帮助自己提升天梯等级,但苦于找不到数据源,该计划搁置了很长时间.直到前些日子,看到社区有老哥提到说OpenDota网站(https://www.opendota.com/)提供有一整套的接口可以获取dota数据.通过浏览该网站,发现数据比较齐全,满足建模分析的需求,那就二话不说,开始干活. 这篇文章分为两大部分,第一部分为数据获取,第二部分为建模预测.   Part 1,数据获取 1.接口分析

【DFS求树的最大二分匹配+输入外挂】HDU 6178 Monkeys

http://acm.hdu.edu.cn/showproblem.php?pid=6178 [题意] 给定一棵有n个结点的树,现在有k个猴子分布在k个结点上,我们可以删去树上的一些边,使得k个猴子每个猴子都至少和其他一个猴子相连 问树上最少保留多少条边 [思路] 每个猴子要至少和一个猴子相连,考虑保留的边最少,那么最优的情况一定是一条边的两个顶点放两个猴子,这些边的顶点都不重合 我们现在要找到给定的树中最多有多少条这样的边,即最大二分匹配 O(n)的DFS,对于每个结点,优先与叶子结点形成一条

hihoCoder 1393 网络流三·二分图多重匹配(Dinic求二分图最大多重匹配)

#1393 : 网络流三·二分图多重匹配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 学校的秋季运动会即将开始,为了决定参赛人员,各个班又开始忙碌起来. 小Hi和小Ho作为班上的班干部,统计分配比赛选手的重任也自然交到了他们手上. 已知小Hi和小Ho所在的班级一共有N名学生(包含小Hi和小Ho),编号依次为1..N. 运动会一共有M项不同的比赛,编号为1..M.第i项比赛每个班需要派出m[i]名选手参加. 根据小Hi和小Ho的统计,编号为i的学生表示最多同时参加

[BZOJ3139][HNOI2013] 比赛

Description 沫沫非常喜欢看足球赛,但因为沉迷于射箭游戏,错过了最近的一次足球联赛.此次联 赛共N支球队参加,比赛规则如下:  (1) 每两支球队之间踢一场比赛. (2) 若平局,两支球队各得1分.  (3) 否则胜利的球队得3分,败者不得分.  尽管非常遗憾没有观赏到精彩的比赛,但沫沫通过新闻知道了每只球队的最后总得分, 然后聪明的她想计算出有多少种可能的比赛过程.  譬如有3支球队,每支球队最后均积3分,那么有两种可能的情况:  可能性1     可能性2  球队  A  B  C

hiho 第117周 二分图多重匹配,网络流解决

描述 学校的秋季运动会即将开始,为了决定参赛人员,各个班又开始忙碌起来. 小Hi和小Ho作为班上的班干部,统计分配比赛选手的重任也自然交到了他们手上. 已知小Hi和小Ho所在的班级一共有N名学生(包含小Hi和小Ho),编号依次为1..N. 运动会一共有M项不同的比赛,编号为1..M.第i项比赛每个班需要派出m[i]名选手参加. 根据小Hi和小Ho的统计,编号为i的学生表示最多同时参加a[i]项比赛,并且给出他所擅长的b[i]项比赛的编号. 小Hi和小Ho希望将每个学生都安排到他所擅长的比赛项目,