独立游戏吧 关注:56,703贴子:328,680
  • 20回复贴,共1

帧同步相关,请求大哥帮助一下

只看楼主收藏回复

有没有大哥懂的 就是我的服务器只做消息广播功能,逻辑在客户端跑,当一位玩家掉线重连后,服务器把之前的所有缺的帧全部发给该玩家,让玩家快速跑帧,请问这个快速跑帧是怎样个跑法,比如正常一个玩家在一个区域内每秒扣血1,待十秒,就是扣十滴血,那快速跑帧如何处理呢


IP属地:广东来自Android客户端1楼2024-02-26 12:47回复
    答案是处理不了也不需要处理,我玩的游戏除了lol跟王者荣耀这种推塔游戏可以掉线重连,其它游戏都是不支持的。


    IP属地:广西来自iPhone客户端2楼2024-02-26 12:53
    收起回复
      2025-07-23 08:39:37
      广告
      不感兴趣
      开通SVIP免广告
      1v1或者2v2的组队或者对战游戏,掉线了就直接判定输掉就行。所以一般控制在3到5分钟一局对战。


      IP属地:广西来自iPhone客户端3楼2024-02-26 12:56
      回复
        帧同步发送的是操作,而不是数据,所以只要客户端把所有帧的操作按照顺序演算一遍直到追上当前帧,如果逻辑没问题,那么数据就是一致的


        IP属地:浙江4楼2024-02-26 16:41
        收起回复
          楼上的基本说明白了,帧同步广播每个玩家的操作指令,剩下的客户端计算。还有你要明白的是这里的帧指的的逻辑帧而不是游戏画面的渲染帧。


          IP属地:北京来自Android客户端5楼2024-02-26 23:57
          收起回复
            看样子楼主还没完全弄清楚帧同步


            IP属地:江苏6楼2024-02-27 09:41
            收起回复
              个人去搞帧同步很不实际,跟动作游戏一样,需要长时间打磨。如果是纯帧同步,自己要总结归纳什么是关键帧,关键帧一般是自己在当时帧除操作外的自身状态。不用关键帧就要时间压缩迅速跑完所有帧,你说的状态倒计时类的跟时间挂钩的东西都要除1000,毫秒级别的去追。所以现在基本都是,帧同步加状态同步协同发展对局。更难的就是状态帧,状态帧属于以帧的形式来广播记录状态,服务器去算所有行为。总之就是要大量精力去打磨。


              IP属地:辽宁来自iPhone客户端9楼2024-12-18 23:31
              回复
                就是前端逻辑加速开始从零开始跑路逻辑,比如你上面说正常一个玩家在一个区域内每秒扣血1,待十秒,就是扣十滴血,前端逻辑变成0.1秒扣1血,1秒后就扣10滴血。这里经常出现的问题是客户端在追帧的时候,游戏还在跑,客户端追不上,然后就一直卡load。还有如果当前对局太久,导致追帧时间过长,还有一种做法就是在添加快照,让客户端从快照开始追。


                IP属地:广东10楼2024-12-20 11:01
                回复
                  2025-07-23 08:33:37
                  广告
                  不感兴趣
                  开通SVIP免广告
                  用帧同步那肯定也是用的udp协议了,用可靠udp有重传机制可能会维护对应的客户端连接,硬要做重连机制也可以自行设计。要是tcp的话(应该没人用帧同步+ tcp吧),断联后session缓存一定时间内的消息,客户端重连后全部发送就行了,消息一起发送后,客户端会短时间内跑完缓存消息,表现上就和快进差不多,mmo类型都是这样


                  IP属地:安徽来自Android客户端11楼2025-04-11 04:43
                  回复