作者:纯洁的米万
“同时在线,则是指玩家们同一时间当中登陆宝可梦online,在其中进行游戏时的数量,这个是由服务器的承载量来决定的。
两件不同的事情。
就跟我们现在做的雀魂一样,同时开放的房间数量才是决定服务器压力的,而单个房间当中,最多也就只有4个玩家在一张麻将桌上进行游戏。
明白我的意思吧?”青智源问到。
经过青智源的一番解释,大家这才恍然大悟,玩家们不一定会在同一个场景当中出现,也不一定会看到那么多的其他玩家。
不过呢,同时在线和实际的玩家数量又是两个不同个概念。
这里面会存在于三个很重要的游戏数据。
第一个就叫做注册人数,是所有在游戏当中注册了账号的玩家数量。
第二个是最大同时在线人数,代表着玩家们同时在线的峰值。
第三个是平均在线人数,会比峰值数据低很多。
一般情况下,能同时注册100人,当中可能只有20%的玩家会留存下来,而且20%的留存率已经相当高了。
然后在这剩下的人当中,每个人由于职业、时间上也会有区分,不是每个时间段当中都会有20%的玩家在线的。
但是程序这边得按照峰值来进行架构设计,否则就很容易出现崩溃的情况。
“先做地区拆分,然后每个大区由多台服务器来进行构成,”青智源说。
“那这样一来,服务器的压力就太大了。”赤西健说。
“不够就买,多配置一些服务器就是了,”青智源说。
这样一来,虽然说是20万人同时在线,但是可能只需要40到50台比较好的服务器就行,相当于每台服务器支撑4到5千人左右。
这是青智源考虑到当下的硬件水平所做出来的评估。
最开始的网络游戏大概也是这个样子,一个大区当中拆分成许多的小区,比如说电信1区,下面拆分出广东电信1区,2区……
或者说华南1区,拆分成广东1区,广西1区等等。
然后一个分区就是一台服务器或者多台服务器,其中一台服务器挂了不会影响到其他区的游戏。
但是在未来有了更大规模性能更强的服务器的情况下,则是反过来的,可能一台服务器就承载了好几个不同的大区,服务器挂了就可能导致一片大区都崩了。
阿里的云服务器一挂,受到影响的企业就超过好几百家。
除了本身需要用来支撑游戏的服务器之外。
还需要一些备用服务器是用来在某些特殊情况下,比如说由于人数太多挤爆了,或者出现bug导致服务器宕机时进行使用的。
数据之间要做好备份和交换。
其实并不是一件轻松的事情。
……
在青智源的解释下,赤西健的疑惑也逐渐被解开。
可恶!
社长这个家伙,怎么又把解决方案给想好了?!
而且……
不知道为什么,赤西健总觉得社长其实一早就想好了要做宝可梦online来着,不然这个过渡也太丝滑了。
从边境的小规模网络对战,然后到后来可以支持几十万人进行游玩的《雀魂》,但是雀魂是以开房间的形式,也会有那么多的玩家们在游戏当中走来走去,再到现在——
变成了玩家们可以在游戏当中走来走去,而且人数规模还不小,大家并不是分成4人小分队进入房间的,又在雀魂的基础上往前前进了一大步。
这一环接一环,彼此都在前一个的基础上更进一步,总让赤西健有一种被青智源给深深算计了的错觉。
不过,稍微让他感到欣慰的是宝可梦online的对战是回合制的,要是以后来个即时制的大型MMORPG的话,他真的不知道要怎么办才好。
啊……
好可怕。
这是人类能做出来的游戏吗?
在座的各位脑袋都要爆炸了,大家的思维模式其实还停留在之前服务好1个人,或者服务好3到4个人,最多也就是8个人的样子。
现在青智源一下子要求他们要服务好几十万人,光是想想就觉得要死……
“你们也不用想得太复杂了,”青智源笑着说,“人的个体还是以单个数量为单位的,我们虽然做的游戏要服务几十万上百万,甚至在未来会上千万过亿……”
什么?!
赤西健差点儿没厥过去,社长你在说些什么胡话?
20万人同时在线就足够可怕的了,你居然还想着上亿?!
“但是呢,这些都是以个体来进行游戏的,说白了,我们还是要服务好个人。
你如果考虑不好那么多人之间的交互,其实很简单,我们只需要考虑单人的游戏体验就行了。
单人之后,再往上一层,做到队伍为单位,剩下的事情就可以交给玩家们。”
青智源见大家依然有些发懵,于是拍了拍手掌。
众人从沉思当中抽离出来,用茫然的目光看着他。
“想那么多只会让自己绕晕。
想想虫师、想想我们之前做的宝可梦对战。
其实我们要做的事情很简单——
扮演好造物主的角色,将世界打造出来,并且赋予最底层的一些规则,之后将玩家们放进去,让他们自己来摸索。
一个足够优秀和完整的世界,玩家们是一定会在其中找到乐趣的。
明白了吗?”
如果是这样的话……
三上真司摸着下巴,仔细回想着青智源的话。
确实并不用去考虑多数玩家的交互行为,而且人脑根本就计算不过来。
只需要按照社长说的,模拟好单人在游戏当中的行为,并且规划出一些基本准则其实就已经足够了。
优秀的设计师应该是设计的是世界,而不是设计玩家。
想通了这一层之后,三上真司立刻豁然开朗起来。
……
“但是,玩家的行为不可控,会带来很多麻烦的。”赤西健举起右手来,问到,“我们没法保证玩家们同时分散在不同的地图关卡当中。”
“如果玩家们,假设有好几千个玩家同时跑到一个地图页面,变成了那么多人在一个屏幕当中出现的话,可能会导致客户端崩溃,也有可能导致服务器瞬时崩溃的。”
这种情况,其实有点儿像公司开设了从1到100个不同的邮箱,每个邮箱都有专人来处理玩家们的投诉信件。
一开始玩家们分散的话其实问题不大,可能每个邮箱每天能处理100封邮件,服务1万个玩家。
可是,突然有一天,这1万个玩家就像是发疯了一样,变得特别有默契,同时投入了1号邮箱当中。
因为突然多了9900封邮件,1号邮箱瞬间就被塞满了,根本处理不过来。
这就是赤西健所描述的状况。
服务器的CPU现在是个单核,而且本身内存也是有限的,平时通过分成多线程,或者是轮转片机制,提供了多个不同的平台来处理多个游戏场景信息,可是其中一个平台信息突然爆炸,那么服务器的线程就卡住了。
甚至还有可能给cpu给干烧了也说不一定。
“分线路。这是第一。”青智源说,“你们知道平行世界吧?”
“看起来他们像是在同一个场景,并且处于同一个分区当中,哪怕是重合在同一个位置,但是彼此都是不可见的状态,就像是处于两个平行世界一样。”
青智源在白板上面画出两条平行线,其中一个小人站在上方的那条线,另外一个小人站在下方。
“然后呢,做同屏显示上限。”青智源继续说到,“你们可以测试一下,将游戏当中的最大限度玩家统计出来,”
“服务器也做上限,”青智源说,“超过上限的,就别让后续的玩家加入进来了,而且一旦发现超载的情况,就自动踢人,把人踢下线,保证服务器顺利运转就行。
然后给被踢下线的玩家一个合理的弹窗解释,给没能加入到游戏当中的玩家一个排队倒计时提示,这应该就没有太大的问题。”
“那玩家们想要组队进行游戏的话怎么办呢?”赤西健继续问到,“他们就不在一个屏幕当中了。”
青智源皱着眉头想了想,“其实这个问题要处理也很容易。
只要有好友上线你就能够对他进行组队邀请。
组队成功之后,服务器这边在地图页面跳转的时候将他们拉到同一条线路就行了。
问题不大的,后面交给玩家们自己去选择。”
当然,还有一种更省事的方法,那就是程序这边不做任何的处理,交给玩家们自己去处理就好了。
当他们发现有同屏异步的这个规则之后,自然会想到要互相切换线路让几个人都在一起。
……
对于极端的情况,青智源也跟赤西健交代了该如何处理。
赤西健的担心青智源表示了解,之前没有做过大型网络游戏是这个样子的,不过做了雀魂之后有了一定的基础,交流起来会更为顺畅一些。
青智源要不是个穿越者的话,光是让他想这些规则,处理方式,估计也是一片茫然,不知道该如何下手才好,光是摸石头过河就要花费很长的时间。
不过呢,他现在可是带着现成的答案来的,所以基本上都是见招拆招,很多东西青智源一开始就已经设计好了。
大概讨论了有一整天的时间,从早上10点一直到晚上10点钟,大家差不多将宝可梦online的大概内容和问题都讨论清楚。
剩下的只是一些细枝末节的问题了。
“除了宝可梦online之外,再将边境做成做一个即时制的大型网络游戏吧,这就是未来这一两年的任务。”青智源轻描淡写地说到。
边境online一旦做出来,射击游戏这一块就算是圆满了。
但是做即时制的难度也不是一点半点,只能先当成一个课题来做。
先让程序他们去研究,等过几年再上也没有关系的。
什么?!
赤西健跟旁边的坂田泰治互相对视一眼,他想死的心都要有了。
我之前还说什么来着?
上一篇:海贼:唯有科技能凌驾一切
下一篇:返回列表