MMO位置同步及示例
概述
位置同步的问题涉及到三方面,客户端,服务器,与其他客户端。
玩家的手感是最优先满足的条件,所以玩家客户端的位置是基准,但是完全依赖玩家客户端的数据会有被作弊的危险,所以服务器一般每秒钟会依据玩家的状态推算一个客户端位置。
其他客户端看到的位置完全依赖于基准客户端的状态作出的推定,如果有延时或卡顿的情况会依据最新的状态广播重置状态。
移动的环境grid
客户端如何互相感知对方的存在?服务器地图被划分为规格相同的网格,每个客户端和npc都被分配到不同的格子内如下图所示。
3D或2D游戏都可以按这个办法划分,所不同的是3D游戏的高度z会比网格x或y大很多,这样在同样xy面积下3D游戏要有更大的空间。
服务器同步格子数据
在MMO游