匹配算法

概述: 匹配系统的目的如下,优先级从高到低:

1、 保护新手不被有经验的玩家虐;让高手局中没有新手。 2、 创造竞技和公平的游戏对局,使玩家的游戏乐趣最大化。 3、 无需等待太久就能找到对手进入游戏。

匹配系统尽其所能的匹配水平接近的玩家,玩家的水平是来自他们在此之前赢了谁以及他们对手的水平。当你战胜对手,系统会认为你更强,当你输给对手,系统会认为你更弱。虽然这对于某一局游戏并不是那么的公平,但是长期来看,对于多局游戏是相当的公平:因为好的玩家总会对游戏结果造成正面的、积极的影响。我们使用了这样一个方法测试:给水平高的玩家一个新帐号,然后看他们游戏数局后的结果。我们通过大量的测试来证明了我们的想法。

并且,匹配系统知道预先组队的玩家有一些优势,如果你是预先组队,会给你一些更强的玩家。我们用一些非常巧妙的数学方法来解决预先组队的玩家VS solo玩家的匹配公平问题。我甚至让两个数学博士来验证,他们都说给力!

匹配是怎么完成的?

首先,系统将你放进适当的匹配池里——根据游戏模式(匹配模式、排位solo/双人、排位5人、其他模式等等)

然后,系统会尝试将匹配池里的人分到更细的匹配池里——5人组队 VS 5人组队,低等级新手 vs 其他一些低等级新手,如此这般。

当你在匹配池中,系统会开始尝试找到合适的配对,目标是撮合一个双方获胜机会都为50%的游戏。

第1步:确定你的实力:

*如果你是solo,就直接使用你的个人匹配分(也就是elo值,匹配模式和排位赛有不同的匹配分) *如果你是预先组队的,你的匹配分是你队伍的平均分,并且会根据你组队的规模稍微提高一些,这样才能保证你匹配到更强的对手来抵消你组队的优势。我和一个计算机生物学的博士(Computational Biology Ph.D)通过研究成百上千的游戏结果,计算出了预先组队到底有多大的优势。我们还在幕后做了一些其他调整,比如新手和高玩组队,比如某地图上蓝队和紫队的玩家哪个更有优势,诸如此类。

第2步:确定你合适的对手:

*首先,系统会基于你的elo值,给你匹配跟你非常相近的玩家。最终,系统会放宽匹配的条件,给你一些不是那么完美的匹配,因为你肯定也不想永远匹配不到人。 *新手会得到一些特殊的保护,通常新手只会匹配到其他新手(在成熟的服务器里,这个比例达到了99%+。除非这个新手和一个高级玩家朋友预先组队)

第3步:确定匹配:

*最终,系统会匹配10个大体上同水平、同等级的玩家,促成一个游戏。 *系统会尝试平衡这个队伍,尽量使双方的获胜机会都为50%。在绝大多数时间,误差会在3%之内——类似50/50,49/51,48/52。实际上的获胜机会会有一点点差别(会在Q&A里面回答这个问题),但是我们的研究标明,在绝大多数情况下,这实际上是一个非常精确的预测。

转载于:https://my.oschina.net/anxuyong/blog/912786

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值