只要保证模型的确定性,再怎么复杂的物理效果都是一样的做法
我觉得不可能同步吧,网络延时必然造成多客户端执行物理步长数不一致,只要累计一段时间就差别很大了
所以 用了帧同步?
看标题
帧同步只是说固定时长内客户端接收请求数量一致,但客户端指令所执行的物理步长不会一致
你还没正确理解帧同步的原理,物理引擎的step也是由服务器控制的
不可能同步, 浮点数问题不解决必然出问题.
反正如果不出现断线重连的情况下 我AI自动运行一个小时都不会出现不同步的情况
你懂不懂浮点数原理? 我拜托!!!
你在相同电脑中测试, 当然同步了. 我拜托.
你要考虑不同的CPU,…
大佬,我也拜托你先玩下游戏再评论…如果不做到真正同步我敢上线?
那请问怎么实现的物理步长同步的,比如服务器同步客户端物理步长数100,客户端执行完100停顿?
两个问题,1、物理引擎如何指定模拟步长数量。2、这样物理模拟是否经常容易卡顿
第一个读下引擎源码很快就知道,mainLoop里面把PhysicsManager抽离出来单独update
第二个比较麻烦,主要就是靠剥离逻辑和表现…逻辑层再怎么卡表现层也要看上去平顺
理解,赞一个!表现层肯定用了缓存数据来做一些卡顿的缓冲,希望能够开放学习核心的逻辑demo大家学习:)
另外小游戏tcp协议的网络卡顿对物理帧同步的表现还是影响很大,我一直觉得物理同步游戏在小游戏上的体验是不能达标的,不知道你游戏这方面反馈如何
大佬,服务器发回的帧数据是直接step,还是放到队列里面由客户端定时step?
我跟朋友玩了下,出现了不同步,他都赢了,我才1:0
挺好玩的,就是这个方向有点反人类
大佬,能请问下你帧同步是怎么做的吗?游戏里边是用网络帧驱动还是客户端帧驱动的?
安卓和iOS 好友对战时候 不同步了;不过大佬UI做的不错啊
box2d是个确定性的物理引擎吗?你在不同系统测过了的吗?
没有特殊标注的引擎不可能是确定性引擎的,除非像Xbox、PS、Switch这种单平台的游戏