守望先锋蓝贴:主设计师解读匹配系统

消消乐
新浪游戏守望先锋正文

守望先锋主设计师解读匹配系统

2016-06-22 11:01 新浪游戏

2

  一位昵称ExcaliburZ的玩家在bn美服论坛上对守望先锋的匹配系统进行了分析,以及解释系统是如何匹配的,以下便是Jeff的回答。

  圈了一些重点放在前面给没耐心看的人快速阅读

  • 对匹配系统的详尽描述,有兴趣阅读下文
  • 匹配系统考虑的因素有:ping(网速)、等待时间、组队情况、技术水平(MMR)等
  • 你的技术水平MMR变化会考虑到很多东西,比如:胜利升失败降、对方的MMR水平对比己方、各个英雄的表现、进行的地图、攻防方等
  • MMR不会考虑你的胜负比例
  • 没有刻意控制玩家们的胜率,尽管实际上很多人都处于50%左右胜率
  • 参与过任一内测的玩家,同一账号在游戏正式上线时会保留MMR
  • “讨厌/避免这个玩家”功能会关闭,这个功能会使得在匹配时会避免这一玩家,但结果很糟

  Jeff Kaplan:

  非常棒的帖子,ExcaliburZ。允许我对匹配系统分享一些个人的想法。。。

  我们一直在更进所有关于匹配系统的讨论。

  当此类主题在社区中得到讨论时(在游戏设计师中也经常讨论),我们倾向于极端黑与白或对与错的形式进行讨论。

  但你作为一个游戏设计师大部分重要的决定都是很难进行权衡的决策,且没有一个完美的答案。

  匹配系统的目标便是让你不用自己去寻找11个其它玩家进行游戏。

  你可以简单的点击开始游戏按钮,然后系统便会为你寻找其他玩家,这便是最基础的。

  而事实是,匹配系统对于它所尝试去做的事来说非常复杂。这个系统所需要做的远远多于我将在帖子里所提到的内容,所以我在此提供一些信息时会有所缺失(不都是有意的,仅仅是匹配系统实在非常复杂)。

  在最基础的层面上,匹配系统会尝试把你与其他11个玩家放在一起。

  但它不单单是随机的选择11个人,它会考虑非常多的因素(远远多余我即将列出来的,且不一定具有优先级)。

  第一个因素便是时间。

  匹配系统将会尝试尽可能快的匹配到对局,从而使得你不需要等待太久。

  很常见会发生的事便是:一个玩家会对对局表示不满,然后说:”我不在乎你让我等多久,我更想等个20分钟然后来一局质量局,而不是像刚刚给我匹配的那把“。

  而从我们所看见的是,当等待时间超过某个阈值时,玩家们便会开始抱怨匹配花费的时间太久了。听起来等待一局。。。完美的对局很棒,但实际情况是等待时间过长会使得绝大部分玩家体验很差,他们会在论坛上开始表示不满。

  另外,有一个不切实际的期望是:如果一个玩家为对局等待了越久,这一局便会”更好“。而对于匹配系统来说,”更好“的定义便是一个非常困难去诠释的概念。

  如果让我来把对局结果概括并分成5个广泛的类别的话,将会是以下:

  • 类别1:我的队伍获胜,我们大幅领先的战胜了另一个队伍。
  • 类别2:我的队伍很艰难的获胜了。
  • 类别3:我的队伍很艰难的落败了。
  • 类别4:我的队伍落败,我们被大幅领先的击败了,根本算不上很接近。
  • 类别5:这对局在某一方面很糟糕,可能有的人掉线了、一直在乱混、或是一直只有12人以下进行游戏。

  (当然对于上述还有很多其它例子,在此我只是稍微简化了。)

  大部分玩家可能会说,他们希望对局是我上面所说的第二或第三种类型。

  这听起很公平,很艰难的胜或败。但是我相信当心理学介入游戏后,大部分玩家实际上期待的是第一或第二种类型。

  即使是一场激动人心非常接近的第三种类型对局对于很多玩家来说,也会带来一个非常负面的体验。如果你连续”很艰难的落败“,这肯定不会是个愉快的夜晚。

  胜利是愉快和美好的,而失败对于胜利来说快乐更少。

  所以等待很长时间然后被大幅度击败很显然不好,但等半天然后很艰难的落败同样也是一种负面体验。

  如果我们假设你的获胜概率大概是50%不变(基于技术),这代表着即使等了很久为了一局”更好“的对局,你仍将会在一半时间花费很长等待时间去被击败。。。

  如果你的期望是等很久然后获得一场非常酷炫的对局,你将会得到1:我们大幅领先的战胜了另一个队伍/2:我的队伍很艰难的获胜了。。。总而言之是胜了,那么你的期望对于系统可以或者说应该做的事来说,便是处于错误的立场。

  我们并没有生成机器人去落败,让你可以获得50%以上的局数胜利(假设你的胜率是50%不变)。在另一边都是真实的人在落败,同理你的每一局落败也一样。

  第二个我们所考虑的因素便是ping(响应时间,通常指网络环境良好程度)。

  我们在贯穿整个世界内为玩家们进行匹配,所以我们希望让玩家们匹配到最近的服务器以获得最佳的游戏体验。

  在我们第二次压力测试中,我们有另一项优先于ping的匹配因素,比如技术水平和等待时间。

  对于你们中有任何参与过那一次压力测试的人来说,你们将会想起在第一天游戏是表现的如何之糟糕,就如论坛上的文学起义一般,大家要求玩家们可以得到一个选项来选择服务器。

  所以现在我们对玩家的ping更为优先了。

  一些玩家住在世界中具有挑战性的区域,当考虑到高速网络连接时(我正在注视安底斯山脉。。。位于南美洲的西岸,是世界上最长的山脉)。。。

  所以对于每一个人来说都不会是完美的,但是在很大程度下,大部分玩家会得到一个对我们的游戏服务器非常棒的连接状态。

  匹配到ping大幅不同的玩家们也会造成一个很高频率发生的非期望副作用,比如”从墙后被射到“。

  当然如果你住在德克萨斯州的休斯敦,和住在瑞士日内瓦的朋友组队时,你便是在为我们的系统引入不稳定性,对于我们来说非常难以解决。。。但是我们也允许这样。

  这给我们带来了下一个我们匹配的因素:组队。

  我们大部分的对局都是由所有人都是单排玩家或单排玩家和组队玩家一起所构成的。不过,系统会首先尝试匹配同样组队人数的双方队伍。

  而当人们等待时间增加时,我们便会扩大搜索的范围尝试寻找其他人与他们进行游戏。这代表着偶尔我们会匹配到没有进行组队或比另一方更小组队人数的双方队伍。

  正如我之前提到的,这是极为罕见的但确实会发生。这样的对局只有在玩家们的等待时间超过一个我们认定过长的阈值时才会进行匹配。

  对于大部分6人组队来说会匹配另一个6人组队的队伍。

  组队对于我们的匹配系统是项很大的挑战。

  你可以和拥有非常不同技术水平和ping的玩家进行组队,我们允许如此。

  而有另一个队伍在队列中和你们的独特的配置(pings、技术水平等等)完全镜像的情况是很少见的。我们希望你多去组队,我们觉得这是玩这个游戏最好的方式。

  所以我们尝试去避免那些阻碍组队的事,我们希望继续改进我们的社交系统,这样你们将可以更容易的去和自己选择的人进行组队。和自己选择的人组队进行游戏比我们(匹配系统)为你选择会更加具有可靠性乐趣。

  我曾经用过一个比喻:在周六晚上和人们出去玩。如果你和5个朋友一起出去可以有一个更美好的时光,比之我们为你寻找5个随机的人,无论我们在筛选阶段是多么的睿智。。。

  总而言之,这为我引来了匹配等级。

  这个等级在我们尝试匹配时是最重要的一件事。基本上这个等级的意思是”你的水平如何”。

  通常来说,你将会听说过这个等级被引用为MatchmakingRating或是MMR。MMR在不同的游戏中是非常不同的。守望先锋从其它游戏那借鉴了很多的认知,当然同时还有很多自己独特的事物。

  当每一个玩家进行游戏时,他们的匹配等级便会根据他们胜利或失败从而提高或降低。这个系统是极端复杂的,而还有很多内容我没有在此进行说明的。

  所以请不要把这当做守望先锋MMR是如何计算的综合指南,在引擎之下肯定有很多其它因素。

  在守望先锋中,无论你的MMR提高或降低都是间接在于胜利或失败,但在此之外还有很多因素会决定你的MMR提高/降低了多少

  举个例子,你进行游戏的地图、你是进攻方或防守方也被作为因素考虑了进去。

  我们知道所有地图进攻/防守方的胜率,然后我们会借此进行标准化。不是所有的胜利或失败都是相同的,我们也会看你在对局中所使用每个英雄的个人表现。

  每一个人都有更强或更弱的英雄,而我们有成吨的数据告诉我们这些英雄的表现水平应该是怎么样的。我们还会看你对手们的匹配等级是否高于或低于你们的。

  而这些在决定你的技术水平是否应该提高或降低中只是一小部分所考虑的事情。

  在任何时候MMR的计算都不会看你的胜负比,胜负比绝对不会用来决定你将会匹配的队友和对手。

  我们并没有刻意控制大家的胜负比例趋于一个固定的数值(尽管实际上很多人都处于50%胜率,这让我们也非常开心)。

  系统在考虑到技术水平时所有做的匹配便是尝试让你和相同数值的人在一起。

  系统很显然比这些还要更深入。

  对于一段时间没有进行游戏或在不同人数组队的人来说会有一些措施和限制。我们也会做一些特别的事比如对于萌新来说(希望如此)会让他们远离一般的玩家群体。

  玩家们也将会经常在看玩家水平时出错,然后指责匹配系统匹配了并不公平的对局。正如我在之前所提过的一件事,我们在封闭测试、公开测试和第二次压力测试周末中就对你的技术进行了量化。

  如果你参与了任一这些测试(超过1000万人参与了),我们便已经分配了一个技术等级给你(大部分情况下)。这意味着很难会看到一个等级1的匹配到远远很高等级的玩家。在大部分此类情况中,这个等级1的便是一个参与了上述测试有技术的玩家但在正式开服后没有立刻加入游戏。

  还有很多其它因素超出了我们的控制,会对匹配系统带来不和谐的声音。

  • 早退者是非常具有破坏性的。
  • 玩家们对于不同英雄来说技术水平是非常不同的,我们对于你在一场对局中会使用21个英雄中哪一个完全没有头绪。
  • 由大不相同技术水平和ping的玩家所组成的队伍,与传统观念相反的是:不会有一个“完美的对局”给你们独一无二的雪花队伍(雪花的形状极多)。
  • 有时候你的弟弟会玩你的账号
  • 有时候猫会走到屏幕前
  • 有时候你的无线鼠标没电了(顺便一提,为什么你在用一个无线的鼠标?)
  • 有时候一个高水平玩家在一个新的账号上买了个新的守望先锋去“重新开始”
  • 有时候你遇到一些网络问题
  • 有时候你在喝醉或很累时进行游戏。。。或者两者都有
  • 那一晚有一场首赛。。。
  • 。。。那一晚有一场决赛
  • “生活”

  所以这给我为守望先锋带来了一些想法。

  整个帖子的大部分都是我的个人想法,而下一部分则”尤其“是我个人的想法,不能反应设计团队或公司的观点。

  无论好坏,我们更专注于游戏的设计在于一整个团队的胜利或失败。

  守望先锋不是一款游戏你可以无视地图的任务目标而仅仅看你的杀人/死亡比例来决定你的水平有多好。我们希望你可以更专注与胜利或失败,而作为结果你会对胜利或失败更为关心。

  我们如此尝试过让失败不会成为整个世界的末日,但很大一部分人对于胜利的期望远远大于失败。

  有时候我也会想如果我们可以克隆11个你然后把你放在一个对局中和自己进行对抗,你会对结果满意吗?即使你失败了?

  抛开前面我提到过的5种对局类型,我的信念便是你应该仍然体验到第一到四种类型的对局。而这四种类别是否仍然无法接受?因为他们确实将会发生。。。

  然后我相信守望先锋在那一方面是非常奇怪的游戏。

  因为我对匹配系统非常专注,我花了很多时间研究我所进行的对局。

  在控制地图(比如丽江塔、尼泊尔)中我的队伍很多次会在第一个占点中被击败,然后敌方队伍在第二点被击败,接着我们在第三个点中到达一个99%对阵99%的加时赛。

  如果你评价任一控制点会发现各有所长,你可以说你遇到了两种类别的对局(一种是你们大幅领先,另一个则是对面),然后则是一场非常接近的对局。同样的玩家。。。在匹配方面没有改动。

  或者再说说我曾经在66号公路的一局,举个例子,我的队伍处于进攻方然后很难推车冲出去,两个队友换了英雄接着我们一起冲锋并把车几乎没有停顿的推到了终点。

  这一场从一种类别的对局直接变成了另一个方向。

  所以虽然很可能会发生错误的匹配从而导致一种类别的匹配发生,但不是每一种类别的对局发生时都是匹配的失误。

  如果任意时间一方队伍统治了另一方被看成是”匹配系统糟糕透了“,而我们的问题便是去多认知和进行期望。

  看一看所有的职业的体育赛事们,每晚都有公平的对局发生,而每一种类型的对局也都在发生,这对于任意竞技游戏来说都是一种现实情况。

  而这会使得收看的人更少吗?很可能不会。

  我们对于匹配系统一直在不断的进行改进。

  每一天我们都会学到更多,我们有最好的工程师和设计师之一每天每夜的专注于系统。

  很多这些每周推出的”安静“的补丁便是对系统的调整。举个例子,我们最近意识到”讨厌/回避这个玩家“功能对于匹配系统来说是场灾难。

  世界上最好的黑百合玩家之一向我们抱怨排队时间非常之久,然后我们深入调查后发现上百个其它玩家已经回避了他(他是个很棒的人,而回避他的玩家是因为他们不想在对局中对抗他,而不是因为违规行为)。

  结果便是他的每一局匹配都花费了非常多的等待时间。更糟糕的事是,当他终于匹配到对局时,他已经等待了很久所以系统向比他更低水平的玩家开放了。

  然后顶尖黑百合之一的玩家便开始面对一个更低水平的玩家,最后,我们关闭了”讨厌/回避这个玩家“功能(UI将会在下一个补丁中改变)。

  这一系统在设计之时是带着非常好的意图,但最后结果却相当惨重。

  我们将会一直更进我们的匹配系统。

  我们在持续听取反馈,我们自身也有大量进行游戏,同时我们也会仔细研究硬数据为我们的决策奠基。

  我在这个帖子里不是想说明一切安好,我仅仅想在另一个人量化这个系统本身非常接近时分享一些我的想法,同时还有对反馈的查阅。

  我希望告诉大家还有很多地方可以进行改进,同时也想提出游戏中有一些力量会使得一些公平的对局因为这些超出我们控制的力量渐行渐远。(详见上文)

  这游戏更像是一个艺术品而不是科学,而我们也将会继续努力去让它变得更好!

  http://nga.178.com/read.php?&tid=9489480

热门评论 发表评论
查看更多评论(2)

精彩图片

推荐阅读

热门工具

全民手游攻略
全民手游攻略

(最新最全手游攻略问答社区)

下载
猫爪—推荐好游戏
猫爪—推荐好游戏

走心的游戏推荐平台

下载
返回顶部

微信扫描打开APP下载链接提示代码优化×