位置同步之移动预测

传统的状态同步流程

最近在整理前项目的代码,顺带把我们之前状态同步的一些技巧记录一下,本文是关于移动预测的。

下图是单人环境下 小甜甜 风骚的疾跑:

现在考虑一下把这个疾跑同步给其他玩家。

按照mmo传统的 状态同步客户端先行 的做法,我们的主角在 移动状态 开始时向服务器发送 移动包,服务器收到包后进入 移动状态 并立刻广播给第三方,第三方客户端中我们的主角也进入 移动状态

在移动的过程中,如果我们改变了摇杆方向,那么就把这个改变继续同步到服务器,服务器继续广播给第三方。

最后,我们松开摇杆,我们的主角切换到 站立状态,同样的,我们向服务器发送 站立包,服务器进入站立状态并广播给第三方,第三方客户端中我们的主角也进入 站立状态

理想的时序图如下:

第三方的动画抖动

上面的流程看上去没问题:客户端和服务器严格同步状态,并且按照相同的算法各自更新状态机,从而完成

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值