game 状态同步 帧同步
介绍过网游三种常见的网络架构:C/S架构,P2P架构,还有一种C/M架构,分别如下图所示。
网络游戏中通过同步机制来保证各个客户端游戏世界的一致性,主流的同步机制有两种:1 状态同步; 2帧同步。状态同步是指:由客户端负责将玩家的操作发往中心节点 (服务器或master客户端),由中心节点来负责游戏逻辑计算并将计算结果广播给客户端,再由客户端负责渲染游戏结果。而帧同步的理论基础是:游戏逻辑由操作指令驱动,只要操作序列一致,那么游戏结果就应该一致。
下表我们简要对比了两种同步机制的差异
游戏类型、网络条件是同步机制选择时的首要考虑因素,对于同步频次低,例如休闲回合制游戏,鉴于数据流量小同时对游戏逻辑安全性和以及防外挂能力有较高要求,一般大都采用状态同步的方式。但对于操作要求比较高的,例如运动、赛车类游戏里涉及大量的物理逻辑运算,以及MOBA类对流畅性有更高要求的游戏,帧同步是更好的选择。