帧同步游戏开发小结

本文总结了帧同步在游戏开发中的实践经验,包括帧同步的特点、同步性保证、逻辑画面分离、乐观锁策略、断线处理、弱网络优化、追赶补帧、战斗录像、回滚机制和防作弊措施。强调帧同步在弱联网环境下的优势及在实时战斗游戏中的适用性。
摘要由CSDN通过智能技术生成

本文发表于程序员刘宇的个人博客,转载请注明来源,博客园同步更新:https://www.cnblogs.com/xiaohutu/p/12402399.html

这几年做了一些网络同步项目,总结一下帧同步的一些东西。

1. 帧同步基本特点

  1. 所有的逻辑行为运算都在客户端进行,客户端保证彼此之间执行结果的一致性。
  2. 客户端将自己的所有操作发给服务器,服务器转发。
  3. 服务器维持一定的逻辑帧率向客户端发包,每次都带上一间隔的所有客户端发来的操作,如果没有就发空帧,附带上客户端需要执行此包的帧数。
  4. 客户端收到帧数据执行这一逻辑帧的行为,否则等待。

2. 同步性的保证

  • 确保需要同步部分逻辑执行次序的一致性,特别关注各种容器的底层结构以及运行过程中对容器的增删改。
  • 确保AI、物理引擎等执行结果的一致性,避免因为使用部分游戏引擎的更新特性,导致一些AI计算的时间次序问题。
  • 确保数学运算在不同cpu上的的一致性,使用定点数或者浮点数截取等方法计算逻辑。
  • 确保随机结果基于次数的一致性,使用次数一致性的随机算法,如梅森旋转算法。
  • 确保客户端数据来源的一致性,存储的静态数据以及读取过程需要特别关注。

3. 逻辑画面分离

  • 抽离开图像执行逻辑和关键帧执行逻辑的循环结构。
  • 逻辑部分可以无画面执行,正确的输出结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值