Date: 1/1/2020Category: 游戏开发Tag: 状态同步, 帧同步
帧同步/锁步同步 (Lockstep Synchronization)
什么是帧同步:帧同步常被RTS(即时战略)游戏常采用。在游戏中同步的是玩家的操作指令,操作指令包含当前的帧索引。一般的流程是客户端上传操作到服务器, 服务器收到后并不计算游戏行为, 而是转发到所有客户端。这里最重要的概念就是 相同的输入 + 相同的时机 = 相同的输出。
实现帧同步的流程一般是:
- 同步随机数种子。(一般游戏中都设计随机数的使用, 通过同步随机数种子,可以保持随机数一致性)
- 客户端上传操作指令。(指令包括游戏操作和当前帧索引)
- 服务器广播所有客户端的操作。(如果没有操作, 也要广播空指令来驱动游戏帧前进)。
