游戏网络同步机制分为帧同步状态同步

帧同步是将客户端的操作通过服务端转发给所有客户端,其他玩家同步当前其他玩家的操作,具体执行逻辑写在客户端,再根据处理逻辑后的状态显示,以迁移一致性为主。具体游戏代表为FPS、PVP、PVE,例如绝地求生等。

状态同步是一种将客户端操作统一起来在服务端处理完后将结果同步给客户端的一种同步方式,具体执行逻辑写在服务端,以结果一致性为主。具体游戏代表为mob游戏,例如魔兽、英雄联盟等。

因为帧同步需要客户端实时同步其他客户端的操作,因此服务端即时下发客户端状态,因此需要实时性较高的网络通信,因此在网络层这块UDP协议优于TCP协议。

因为状态同步是通过服务端计算客户端产生的逻辑,因此状态同步对于服务端的要求比较高,客户端对服务端的结果进行展示即可。

帧同步不能使用浮点数or随机数,因为无法保证各个客户端产生的数值一致,对于客户端的表现会出现很大的差异。

游戏网络同步:帧同步和状态同步相关推荐

  1. unity响应服务器消息,[从零开始的Unity网络同步] 5.服务器将状态同步给客户端(状态缓存,状态插值,估算帧)...

    在上一篇文章中,已经可以在服务器上直接根据服务器自己的操作指令,模拟得出结果,修改球的位置了,接下来,将要考虑如何将服务器模拟的位置如何同步到客户端. 1.服务器向客户端发送单位实体(Entity)状 ...

  2. 【网络同步】浅析帧同步和状态同步

    前言 谈到网络游戏,不可避免要谈到现有两种比较常见的网游同步技术:帧同步和状态同步 说到这两个名词,大家夸夸奇谈,都能讲上些许自己的见解,我反正啥也不懂 这篇文章就打算着重学习一下这两种技术的基础和原 ...

  3. 游戏帧同步和状态同步

    在网络游戏中,服务器和客户端的同步技术是一个绕不开的话题,也是在技术选型时,首先需要确定的方案.网游中的同步技术主要有两个技术方向,帧同步和状态同步.本文简单讨论了帧同步和状态同步,整理并对比了他们的 ...

  4. 网络同步在游戏历史中的发展变化(四)—— 状态同步的发展历程与基本原理(下)...

    前言: 网络同步属于游戏开发中比较重要且复杂的一部分,但是由于网上的资料内容参差不齐,很多人直接拿别人的结论写文章,导致很多人对这一块的很多概念和理解都是错误的.本文参考了大量的相关论文和资料(花了半 ...

  5. 复盘王者荣耀手游开发全过程,Unity引擎使用帧同步放弃状态同步

    http://king.shandian.biz/88.html 如今已经大获市场成功的<王者荣耀>一直是业内各方关注的对象,而我们也知道这款产品在成为国民级游戏之前,也遇到过一段鲜有人知 ...

  6. 帧同步_帧同步和状态同步该怎么选(上)

    这是一篇拖延了2年多的文章-2017年10月份开始写的,直到这次过年才写完... 前言 随着王者荣耀的崛起,使用帧同步(Lockstep)的游戏也越来越多,关于帧同步和状态同步的讨论争论也有不少,那么 ...

  7. 服务器解决了什么问题、状态同步和帧同步

    文章目录 一.服务器架构 二.两种同步模式:状态同步和帧同步 1.同步 2.状态同步和帧同步的区别 三.流量 四.回放&观战 七.开发效率 八.使用帧同步的知名游戏 九.断线重连 十.注意点 ...

  8. 网络游戏数据同步的实现 一:状态同步、帧同步的基本原理概述

    什么是游戏的数据同步 数据同步是指使用某种方式让同在一局游戏中的多个客户端保持游戏进程同步. 什么游戏需要数据同步? 联机游戏(cs.饥荒.dead4ife2等) 网游(魔兽.天堂.传奇) 需要快照. ...

  9. 从游戏服务端角度分析移动同步(状态同步)

    从游戏服务端角度分析移动同步(状态同步) 参考文章: https://www.lfzxb.top/ow-gdc-gameplay-architecture-and-netcode/ https://z ...

  10. 帧同步与状态同步:方案比较

    状态同步:大型的MMOARPG ,比如魔兽世界 帧同步:网络条件好的局域网,比如魔兽争霸,优化过的MMRPG, 比如王者荣耀 相比之下状态同步适用型更广,特别适合复杂度高,延迟要求高,玩家多的游戏,例 ...

最新文章

  1. mpls ***简介
  2. 配置nginx支持php
  3. boost::mpl模块实现comparison相关的测试程序
  4. pixhawk自学笔记之px4程序启动顺序
  5. 网站自动提交至百度站长收录平台函数(适用任何框架代码)
  6. 什么是Zero-Copy?
  7. HTML5 高级系列:web Storage 学前端开发要先看这个
  8. Linux系统更新最新版R语言方法
  9. mysql-5.7.13-winx64如何安装_mysql 5.7.13 winx64安装配置方法图文教程
  10. base昆明,腾讯云在合作伙伴的阵营中@了TA
  11. mysql数据库(9):常用查询的例子
  12. How to write a custom control with NSControl ...
  13. php 自己封装一个调用第三方接口的函数
  14. POJ 2240 Arbitrage Bellman_ford 判读是否存在正环
  15. html flash rtmp,Web直播之RTMP协议:vue-video-player + videojs-flash
  16. 绿幕抠图与无绿幕抠图区别
  17. 连肌肉颤动都清晰可见!3D人体模型自动生成算法,一作来自北大图灵班 | SIGGRAPH...
  18. mysql代码创建表博客园_数据库——用代码创建表
  19. IOC注入框架——Unity中的BuildUp与LifetimeManagers
  20. hyperlink的学习

热门文章

  1. python的HTTP请求方式(socket)
  2. python excel数据处理 空格替换_Python/Excel/SPSS/SQL数据处理方法比较之5 - 空格清理...
  3. .net core vue可视化工作流引擎低代码快速开发框架RoadFlow - 设计概述
  4. MySQL1054错误
  5. 深圳大学《计算机论题》作业:大数据与人工智能技术对人类生活的影响
  6. 【随笔】关于 “关注博主即可阅读全文”
  7. Qt自定义控件之圆形按钮、圆形头像
  8. PLSQL 动态SQL
  9. Excel只选中有数字的行或列并删除的方法(详细)
  10. 排序模型进阶-FMFTRL