前提假设
本文称共同构建完整世界的服务为Cell
即多个Cell服务共同组成一个世界场景
本文假设你已经实现了一个
分布式对象系统。本文称为
实体每个实体可以在多个Cell创建实例
世界场景构建
世界场景构建,简单的说就是每个Cell对应部分世界场景区域,这样拼凑成整个完整的世界场景。
接下来,将按依次介绍:
- 规则正方形组成的世界
- 不规则区域组成的世界
规则正方形组成的世界
场景构建
假设世界被正方形分割,一个Cell对应1个正方形区域。
那么我们来考察下上图编号为0的Cell,以及它上面的实体同步。
根据这图,先做些假设(能从配置中获取,或硬编码的数值):
- Cell0的左上角坐标为(x0, y0)
- Cell0的右下角坐标为(x1, y1)
- 玩家视野为V
根据上面的这些数值,可以把Cell划分为9个部分a-i。
并且可以轻松的编写函数GetArea(x, y)&#
最后
以上就是甜蜜豌豆最近收集整理的关于Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一)的全部内容,更多相关Go游戏服务器开发内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复