Go游戏服务器开发的一些思考(三十三):无缝世界之局限性
2018-03-07 22:13
1156 查看
无缝世界与承载人数
上一章开篇介绍了无缝世界的4大功能点。不难看出,无缝世界无法限制玩家行为。
极端情况下,所有玩家可以往一个Cell上移动。
那么一个Cell进程到达它最大承载人数后,必定不能正常工作。
因此无缝世界是存在瓶颈的。
有同学可能会说,市面上的产品会说,Cell进程人数多了,Cell可以分裂,让更多的Cell分担人数。
这里有几个问题:
如何实时分裂,而逻辑正常。是个正真的技术难题。
再多的分裂,也无法阻挡玩家继续往下一个小Cell上聚集(就是所谓的往一个点上集合问题)
即不管实时分裂算法如何完美、Cell进程如何多、机器数如何多,
一个Cell进程的最大承载人数,只需要这么点人,一定可以让整个系统无法正常工作。
大量的玩家,本身就有很大概率在热点区域下线的,一时间大量的登录。马上就进入
一个点上集合问题。
如果是腾讯代理的手游的话,是超大概率情况会发生
一个点上集合问题。
因此最终的结论就是,无缝世界的瓶颈 = 一个Cell进程的最大承载人数。
如果最多只有1个Cell进程的承载人数,为何不直接单Cell就是一整个世界呢?
无缝世界与游戏玩法
通过上面的分析不难看出,无缝世界是有局限性的。服务器没有一个措施能100%保证系统的稳定性(逻辑BUG)。
因此只能从策划玩法上来保证其系统的稳定性。
即需要的无缝世界的玩法是没有热点的。
比如,多人在线沙盒类探索世界类型的游戏,可能除了无缝世界,还无法用其他方式实现。
这类游戏必须依赖无缝世界又没有热点。
我想这就是无缝世界的现阶段的现实意义吧。
传说及疑问
以上仅个人设想下的无缝世界的局限性。受限于本人见识。据说《魔兽世界》就是用无缝世界做的。
问题是这个游戏MMORPG,是有很多热点的。
那么它是如何让无缝世界正常运作的呢。
《魔兽世界》使用无缝世界到底是为了解决什么问题?
此外,现在大厂一个游戏的在线人数规模之巨,若导到《魔兽世界》内,它的无缝世界是否还可以正常运作?
各种疑问接踵而来。
欢迎留言交流、指点。
相关文章推荐
- Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一)
- Go游戏服务器开发的一些思考(三十二):关于无缝世界的一些思考
- Go游戏服务器开发的一些思考(三十七):无缝世界场景构建与同步(四)
- Go游戏服务器开发的一些思考(三十五):无缝世界场景构建与同步(二)
- Go游戏服务器开发的一些思考(三十六):无缝世界场景构建与同步(三)
- Go游戏服务器开发的一些思考(十):goroutine和coroutine
- Go游戏服务器开发的一些思考(二十):Docker Swarm部署Etcd示例
- Go游戏服务器开发的一些思考(四):综合考察(下)
- Go游戏服务器开发的一些思考(二十九):登录流程(二)
- Go游戏服务器开发的一些思考(十):goroutine和coroutine
- Go游戏服务器开发的一些思考(十九):服务器架构之服务发现
- 关于 服务器开发的一些思考-16/01/31
- 对于getting real开发结合自己的工作的一些思考
- 关于开发的一些思考
- 关于MMORPG游戏开发中配置数据的一些思考
- 关于软件开发的一些常识和思考
- 对Web开发中前端框架与前端类库的一些思考
- 对操作系统开发相关的一些问题的思考
- 做开发,也要多一些UI设计上的思考
- Go游戏服务器开发的一些思考(三十):排行榜服务器设计思路