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