目前国内互联网逐渐成熟 如何高效的处理游戏同步是个头疼的问题
如果你是土豪 自然怎么写都可以 成本问题..最节省最理想的方案就是广播数据的方式
通信流程
客户端所指当前对局的房间内玩家
1 客户端收集输入
2 所有客户端发送给服务器并广播信息(间隔20帧 可根据游戏类型和服务器成本调整)
3 客户端收到广播消息后 跳转到流程2
注意 游戏逻辑帧和渲染帧不是一个概念 用于通信的帧是所有客户端收发完成后才算一个帧回合
需要广播的内容(值发生改变或者触发以下事件)
瞬移输入...
移动输入...
技能输入...(包括普通攻击)
状态输入...(增加和删除)
死亡输入...
单位输入...(例如人物的金币 元宝 移动速度...等)
物品输入...(购买 使用 [丢弃 如果存在...])
需要同步效验内容
坐标(效验方式 按格子效验 差距超过1格的直接修正 避免影响技能坐标检测 )
方向(这个可随意同步或不同步 影响不是很大)
冷却(这个可随意同步或不同步 可能出现无限CD)
状态(这个最好效验 因为状态间接影响技能的数值)