我是靠谱客的博主 甜蜜豌豆,最近开发中收集的这篇文章主要介绍Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前提假设

  • 本文称共同构建完整世界的服务为Cell

    即多个Cell服务共同组成一个世界场景

  • 本文假设你已经实现了一个分布式对象系统。

    本文称为实体

  • 每个实体可以在多个Cell创建实例

世界场景构建

世界场景构建,简单的说就是每个Cell对应部分世界场景区域,这样拼凑成整个完整的世界场景。

接下来,将按依次介绍:

  • 规则正方形组成的世界
  • 不规则区域组成的世界

规则正方形组成的世界

场景构建

图1

假设世界被正方形分割,一个Cell对应1个正方形区域。

那么我们来考察下上图编号为0的Cell,以及它上面的实体同步。

根据这图,先做些假设(能从配置中获取,或硬编码的数值):

  • Cell0的左上角坐标为(x0, y0)
  • Cell0的右下角坐标为(x1, y1)
  • 玩家视野为V

根据上面的这些数值,可以把Cell划分为9个部分a-i。

并且可以轻松的编写函数GetArea(x, y)&#

最后

以上就是甜蜜豌豆为你收集整理的Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一)的全部内容,希望文章能够帮你解决Go游戏服务器开发的一些思考(三十四):无缝世界场景构建与同步(一)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部