欢迎光临散文网 会员登陆 & 注册

状态同步核心原理剖析

2022-10-17 17:19 作者:游戏开发RAIN  | 我要投稿

状态同步是做网络游戏必然要掌握的一种服务端/客户端同步技术。什么是状态同步,具体到游戏中是如何实现的,带着这些问题本文将会从以下3个方面給大家详细的剖析状态同步。

1: 什么样的游戏可以用状态同步来实现;

2: 服务器上如何跑游戏逻辑?

3: 服务器与客户端如何同步?

当创建一个玩家登录到逻辑服的时候,服务器中的3D世界就会创建一个这样的数据对象。接下来就要尝试让这个对象在游戏世界中跑动交互起来,服务端的地图如何做呢?其实地图数据可以导出为地形高度图(x, y, z)+道路连通数据(哪些是可以行走,哪些不可以行走)。这个对团队的技术积累是有一点要求的。根据游戏不同的类型来做地图编辑器,来采用最合适的技术。同时客户端+服务端都要使用这套,客户端有地图编辑器工具编辑地图的地形+烘焙地图连通数据,能将这些数据按照对应的格式导出給服务端用,服务端使用这些数据利用上面的Update来进行迭代计算(和客户端开发的Update迭代是一样的)。

地图技术+寻路导航解决以后,其它的推动游戏计算的也移植到到服务端,比如物理引擎,我们可以在服务器上部署一个物理引擎,然后从服务端的update来做物理引擎模拟迭代,再把物理刚体位置旋转等同步給服务端上的玩家数据对象,这样让服务器上也可以跑物理引擎。具体可以参考我们的《内置定点数物理引擎系列》的文章。

今天的状态同步就分享到这里

状态同步核心原理剖析的评论 (共 条)

分享到微博请遵守国家法律