找回密码
 立即注册
搜索
查看: 102|回复: 0

比赛模式中如何组织玩家?生存赛系统配对方式介绍

[复制链接]

2万

主题

0

回帖

6万

积分

管理员

积分
63385
发表于 2024-9-26 13:49:49 | 显示全部楼层 |阅读模式
竞技模式是网络桌游中最重要的游戏模式之一,我之前写过一篇文章讲如何安排竞技数值,实现收支平衡。

但是,吸引了一批玩家来参赛之后,如何组织这些玩家呢?这就涉及到系统如何组织和配对玩家,这是除了平衡收支之外,比赛模式最核心的机制。

我另一篇文章介绍了棋牌类游戏常用的几种模式,现在我们以最广泛的“生存游戏”为例,介绍几种常用的系统搭配方法:

序贯法

这是最简单的方法。

一般棋牌厅都是以桌位为主,古代棋牌厅是让玩家自己找座位,现在在移动端,系统会按照玩家请求的时间,逐一将玩家安排到桌位上,当一张桌位坐满(一般以人数计算,比如麻将桌位是4人),就会自动开辟一张新桌位,迎接新的玩家。

这种方法实现起来很简单,在玩家看来,就像是桌上的人们一个接一个地坐下来玩游戏一样。

但这种方式也有明显的缺点:既然是比赛,玩家很容易约定几个人同时一起进场,而且有很大概率会被安排在同一张桌子上,存在作弊风险。

考虑到这一点,一些系统采用了“偏移排序”的方法:

将玩家分位置安排,避免同时进入的玩家被安排在同一张桌子上。但这种方法并不能从根本上解决问题。由于玩家不是同时进入的,所以进入后可以检查是否是同一玩家。如果不是同一玩家,则退出并重新排队。

队列方法

其实顺序法的问题并不在于顺序,而在于起始机制,只要玩家可以自由进出,就无法避免玩家想按照自己的意愿就座的情况。

所以玩家进入比赛场地之后,系统并不会给他们安排座位,而是先进行排队,等排队人数达到一定数量之后,系统就会一次性将玩家安置到桌位,直接开始。

排队方式被广泛使用,《QQ斗地主》就采用了这种方式,但是排队方式需要一定的时间等待玩家排满队列,界面显示“等待中”,说明目前既不在大厅也不在桌边,而是在“排队”。

那么队列该如何配置,玩家该如何排列呢?下面是我们的方法:



预制队列

当一个玩家进入匹配状态的时候,系统首先会把他扔进一个队列中,这个队列可以是单线程队列(只有一个),也可以是多线程队列(多个)。

这里简单介绍一下设置多线程队列的意义:

1、很多游戏都是通过ELO系统(LOL等游戏使用的等级系统)来评估玩家的等级,理论上分值越接近,代表玩家等级越接近。虽然不同等级的玩家可以通过低级、中级、高级入口进行分流,但是入口数量是有限的(不可能太多),所以匹配的时候如果按照分数设置多个区间,可以进一步细化,等级相同的玩家更有可能排在一起。下面会详细介绍这一点。

2、当比赛规模大、奖励高时,对防作弊的要求也高。作弊者经常采用以下手段:在最短时间内、在最冷门的时候,同时涌入多个账号,让自己的“自己人”同桌比赛。多线程进一步分散了玩家,增加了作弊者的成本,降低了比赛中作弊的风险。

当然,多线程排队对于参与人数的规模是有要求的,如果人数不够,线程太多,就会人为的分流玩家,拉长匹配时间,造成不好的体验。

选择使用多线程队列,将玩家按照一定的标准排入队列,你可以自己定义标准,比如入队时间、胜率、积分、金币等,我们以积分为例:

预制筛分

我们想象一下,如果一场比赛中的所有球员都在同一个游戏中,那么球员将如何根据他们的评分进行分布?

低分球员很多,高分球员很少

随着我们步入老年,中间的比赛越来越多,而侧面的比赛越来越少。

不论如何分布,由于我们之前已经设置了从1级到4级的多个线程,所以必然会出现某一级人数多,匹配快,而某一级人数少,匹配时间长甚至延迟的情况。那么如何平衡这个矛盾呢?

排队方式的关键在于如何安排匹配时间,合理的匹配时间会让玩家有耐心等待,让系统更好的调配,但如果匹配时间过长,则会造成非常差的用户体验。

根据以往的经验,理想的等待时间应该是10到15秒(当然对玩家来说越短越好),最好不要超过30秒。超过45秒甚至几分钟都是难以忍受的。

45秒后就受不了了?其实它早就开始了



另外,当前在线人数也会对匹配时间产生影响,同等条件下,人数越多匹配时间越短,因此我们可以根据当前在线人数动态调整策略,使平均匹配时间控制在30秒以内。

思路:一般来说,高等级玩家少,低等级玩家多。所以当高等级玩家数量不理想时,可以稍微放宽条件,将他们“滑”进低等级的队列,保证匹配时间维持在一个较好的水平。(“降维攻击”,笑)

因此我们定制了3个解决方案:

根据当前人数,系统自动调整当前状态,以适应当前状态的变化:

最后根据当前场地人数进行动态调整:

以上数值仅为示例,需要在运行过程中不断调整以达到最佳值,使得匹配时间和匹配度达到相对平衡。

匹配

队列排好后,玩家依次入队,队列满后系统开始分配桌位,入座后游戏立即开始。

系统按照玩家进入排队的时间进行排序,同一排的玩家被安排在同一张桌子上,游戏可以顺利开始:

这是一个 3*X 矩阵,X 是 3 到 9 之间的随机数,并且 3*X 必须小于第 3 项中的值。

以3人游戏为例,如果是4人游戏(例如麻将),则再添加一列,变成4列。

一些对作弊敏感度较高的游戏还会增加同IP限制(甚至是地域限制),符合条件的人不能被安排在同一桌。

这种特殊情况其实比较难处理,我们尝试了一种方法:当成功匹配到几个玩家时,系统会检查是否有同 IP 段的玩家,如果有,则保留一个同 IP 段的玩家,其他同 IP 段的玩家会被踢出继续排队,排队待命的玩家会立刻加入队列,如果没有待命的玩家,则所有人都被遣散,重新回到队列中。

这种野蛮粗暴的做法会带来很差的用户体验,好在除了作弊者,相同IP出现的几率并不高,此方法仅供参考,谨慎使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【远见汇智】 ( 京ICP备20013102号-17 )

GMT+8, 2025-5-5 05:24 , Processed in 0.071057 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表