手机网游
手机网游
休闲娱乐
模拟经营
赛车驾驶
冒险解谜
恋爱养成
策略塔防
战争对抗
体育竞速
卡牌对阵
VR游戏
3D手游
武侠修仙
动作闯关
射击枪战
音乐舞蹈
横板格斗
双人游戏
换装游戏
橙光游戏
其他游戏
传奇手游
安卓软件
安卓软件
主题壁纸
购物优惠
资讯阅读
健康美食
地图出行
影音播放
教育学习
游戏辅助
摄影摄像
其他软件
金融理财
言情小说
生活服务
电竞赛事
通讯社交
系统工具
效率办公
安卓游戏
安卓游戏
益智休闲
动作冒险
网络游戏
模拟经营
儿童教育
体育竞速
策略塔防
冒险解谜
角色扮演
音乐游戏
飞行射击
赛车游戏
破解游戏
传奇手游
其他游戏
攻略资讯
攻略资讯
游戏资讯
游戏攻略
游戏问答
软件教程
合集
合集
教程合集
游戏合集
软件合集
文章合集
首页 > 攻略资讯 > 游戏资讯

比赛模式怎么做:核心匹配规则

编辑:啊妹 2017-11-02

比赛模式是在线棋牌类游戏最重要的游戏模式之一,之前写过文章介绍如何安排比赛数值以达到收支平衡。

然而,笼络了一堆玩家前来参加比赛之后,要如何组织好这些玩家呢?这就涉及到系统如何将玩家组织配对,这就是比赛模式除了配平收支之外最核心的机制了。

我的另外一篇文章里介绍了目前棋牌游戏常用的几种模式,现在我们就用使用最广泛的“生存赛”为例,介绍几种常用的系统配对方式:

顺序法

这是最简单的一种方法。

一般的棋牌游戏的大厅都以桌为单位,上古时代的棋牌大厅都是让玩家自行寻找位置入座,现在移动端都是系统按照玩家请求的时间,按循序将其一个个放置在桌子上。当某个桌子已满(通常以游戏人数为上线,例如麻将就是4人),则自动开启一个新的桌子迎接新入场的玩家。

这种方法实现简单,表现给玩家就是入桌的人是一个一个地入座游戏的。

但这种方法缺点也很明显:既然是比赛,玩家完全可以约定好几个人同一时间一起进入,有很大的几率被安排在同一桌,有作弊的风险。

正是考虑到了这一点,所以有一些系统采用“错位排序”的方式:

按照顺序,将玩家安排在不同的位置上,避免同时进入的玩家被安排在同一个桌子上。但这种方法指标不治本,由于不是同时进入,玩家完全可以进入之后看一下是不是自己人,不是自己人的大不了退出重新再排过。

队列法

其实顺序法的问题不在于顺序,而是开始的机制,只要是玩家可以自由进出,就不能避免他们想按照自己意愿入座的行为。

所以,玩家进入比赛场之后,系统不安排其入座,先将其置入队列,等待队列人数到达一定数量后,一次性将玩家置入桌子并直接开始。

队列法应用广泛,《QQ斗地主》采用的就是这种方法。但使用队列法就需要一定的时间等待玩家填满队列,界面表现为“等待中”,表示其当前既不在大厅也不在桌子,而是在“排队”。

那么队列应该如何配置,玩家应该如何安排呢,这里就介绍一下我们用方法:

预制队列

玩家进入匹配状态中,系统首先将其丢入一个队列,可以是单线程队列(仅一条),或是多线程队列(多条)。

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

1、 有不少游戏是通过ELO系统(也就是LOL等游戏使用的评级系统)来评价玩家的水平的,理论上讲,评分数值越接近,玩家的水平就越接近,虽然可以通过低级场、中级场、高级场入口来分流不同水平的玩家,毕竟入口数量有限(也不可能太多),所以在进行匹配时如果根据评分设置多个区间,可以进一步细化,同水平的玩家更容易排到一起,下文也会详细介绍到。

2、 当比赛的规模大、奖励高时,对防作弊的要求也高了。作弊者时常采用的做法就是:尽可能短的时间、尽可能冷门的时间,多个账号同时涌入,为的就是能让其“自己人”同桌游戏。多个线程进一步打散了玩家,提高了作弊者的成本,降低了比赛被舞弊的风险。

当然了,多线程队列是对参加人数的规模有要求的,人数不够,线程还多,人为分流玩家,拉长了匹配的时间,造成不好的体验。

选择使用多线程队列,根据一定的标准将玩家安排进入某个队列,您可以自己定义这个标准,比如进入时间、胜率、评分、金币等,我们就先以评分为标准举例:

评分

1阶 1001~1100

2阶 1101~1200

3阶 1201~1300

4阶 1301~1400

预制筛选

我们想象一下,如果某个游戏中所有玩家都在同一场比赛中,根据评分高低,那玩家的分布情况会如何呢?

底分玩家多,高分玩家少

进入老年期的游戏,中间多两边少

不管是哪种分布,由于我们之前制定了1阶~4阶的多个线程,必然会造成某个阶人数很多一下子就匹配好了,某个阶人数很少匹配时间很长甚至迟迟不开始,那么要如何平衡这个矛盾呢?

队列法最关键的就是如何安排好匹配时间,合理的匹配时间玩家有耐心等待,同时可以让系统能更好地部署,但是一旦匹配时间过长,会造成极差的用户体验。

根据以往的经验,最理想的等待时间应该是10~15秒(对于玩家来说当然是越短越好),最好不要超过30秒,到达45秒以上乃至好几分钟就无法忍耐了。

45秒后无法忍受?其实更早就开始了

此外,当前的在线玩家数,也对匹配时间有着影响,同等条件下,人多意味着更短的匹配时间。所以我们可以根据当前的在线人数,动态调整我们的策略,将平均匹配时间维持在30秒以下。

思路:一般情况下,高阶人数少、低阶人数多,那么当高阶人数不尽人意时,可以略微放宽条件,将其“滑入”较低档次的队列,以保证匹配时间维持在一个良好的水平。(“降维攻击”,笑)

所以,我们定制了3种方案:

严格筛选状态 玩家进入游戏场,根据其金币数量,将其置入对应的队列,等待若干秒,称为严格筛选状态

相应的容器大于若干人,则进入匹配阶段。

宽松筛选状态 玩家进入游戏场,严格筛选时间结束后,依然没有开始游戏,则将其降级到前一个级别的队列,等待若干秒,称为宽松筛选状态,若在等待时间内没有开始,则继续降级。

自由筛选状态 玩家进入游戏场,总共匹配时间超过若干秒(项目5),无论当前在哪个容器,直接将其置入最低档次的队列。

此状态称为“死线”,即匹配时间太长了,无论如何都要开始游戏了,所以也不管什么条件就匹配去吧(慎用)。

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

状态1 开放的线程队列、数量

状态2 严格筛选状态时间,默认10秒

状态3 队列进入筛选的最小人数,默认9人

状态4 宽松筛选状态时间,默认10秒

状态5 自由筛选状态时间,默认60秒

状态6 是否同IP禁止

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

人数 状态2 状态3 状态4 状态5 状态6

0-100 20 9 10 60 是

101-300 15 18 10 60 是

300-500 10 27 5 30 是

500以上 5 36 5 30 是

以上的数值只是举例,需要在运营过程中不断调配到达最优,让匹配时间和匹配度达成一个相对的平衡。

匹配进行

队列布置好后,玩家陆续进入队列,队列人数满了,系统就开始配桌,玩家被安置在桌上后游戏即刻开始。

系统根据进入该队列的时间,将队列中的玩家错位排序,同一行的玩家安排在同一桌,就可以顺利开始游戏了:

1 8 15

2 9 16

3 10 17

4 11 18

5 12 19

6 13 20

7 14 21

这是一个3*X的矩阵,X为3~9随机数且 3*X必须小于项目3中的数值。

以3人的游戏为例子,如果4个人的游戏(如麻将)则再多加一列成为4列。

某些对作弊敏感度高的游戏,还会加入同IP限制(甚至是定位限制),符合条件的人无法被安排在同一桌。

有这种特殊条件,其实是比较难处理的,我们尝试了一种方法:当若干名玩家匹配成功后,系统检查是否存在同段IP,如果是,则保留1名同IP玩家,踢走其他同IP玩家进入队列继续排列,立即将队列候补玩家补上,如果没有候补玩家则解散所有人重新返回到队列。

这种野蛮粗暴的做法会带来不太好用户体验,所幸除了作弊者,同IP出现的情况不太多,本方法也仅供参考,慎用。


免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

良心推荐

房产置办咨询服务软件,很多人都想拥有一套属于自己的房子,所以这些年房产一直是不少人关注的话题,很多人攒了钱之后都想去看看房子,今天小编就为大家整理了一些房产置办咨询服务软件。

相关资讯