网络游戏同步技术六:若干问题探讨

news2024/12/27 1:11:39

本文探讨网络同步的几个问题。


王者荣耀使用帧同步明智吗?

这个很难评,成王败寇,它成功了,它就是明智的。但是帧同步带来的心智负担还是很重的,他们的分享里面也提到他们花了很大的功夫去解决不一致问题。

个人更喜欢守望先锋的做法,虽然可能开发量更大,但至少没有埋下不一致这种大深坑。


服务端预测

在 FPS 游戏中,会采用服务端预测的技术,服务端在没有收到输入的情况下,依据客户端当前的状态作出预测。那么问题来了,与客户端预测相比,它有何不同?

客户端预测是当状态冲突时,以服务端为权威。那服务端预测,也是一样的原则,要以服务端为权威,所以即使服务端预测的是错的,客户端也要以服务端为权威,修正客户端的状态。

比如 《无畏契约》的这个分享里介绍的 [1]:

What do we do when the server and client get out of sync?

When one client disagrees, our top priority is to minimize the impact to the other nine players. The server commits its prediction as truth, and that client is told to adjust their simulation state back to match the server. This usually means instantly adjusting the positions or state of mispredicted characters back to where they should be. These corrections are rare, small in magnitude, and only seen by the player who encountered the underlying network issues & misprediction. The other nine players continue to see smooth movement.


这种做法结果就是牺牲网络卡的那个玩家,让其他网络正常玩家的体验保持丝滑,而网络卡的玩家体验到拉扯感。不过上文也说了,这种情况并不多见。


fps 中 Peeker’s advantage

资料主要参考自天美工作室的分享[2],以及拳头游戏的这个文章[1]。

玩家在转角处来回晃悠可以获得先手优势,这种优势是由于网络延迟造成的。静止不动的玩家,它在世界上的位置是相对不变的,而移动的玩家要被静止的玩家看到,至少要经历 RTT + 服务器缓存延迟 + 客户端缓存延迟,所以留给静止玩家的反应时间就要少得多。下面这张图很好的说明了问题。

valorant peeker's advantage

图1:valorant peeker's advantage[1]

参考

[1] RiotGames. PEEKING INTO VALORANT’S NETCODE. Available at https://technology.riotgames.com/news/peeking-valorants-netcode, 2020-7-28.

[2] 腾讯天美工作室群. FPS游戏中,在玩家的延时都不一样的情况下是如何做到游戏的同步性的. Available at https://www.zhihu.com/question/29076648/answer/1946885829, 2021-6-18.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679159.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Sketch总结

sketch禁用了lineGap https://www.sketch.com/docs/designing/text/ http://www.sketchcn.com/sketch-chinese-user-manual.html https://github.com/sketch-hq/sketch-document https://developer.sketch.com/file-format/ https://animaapp.github.io/sketch-web-viewer/ htt…

定时发圈操作介绍

1、登陆已有的账号,点击到"朋友圈"功能 2、选择要发圈的微信号,编辑发圈的文案内容 3、自定义想要的时间点 4、点击"立即发送" 5、可进行跟圈

校园防欺凌平台

校园霸凌事件很难被发现,发现者又可能迫于威胁而不敢告发,被霸凌者又因各种原因而选择忍耐,所以,如果能够在发生校园霸凌的时候,做出及时的预警,也许能够拯救挽回无数个家庭。本平台结合防欺凌设备&#xf…

Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算 flyfish 矩阵的维度 下面矩阵的维度是32即 3行,2列 6,10等都是矩阵里的元素 如果矩阵A的列数与矩阵B的行数相同,那么这两个矩阵可以相乘。即,若A是一个mn矩阵,B是一个np矩阵&am…

python文件操作常用方法(读写txt、xlsx、CSV、和json文件)

引言 用代码做分析的时候经常需要保存中间成果,保存文件格式各不相同,在这里好好总结一下关于python文件操作的方法和注意事项 Python 提供了丰富的文件操作功能,允许我们创建、读取、更新和删除文件。允许程序与外部世界进行交互。 文章目录…

用c++实现快速排序、最大子段和问题

6.2.2 快速排序 【问题】快速排序(quick sort)的分治策略如下(图6-5)。 (1)划分:(选定一个记录作为轴值,以轴值为基准将整个序列划分为两个子序列,轴值的位置在划分的过程中确定,并且左侧子序列的所有记录…

mysql主从热备+keepalived 部署mysql高可用主备模式

目录 1、环境准备 2、分别在主服务器和备用服务器上安装keepalived 3、修改keepalived服务的配置文件 3.1 修改主服务器上的keepalive服务的配置文件 3.2 修改备用服务器上的keepalive服务配置文件 4、编写mysql监控脚本放到主服务器上 5、在主服务器和备用服务器上查看…

工厂自动化升级改造(3)-Modbus与MQTT的转换

什么是MQTT,Modbus,见下面文章 工厂自动化升级改造参考(01)--设备通信协议详解及选型-CSDN博客文章浏览阅读608次,点赞9次,收藏6次。>>特点:基于标准的以太网技术,使用TCP/IP协议栈,支持高速数据传输和局域网内的设备通信。>>>特点:跨平台的通信协议,…

【Java基础】集合(2) —— List

List 存储的对象是有序的&#xff08;集合中存储对象的顺序和使用add方法添加对象的顺序一致&#xff09;&#xff0c;存储的对象是可重复的。 List的特有的功能: 都是可以操作索引的功能。 增: void add(int index, E element )boolean addAll(int index, Collection<? …

全面提升数据采集效率:IP代理产品的应用与评估详解

全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解 文章目录 全面提升数据采集效率&#xff1a;IP代理产品的应用与评估详解背景应用场景&#xff1a;平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

MFC通过继承现有控件自定义控件

在MFC 自定义控件&#xff0c;可以通过继承MFC提供的控件类&#xff08;如CButton、CEdit、CListBox等&#xff09;并重写其成员函数和消息处理函数来实现。 以下是一个基本的步骤指南&#xff0c;用于在MFC中创建自定义控件&#xff1a; 确定要继承的基类&#xff1a; 首先…

AutoNeRF:Training Implicit Scene Representations with Autonomous Agents

论文概述 《AutoNeRF》是由Pierre Marza等人撰写的一篇研究论文&#xff0c;旨在通过自主智能体收集数据来训练隐式场景表示&#xff08;如神经辐射场&#xff0c;NeRF&#xff09;。传统的NeRF训练通常需要人为的数据收集&#xff0c;而AutoNeRF则提出了一种使用自主智能体高效…

大模型来了,创业者怎么做出好产品?

大模型的问世惊艳了人们的目光&#xff0c;打开了对AI想象力——生成未来&#xff0c;是谁的未来&#xff1f; “电的发明并不是只能让爱迪生的公司成为全球最大公司&#xff0c;而是为众多电器制造商也提供了巨大的商机。从人类科技史的角度来看&#xff0c;应用层面的价值往…

C++列表实现

文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel&#xff1a;一个抽象的类&#xff0c;为数据项模型提供抽象的接口&#xff0c;常见的的数据模型列如&#xff1a;QStringListModel,QStandardItemMode,QDirModel…

第一个fyne应用

第一个fyne应用 由于在写一个milvus的图形化工具&#xff0c;方便客户端使用&#xff0c;调研了一下只有这fyne的go-gui的star最多&#xff0c;比较流行&#xff0c;因此打算使用这个框架来进行milvus的工具开发。 第一个fyne应用 依赖go.mod: module fynedemogo 1.20requi…

BGP学习三:BGP路由优选12条规则,闪亮登场啦啦啦啦啦

目录 一.BGP策略工具 &#xff08;1&#xff09;Router-policy作用 &#xff08;2&#xff09;组成部分 &#xff08;3&#xff09;router-policy注意事项 二.优选规则 ①丢弃下一跳不可达 (1)优选prefered-value值大的路由 1.首选优先级 (2)优选local-preference(本地…

绿色消费新趋势:共享购模式的积分革命

在当今绿色消费风潮中&#xff0c;一种名为共享购的新模式正悄然兴起&#xff0c;它通过创新的绿色积分机制&#xff0c;不仅鼓励了消费者的绿色消费行为&#xff0c;还为消费者和商家带来了更多的实惠与额外收益。 传统积分机制的局限 在传统的消费积分模式中&#xff0c;消费…

VMware Workstation 安装CentOS Linux操作系统

1.我们已经下载好VMware 创建新的虚拟机 2.选择典型 3.安装程序光盘映像文件 4.配置用户名密码 5.命名虚拟机&#xff0c;并确定位置 6.如图所示设置 7.等待&#xff08;时间会有点久&#xff09; 8.输入密码登入账号

高德、百度开车导航APP是怎么知道红绿灯倒计时的?

高德、百度开车导航APP之所以能够知道红绿灯的倒计时&#xff0c;这背后是一系列复杂的科技手段和数据分析的综合运用。从交管部门提供的数据&#xff0c;到导航软件自身通过大数据和算法进行的计算&#xff0c;每一个环节都为红绿灯倒计时的准确呈现提供了支撑。 首先&#xf…

XMind 头脑风暴/思维导图软件_V24.04.10291 PC高级版

一款风靡全球的头脑风暴和思维导图软件&#xff0c;为激发灵感和创意而生。在国内使用广泛&#xff0c;拥有强大的功能&#xff0c;包括思维管理&#xff0c;商务演示&#xff0c;与办公软件协同工作等功能。XMind中文版采用全球先进的Eclipse RCP软件架构&#xff0c;是集思维…