您的位置:首页 > 编程语言 > Go语言

Go游戏服务器开发的一些思考(三十三):无缝世界之局限性

2018-03-07 22:13 1156 查看

无缝世界与承载人数

上一章开篇介绍了无缝世界的4大功能点。

不难看出,无缝世界无法限制玩家行为。

极端情况下,所有玩家可以往一个Cell上移动。

那么一个Cell进程到达它最大承载人数后,必定不能正常工作。

因此无缝世界是存在瓶颈的。

有同学可能会说,市面上的产品会说,Cell进程人数多了,Cell可以分裂,让更多的Cell分担人数。

这里有几个问题:

如何实时分裂,而逻辑正常。是个正真的技术难题。

再多的分裂,也无法阻挡玩家继续往下一个小Cell上聚集(就是所谓的往一个点上集合问题

即不管实时分裂算法如何完美、Cell进程如何多、机器数如何多,

一个Cell进程的最大承载人数,只需要这么点人,一定可以让整个系统无法正常工作。

大量的玩家,本身就有很大概率在热点区域下线的,一时间大量的登录。马上就进入
一个点上集合问题


如果是腾讯代理的手游的话,是超大概率情况会发生
一个点上集合问题


因此最终的结论就是,无缝世界的瓶颈 = 一个Cell进程的最大承载人数

如果最多只有1个Cell进程的承载人数,为何不直接单Cell就是一整个世界呢?

无缝世界与游戏玩法

通过上面的分析不难看出,无缝世界是有局限性的。

服务器没有一个措施能100%保证系统的稳定性(逻辑BUG)。

因此只能从策划玩法上来保证其系统的稳定性。

即需要的无缝世界的玩法是没有热点的。

比如,多人在线沙盒类探索世界类型的游戏,可能除了无缝世界,还无法用其他方式实现。

这类游戏必须依赖无缝世界又没有热点。

我想这就是无缝世界的现阶段的现实意义吧。

传说及疑问

以上仅个人设想下的无缝世界的局限性。受限于本人见识。

据说《魔兽世界》就是用无缝世界做的。

问题是这个游戏MMORPG,是有很多热点的。

那么它是如何让无缝世界正常运作的呢。

《魔兽世界》使用无缝世界到底是为了解决什么问题?

此外,现在大厂一个游戏的在线人数规模之巨,若导到《魔兽世界》内,它的无缝世界是否还可以正常运作?

各种疑问接踵而来。

欢迎留言交流、指点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息