我正在创建一个棋盘游戏,其中2个玩家可以玩,其他人可以是观众(观众) 所以,当观众加入时,他会获得游戏的当前状态,从那时起,他只获得每个玩家所做的移动(显然可以保存数据)。
我的问题是:当观众首次从服务器获取游戏状态时,如何确保它实际上已同步?我真的不知道何时他将获得状态,并且在某些事情发生变化之前它可能只是一小部分,然后是他为每一个动作获得的Delta制作没有意义。
我应该使用某种内部?你会建议什么来确保一切都同步?
答案 0 :(得分:1)
假设您的状态是用户操作的结果,您可以将状态存储在具有自动增量整数ID的格式表中。
在移动事件中,您传递新ID和以前的ID。如果接收者的最大ID小于先前的ID,您就会向服务器询问缺失的操作。