Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

您现在的位置是:网站首页 -> 前端开发 文章内容

手游帧同步的要点总结-itarticl.cc-IT技术类文章记录&分享

发布时间: 5年前前端开发 106人已围观返回

与状态同步比较

状态同步:状态变化时同步

帧同步:每帧都同步,同步的是帧号和玩家输入;各前端对于同样的输入序列肯定演化成同样的结果

优点

对于前端来说开发效率较高,如同单机游戏,能实现更好的表现效果

流量消耗是稳定的,方便实现录像回放

缺点

网络要求较高

反外挂能力弱

断线重连所需时间长

实现过程

客户端和服务端有完全一样的演算逻辑(排除一切随机因素)

服务端以固定帧频,每帧演算(这里也可以不演算),并将帧号和用户输入同步到客户端

客户端接到服务器数据后,以同样逻辑步进一帧

战斗结束后,以服务端的演算结果为准(也可以不立即验证,而是找服务器空闲时候秋后算账)

实现要点

解决卡顿

使用buffer(可根据延时调整大小)

本地插值平滑

表现与逻辑分离

解决延迟:使用UDP,需要解决丢包问题

一次携带多帧数据,降低丢包率

丢包后客户端重新请求

注意浮点数和随机函数带来的不确定性问题

要有合理的监控机制

对外挂和作弊的监控

对不同步case的监控,有助于发现和修复bug


发布时间: 5年前前端开发106人已围观返回回到顶端

很赞哦! (1)

文章评论

  • 请先说点什么
    热门评论
    105人参与,0条评论

站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流