吃鸡中匹配队友这个功能大概是怎么实现的?

每 100 人就可以开始一局游戏,可以选择单排/双排/小队/中队四个模式。
我发现几乎每次不到三十秒就匹配完成了,很好奇是怎么实现的,应该往里面塞了不少机器人吧。

阅读 5.1k
1 个回答

参与匹配的玩家都丢入匹配池,每个玩家记录两个属性(分数、开始匹配的时间),每秒遍历匹配池中所有分数段,找出每个分数上等待时间最长的玩家,用他的范围来进行匹配(因为匹配范围会因为等待时间边长而增加,等待时间最长的的玩家匹配范围最大,如果连他都匹配不够,那同分数段的其他玩家就更匹配不够了)。如果匹配到了足够的人,那就把这些人从匹配池中移除,匹配成功;如果匹配人到的人数不够并且没有达到最大匹配时间,则跳过等待下一秒的匹配;如果达到最大匹配时间,还是没匹配到足够的人,则给这个几个人凑机器人,提交匹配成功。并且根据匹配的等待时间扩大匹配范围,直到匹配到足够的人(或者超过一定时间还没凑够人,则补AI机器人)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题