游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8605|回复: 9

[分享] PVP游戏如何解决玩家匹配等待时间过长的问题

[复制链接]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20484
发表于 2016-8-21 22:09:51 | 显示全部楼层 |阅读模式
文/云风

按局打的纯 PVP 机制的游戏,面临最大的问题将是,在一个玩家想找人对战的时候,找不到对手匹配。

如果游戏的在线玩家达不到一定人数,那么这个问题会恶化:等不到人和你一起玩、放弃等待、新的玩家更找不到对手。

像皇室战争、王者荣耀、炉石传说这些火爆的 pvp 游戏都属于迈过了线的作品,玩家不太愁等不到人一起玩,提升了游戏体验,聚集了更多的玩家。而当玩家群有限时,同类产品就很难竞争,只要在线用户掉到一定限度以下,很可能导致(无非找到对手)体验下降,更多玩家流失。

那么,有没有办法解决初期玩家过少的问题呢?

直观的想法就是没人玩 AI 凑。可 AI 并不是真人,和 AI 在公平规则下对战乐趣会少很多,且高水品 AI 开发起来也非常困难。最关键的是,一旦玩家乐于和 AI 对战(无论是因为对战本身的乐趣,还是可以刷分刷掉落),你会进一步失去在线用户。

让我们来估算一下这个问题有多么严峻:

据说王者荣耀目前的日活跃用户有 3500 万,自然不愁找不到对手。

如果你玩过这个游戏,必然会有体会,每天为了玩这个游戏等待匹配的时间有多长呢?我没玩过,让我随便估算一下吧,如果一天打两盘,平均每盘等 10 秒钟。我的每天等待时间就是 20 秒。即一个用户每天有 20 秒在线时间可以供和同样的人一起匹配准备。

每天有 24 * 60 * 3 = 4320 个 20 秒,那么对于 3500 万日活跃用户来说,当你在等待其他玩家加入的时候,有大约 8102 个玩家是你的对手备选。

由于每天高峰和低估的在线人数差异比较大,按我的经验大约可以差到 4 倍左右。在低谷期,这个人数至少需要减半。

所以你看,即使这么大的用户规模(3500 万日活这个数字我有点怀疑,如果这个数字是真的,那么你随便找身边的游戏玩家,他们几乎都应该在最近玩过这个游戏了),全部玩家同服,不考虑天梯(尽量不让高水平玩家和低水平玩家对战),每时每刻,也只有几千用户备战。

所以,如果考虑运营这种纯 pvp 开房间按局比赛的游戏,必须考虑尽量简单而扩大目标用户群,且尽量减少单局游戏的时长。宏观上,每个玩家每天能分配在游戏上的总时间有限,单局时间越短,可以打的盘数就越多。每局游戏前的匹配时间以 10 到 20 秒为容忍上限的话,盘数越多,每天可以忍受在等待上的时间也就越长,这样就减少了匹配不到对手的尴尬。

如果玩家人数太少,也可以通过活动来把有限的玩家集中到每天的某个时间段,甚至让服务器不 24 小时开放。



出去运营策略,技术上我们可以做些什么呢?

我想了一个最容易实现的方案,就是增加运营人手陪玩,并在技术上做配合,提高陪玩的利用率。

假设我们一局 1 对 1 的游戏长度是 4 分钟,玩家可以容忍的等待时间上限是 20 秒,理论上,在工作时间内,只需要安排 12 个陪玩就可以解决问题。

规则如下:

系统对陪玩账号做上标记,匹配系统永远不撮合陪玩用户之间战斗。

玩家开始匹配时,如果没有其它玩家同时在等待匹配,那么他最长等待 20 秒,在此期间,一旦有新玩家加入,就尽量撮合他们;否则,在超过 20 秒后,从空闲的陪玩者中选出一个人和他游戏。

由于单局游戏长度是 240 秒,所以最坏情况下,我们需要安排 12 个人陪玩。



如果加入天梯系统,即尽量让积分/实力相近的玩家一起游戏。那么,就稍微修改一下规则,两个玩家都开始匹配时,并不立刻撮合他们,而是一定等待一定数量玩家进来(比如 5 个),然后为等待时间最长的玩家寻找一个和他积分最接近的玩家开始游戏。

只有等不到人数,才在等待上限(20 秒)时,匹配一个尽量积分接近的玩家或陪玩。



我现在正在设计的游戏正是一个 1 对 1 的 pvp 手机游戏(战斗过程完全不同于皇室战争)。记录一下想法,希望游戏做出来后可以熬过最初的用户积累期。


74

主题

1872

帖子

4238

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4238
QQ
发表于 2016-8-21 22:22:40 | 显示全部楼层
我在玩 刀锋铁骑的时候,比如会战,看到他们是这样处理的。
会战本来是70人对70人的——但是有时候肯定不可能一口气凑到140个人的。

那他就这样处理,先每边放10个人还是15个人进去。。过一会儿又每边放15个人进去。如此类推。最后差不多就是70到70的。有时候不满70的时候,他(我是说服务器)会继续放人进来,以达到相对平衡的人数。反正,就是分阶段的。

3

主题

173

帖子

747

积分

高级会员

Rank: 4

积分
747
发表于 2016-8-21 23:27:07 | 显示全部楼层
哪里有像云风这么做的陪玩用户。我们领导之前也是这么想的,包个网吧,每天50元工资,人数低峰时期派网吧的人上去陪着匹配。
其实人少的时候就扩大可以匹配的区间就OK了。

3

主题

173

帖子

747

积分

高级会员

Rank: 4

积分
747
发表于 2016-8-21 23:27:33 | 显示全部楼层
gotcsq 发表于 2016-8-21 23:27
哪里有像云风这么做的陪玩用户。我们领导之前也是这么想的,包个网吧,每天50元工资,人数低峰时期派网吧的 ...

我也是看着云风博客进入游戏行业的。。总有一个感觉,云风很有水平,可总是把简单问题复杂化。

17

主题

1629

帖子

5982

积分

论坛元老

Rank: 8Rank: 8

积分
5982
QQ
发表于 2016-8-21 23:57:20 | 显示全部楼层
gotcsq 发表于 2016-8-21 23:27
我也是看着云风博客进入游戏行业的。。总有一个感觉,云风很有水平,可总是把简单问题复杂化。 ...

他其实更适合做策划

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2016-8-22 00:20:09 | 显示全部楼层
我觉得,只要不让AI说话,或者只在最关键的时候说简单的话,以目前的技术可以做到——对于大部分游戏来说,玩家基本不能分辨是AI还是真人——就皇室战争或者LOL这种规模的策略树,加上一些随机扰动还是挺容易以假乱真的。

不过,坛子里刚来了个人,说是研究语义理解的,或者他能让AI在语言表达上也以假乱真?

5

主题

194

帖子

950

积分

高级会员

Rank: 4

积分
950
发表于 2016-8-22 17:21:43 | 显示全部楼层
工作上最近正有可能遇到这个问题,假如LOL这样的游戏,英雄本身就有阶级之分(白绿蓝紫橙),然后8V8对战,同时在线人数不高,这种匹配感觉只能用AI了,没别的办法

0

主题

1

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2016-8-23 04:08:37 | 显示全部楼层
       我自己做过一个在线匹配的1V1PVP活动(ARPG页游),较为活跃的情况下参加这个活动的玩家大概100人以内吧,在设计这个活动和活动期间的改动遇到过类似的问题,例如匹配时间,参与人数少,游戏匹配AI等问题,在这里讨论一下。
       首先,关于匹配时间的问题,匹配时间的设计在大多数情况下也并不是越短越好,当然太长也不好,因为我所设计的匹配是一个池的概念(我不清楚其它游戏是否这样匹配),即玩家点击匹配后即进入匹配池中配对,如果匹配被选中或选中别人则从池中除去,听程序说由于性能的考虑,匹配周期是根据服务器时间每5秒匹配池中全体玩家进行匹配一次,如果匹配不到符合要求的玩家则会降低匹配要求并等待下一轮的匹配,因为理论上来说匹配池中玩家人数越多匹配精度越高,所以匹配时间不宜太短,否则很容易跳过匹配到合适对手的阶段,但太长玩家也不耐烦吧,所以我设计了匹配时间期望,第5秒匹配的是非常精确的对手,第10秒匹配的是合适的对手,第15秒匹配的是实力稍强的对手……第30秒匹配的是任何人,有对手就行了啊。
       当然,10秒是不是太短?最长等待30秒是不是太长?嘛,不同游戏可能不同吧,但从我设计的活动实际效果和体验看来这种实际还可以,如果匹配对手后只用1秒就结束战斗,那么匹配30秒可能是太长了,如果匹配对手后要3分钟才能结束战斗,那么30秒也是可以接受,另外就是匹配完成一局游戏的奖励与花费的时间是不是合适,好玩否?这也是令玩家匹配感觉时间长不长的因素。
       第二,实力匹配,实力匹配的设计也是影响匹配时间的重要因素,因为我们总是希望玩家能匹配到更合适的对手,而我们又不希望匹配时间过长,那么怎样设计实力匹配规则则是非常重要。
       一开始主策叫我去看国际象棋的比赛匹配规则,本人愚笨看到那公式就懵逼了,本着自己的东西才是真东西的原则我决定不用国际象棋的匹配规则,自己想一套(参考DNF的)。
       使用积分制(废话),活动按积分符合度进行匹配,例如第5秒匹配积分差10以内的对手,第10秒匹配积分差30以内的对手……
       当然你也许会问,积分差多少以内才算是实力相当的对手啊,我一开始也是这样困惑,但我想明白了,匹配积分最好当然是积分差为0的对手,之后的对手理论上都是实力越来越不相符的对手,而这个积分差分段,也就是所谓期望的精确匹配,合适匹配,稍稍匹配,较强匹配之类的分段,这个在活动中会由积分生态逐渐稳定下来,当然没有完全百分比合适的,我在活动实际效果的查看中也在不断调整实力分段的积分差匹配范围,最后才达到一个理想的效果,所以也不需要怕错误,一般情况下不会差太多,有误差是正常的,慢慢调整即可,图中可以看到,11~20名的积分差也不是很大(前十名特殊规则所以积分差会较大,另外这个活动的积分是累计不会清零的哦),要知道这服的活跃玩家现在也不够200人,更不用说参加活动的活跃玩家了,也不是每个玩家都参加活动。

QQ截图20160823024234.jpg        上面提到过积分生态顺便说一下(新手:什么高大上啊,油条:忽悠人啊),说是积分生态简单来说就是弱肉强食,以积分作为食物进行的捕食食物链金字塔(油条:快看那人在装B),积分如何分层,又是如何输送,怎样防止断裂?(我自己都不知道说什么了)
       首先,为了防止积分断裂,即玩家积分总体减少,负增长,我设定活动排名50名以外的玩家比赛失败不会扣除积分,而这些玩家就算光合作用的积分生产者,也是设定中的第六层,最底层的活动玩家。
       然后是第一~五层,这些玩家分别是对应1~50名每十名一个阶层,嘛,当初设计这些阶层还涉及到奖励,就是阶层越高每次胜利获得奖励越多。
       第一~五层的玩家平均来说是积分流失的,因为失败扣去的积分要比胜利获得的积分要多,而且阶层越高积分流失越严重。(另外,阶层高的玩家对战阶层低的玩家,失败了扣去更多积分,赢了获得很少积分)
       由于这样的积分生态设计,第1~50名的积分差理论上不会很大,因为积分是一直在流失的,但从上图看出积分还是在慢慢累积,这图已经是开服3年后的图了,这说明第六层的玩家还是很努力的。
       但是呢,还是有一些问题,例如一个玩家非常厉害,碾压所有玩家,那么积分会怎样?
       QQ截图20160823033739.jpg
       积分真是一直疯涨,针对这个我也设计了一些多久不参加活动就扣除30%积分,前十名输掉会百分比扣除积分,但在实力的碾压下规则都是放屁,这样下去第一名玩家根本就很难匹配到人啊,这时主策提了个意见,添加AI对手(我设计匹配不到玩家的玩家有很高概率去匹配AI,匹配度越差匹配到AI的概率越高),说起来叫我在活动里添加AI对手的时候,其实我是拒绝的,因为你不能让我加就加,第一AI很傻,因为我不愿意玩家遇到很傻的AI,AI站在那里,很傻、很弱,这样玩家一定会来骂我,这根本不是玩家,说起来PVP也是个荣誉的活动,击败AI可没击败玩家有荣誉感。
       嘛,我表达过自己对于一个PVP活动中加入AI对手匹配的意见与焦虑,但主策还是要做,君要臣死,臣不能不死,于是就做了,咦?效果还不错哟,这时我也想通了,因为与其玩家匹配不到对手而随意匹配玩家,不如给玩家一个AI对手,这样实力强的玩家虐菜跟虐AI还不是一样?实力低的玩家也不必绝望被收割了。嘛,说到底也是个权宜之计,并没有根本解决问题,但这根本就解决不了,至少这个游戏是这样,但是击败AI可是有小福利的,而且只有特殊情况下会高概率出现AI,AI的包装也不是模拟玩家,而且包装成NPC乱入挑战,所以玩家接受度还不错。
       嘛,这个活动是我做过最复杂的活动了,很多细节的地方就不说了,只是针对匹配时间过长,匹配中加入AI等问题进行探讨,因为我是拿我做过的项目活动来进行举例,所以应该会有很多特殊的地方吧,如有其它情况也欢迎探讨。

57

主题

578

帖子

2294

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2294
发表于 2016-8-23 10:00:25 | 显示全部楼层
这个东西大家都知道...心疼你写这么多字...

32

主题

1519

帖子

2334

积分

金牌会员

Rank: 6Rank: 6

积分
2334
发表于 2016-8-23 10:28:44 | 显示全部楼层
守望的机制是让玩家互相成为陪玩,匹配等待到一定时间后会自动转为突击模式,这是个不计成败,没有胜利目标的自由对战,大多数玩家会在这种模式下去练新英雄,或玩玩平时不轻易尝试的玩法

好处是既让玩家觉得没有纯粹在等待,减少了这些玩家的负体验,又增加了等待池里玩家的数量,让之后进入匹配队列的玩家能迅速找到足够数量的对手,提升了后者的体验。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-4-24 12:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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