433.什么?!20万人在线的游戏?!
家的思维模式其实还停留在之前服务好1个人,或者服务好3到4个人,最多也就是8个人的样子。
现在青智源一下子要求他们要服务好几十万人,光是想想就觉得要死……
“你们也不用想得太复杂了,”青智源笑着说,“人的个体还是以单个数量为单位的,我们虽然做的游戏要服务几十万上百万,甚至在未来会上千万过亿……”
什么?!
赤西健差点儿没厥过去,社长你在说些什么胡话?
20万人同时在线就足够可怕的了,你居然还想着上亿?!
“但是呢,这些都是以个体来进行游戏的,说白了,我们还是要服务好个人。
你如果考虑不好那么多人之间的交互,其实很简单,我们只需要考虑单人的游戏体验就行了。
单人之后,再往上一层,做到队伍为单位,剩下的事情就可以交给玩家们。”
青智源见大家依然有些发懵,于是拍了拍手掌。
众人从沉思当中抽离出来,用茫然的目光看着他。
“想那么多只会让自己绕晕。
想想虫师、想想我们之前做的宝可梦对战。
其实我们要做的事情很简单——
扮演好造物主的角色,将世界打造出来,并且赋予最底层的一些规则,之后将玩家们放进去,让他们自己来摸索。
一个足够优秀和完整的世界,玩家们是一定会在其中找到乐趣的。
明白了吗?”
如果是这样的话……
三上真司摸着下巴,仔细回想着青智源的话。
确实并不用去考虑多数玩家的交互行为,而且人脑根本就计算不过来。
只需要按照社长说的,模拟好单人在游戏当中的行为,并且规划出一些基本准则其实就已经足够了。
优秀的设计师应该是设计的是世界,而不是设计玩家。
想通了这一层之后,三上真司立刻豁然开朗起来。
……
“但是,玩家的行为不可控,会带来很多麻烦的。”赤西健举起右手来,问到,“我们没法保证玩家们同时分散在不同的地图关卡当中。”
“如果玩家们,假设有好几千个玩家同时跑到一个地图页面,变成了那么多人在一个屏幕当中出现的话,可能会导致客户端崩溃,也有可能导致服务器瞬时崩溃的。”
这种情况,其实有点儿像公司开设了从1到100个不同的邮箱,每个邮箱都有专人来处理玩家们的投诉信件。
一开始玩家们分散的话其实问题不大,可能每个邮箱每天能处理100封邮件,服务1万个玩家。
可是,突然有一天,这1万个玩家就像是发疯了一样,变得特别有默契,同时投入了1号邮箱当中。
因为突然多了9900封邮件,1号邮箱瞬间就被塞满了,根本处理不过来。
这就是赤西健所描述的状况。
服务器的cpu现在是个单核,而且本身内存也是有限的,平时通过分成多线程,或者是轮转片机制,提供了多个不同的平台来处理多个游戏场景信息,可是其中一个平台信息突然爆炸,那么服务器的线程就卡住了。
甚至还有可能给cpu给干烧了也说不一定。
“分线路。这是第一。”青智源说,“你们知道平行世界吧?”
“看起来他们像是在同一个场景,并且处于同一个分区当中,哪怕是重合在同一个位置,但是彼此都是不可见的状态,就像是处于两个平行世界一样。”
青智源在白板上面画出两条平行线,其中一个小人站在上方的那条线,另外一个小人站在下方。
“然后呢,做同屏显示上限。”青智源继续说到,“你们可以测试一下,将游戏当中的最大限度玩家统计出来,”
“服务器也做上限,”青智源说,“超过上限的,就别让后续的玩家加入进来了,而且一旦发现超载的情况,就自动踢人,把人踢下线,保证服务器顺利运转就行。
然后给被踢下线的玩家一个合理的弹窗解释,给没能加入到游戏当中的玩家一个排队倒计时提示,这应该就没有太大的问题。”
“那玩家们想要组队进行游戏的话怎么办呢?”赤西健继续问到,“他们就不在一个屏幕当中了。”
青智源皱着眉头想了想,“其实这个问题要处理也很容易。
只要有好友上线你就能够对他进行组队邀请。
组队成功之后,服务器这边在地图页面跳转的时候将他们拉到同一条线路就行了。
问题不大的,后面交给玩家们自己去选择。”
当然,还有一种更省事的方法,那就是程序这边不做任何的处理,交给玩家们自己去处理就好了。
当他们发现有同屏异步的这个规则之后,自然会想到要互相