帧锁定同步算法

帧锁定同步算法常用于RTS游戏和模拟器对战平台,要求RTT小于100ms,确保所有客户端逻辑统一。客户端定时上传控制信息,服务器广播更新并收集数据。若客户端未收到关键帧更新,则等待;收到则使用数据并继续。服务器根据最大RTT计算关键帧适应网络条件。此算法在网络速度提高后,使得开发网游如同单机游戏。帧间无等待改进解决了网速差异导致的同步问题,客户端按接收到的update消息播放,保持同步。
摘要由CSDN通过智能技术生成

帧锁定同步算法

 

网络游戏同步算法,大量应用于RTS游戏,Xbox360 Arcade游戏,模拟器对战平台。

http://www.skywind.me/blog/archives/131


算法概念


该算法普遍要求网速RTT要在100ms以内,一般人数不超过8人,在这样的情况下,可以像单机游戏一样编写网络游戏。所有客户端任意时刻逻辑都是统一的,缺点是一个人卡机,所有人等待。

1.客户端定时(比如每五帧)上传控制信息。
2.服务器收到所有控制信息后广播给所有客户。
3.客户端用服务器发来的更新消息中的控制信息进行游戏。
4.如果客户端进行到下一个关键帧(5帧后)时没有收到服务器的更新消息则等待。
5.如果客户端进行到下一个关键帧时已经接收到了服务器的更新消息,则将上面的数据用于游戏,并采集当前鼠标键盘输入发送给服务器,同时继续进行下去。
6.服务端采集到所有数据后再次发送下一个关键帧更新消息。

这个等待关键帧更新数据的过程称为“帧锁定”
应用案例:大部分RTS游戏,街霸II(xbox360),Callus模拟器。

算法流程

客户端逻辑:
1.    

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值