如果是多玩家游戏,必定涉及到游戏数据同步。
与游戏数据同步相关的游戏服务主要是房间服务。
如果游戏有自己的逻辑,最终还是需要自己实现游戏同步。
例如贪吃蛇大作战,每个人在客户端提交的只是动作,游戏状态最终还是服务端计算渲染的。
例如麻将游戏,每个人把自己的操作上传到服务端,服务端维护各个玩家的状态。
游戏同步可以有三种实现方式:
- 状态同步:人数较多的情况
- 帧同步:比较适合格斗类游戏,传输的数据量小
- 快照:用户上传操作,
但是从可行性上考虑,只有状态同步才是正解。
游戏中的网络通信通常使用UDP。