方块地形差异信息同步方法与流程

文档序号:16515963发布日期:2019-01-05 09:38阅读:215来源:国知局
方块地形差异信息同步方法与流程

本发明涉及游戏引擎开发技术领域,特别涉及网络游戏中方块地形信息的差异信息同步方法。



背景技术:

方块地形是指游戏中地形全部由不同的方块(土,沙子,岩石,矿物等)组成,这些方块可以被任意破坏、挖掘和替换。此类游戏中地形是由大量数据构成,以世界高度256米为例,场景中每平方米的数据信息最少需要256字节存储。一个边长为8千米的场景,地形信息量将达到至少16gb。如何将这些信息同步给客户端是一个很大的问题。

对此,方块游戏中一般会将世界分为不同的地块,每个地块称为一个chunk。每个chunk为边长16米,高度为256米的一个长方体范围。地形存储的最小单位为一个chunk。

每个chunk内存大小为64k。服务器上这些数据要同步发给客户端。目前通用做法是,当一个玩家移动到chunk附近时,由服务器将这些数据压缩发给客户端。

由于地形信息量过于巨大,这样做实际上不可行。针对上述情况,本发明提出了一个新的地形同步策略。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种方块地形差异信息同步方法,在网络游戏中,使用chunk版本和差异信息压缩来减少客户端同步信息量。本发明可以减少服务器维护成本,提高玩家体验,增加客户端流畅度。

为实现上述目的,本发明提供的方块地形差异信息同步方法,其特征在于,包括以下步骤:

1)标记diffrentspace区域;

2)扩展diffrentspace区域;

3)压缩diffrentspace区域的内容并发送至客户端;

4)客户端接收压缩的diffrentspace区域的内容并合并至chunk内存中。

进一步地,所述diffrentspace区域为chunk中的3d区域。

进一步地,所述diffrentspace区域具有一个锚点以及长宽高三个参数,其中所述锚点位于所述diffrentspace区域的最小坐标处。

进一步地,所述步骤2)进一步包括,当方块地形被修改时,对所述diffrentspace区域进行扩展,扩展时,将diffrentspace区域的长宽高扩展为包含修改的方块大小,其中将所述diffrentspace区域内未曾修改过的方块信息设置为一个固定值,记为sponge。

进一步地,所述步骤2)和步骤3)之间进一步包括,服务器和客户端验证chunk信息,当验证成功后,进行所述步骤3)。

进一步地,所述步骤4),进一步包括,客户端收到压缩的diffrentspace内容后,根据锚点和长宽高参数,将差异信息合并到客户端chunk内存中。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的方块地形差异信息同步方法的工作流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的方块地形差异信息同步方法的工作流程图,下面将参考图1,对本发明的方块地形差异信息同步方法进行详细描述。

客户端和服务器同时生成原始随机地形,一致性随机保证客户端和服务器产生的地形没有差异。但随着玩家在游戏内进行,服务器地形的修改渐渐增多,这时客户端上线后需要更新的数据量就会剧烈增加。

本发明采用一种最小差异信息更新的原则,来保证同步内容不会过于庞大。

首先,在步骤101,标记diffrentspace区域。

每个chunk都有一个3d区域,将其记为diffrentspace。该区域初始为空。该diffrentspace区域有一个锚点,还有长宽高三个参数。锚点位于区域最小坐标处。

在步骤102,扩展diffrentspace区域。

在该步骤中,每当玩家修改一块地形时,将diffrentspace区域的长宽高扩展为刚好包含修改的方块大小。并将该区域内未曾修改过的方块信息设置为一个固定值,称为sponge。

在步骤103,压缩diffrentspace区域的内容并发送至客户端。

在该步骤中,当服务器和客户端验证过chunk信息后,将diffrentspace内容压缩后发给客户端。

在步骤104,客户端接收压缩的diffrentspace区域的内容并合并至chunk内存中。

在该步骤中,客户端收到压缩的diffrentspace内容后,根据锚点和长宽高参数,将这些差异信息合并到客户端chunk内存中。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。



技术特征:

技术总结
一种方块地形差异信息同步方法,其特征在于,包括以下步骤:1)标记DiffrentSpace区域;2)扩展DiffrentSpace区域;3)压缩DiffrentSpace区域的内容并发送至客户端;4)客户端接收压缩的DiffrentSpace区域的内容并合并至Chunk内存中。本发明可以减少服务器维护成本,提高玩家体验,增加客户端流畅度。

技术研发人员:梁现凯
受保护的技术使用者:苏州蜗牛数字科技股份有限公司
技术研发日:2018.08.02
技术公布日:2019.01.04
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1