Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础

本文主要是介绍Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础

  • 1 challenge
    • 1 一致
    • 2 可靠性
    • 3 安全性
    • 4 多样性
    • 5 多样性
  • 2 基础
    • 1 Network Protocols
      • 1 OSI Model
      • 2 Socket
      • 3 TCP
      • 4 UDP
      • 5 game network protocols
      • 6 Reliable UDP
        • ARQ
        • FEC
        • Reed-Solomon codes
    • 2 Clock Synchroniation
      • 1 RTT
      • 2 NTP
      • 3 ntp+简单策略
    • 3 Remote Procedure call(RPC)
    • 3 P2P
    • 4 Network Topology
    • 5 Game Synchronization
      • 1 同步的方法
        • 1 帧同步
        • 2 锁同步
      • 2 确定性:
        • 1 浮点数
        • 2 随机数
      • 3
      • 3 状态同步
      • 4 总结
  • 3 视频

1 challenge

1 一致

在这里插入图片描述

2 可靠性

在这里插入图片描述

3 安全性

在这里插入图片描述

4 多样性

在这里插入图片描述

5 多样性

在这里插入图片描述

2 基础

在这里插入图片描述

1 Network Protocols

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1 OSI Model

在这里插入图片描述

2 Socket

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 TCP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 UDP

在这里插入图片描述
在这里插入图片描述

5 game network protocols

大部分是组合协议。
在这里插入图片描述

6 Reliable UDP

网络游戏:基于UDP的可靠网络连接。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ARQ

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
丢包少的时候5%,没有必要再传

在这里插入图片描述

FEC

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Reed-Solomon codes

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

定制自己的UDP。基于APQ和FEC.很多传输协议也需要自己写。
在这里插入图片描述

2 Clock Synchroniation

1 RTT

在这里插入图片描述

2 NTP

对时间,
在这里插入图片描述
在这里插入图片描述
NTP算法:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3 ntp+简单策略

在这里插入图片描述
在这里插入图片描述

3 Remote Procedure call(RPC)

程序员只需要重点关注逻辑,不需要关注那么多的网络方面的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3 P2P

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4 Network Topology

5 Game Synchronization

在这里插入图片描述

1 同步的方法

帧同步,锁同步,状态同步
在这里插入图片描述

1 帧同步

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
坏处:
客户端算力浪费了
带宽要求高

在这里插入图片描述

2 锁同步

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最慢的那个人会拖慢所有人的进程
在这里插入图片描述
bucket 同步是非常好的,网络不好了服务器不管你了。
在这里插入图片描述
在这里插入图片描述

2 确定性:

在这里插入图片描述

1 浮点数

所有的数学运算都要符合原理。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
定点数据:

在这里插入图片描述

2 随机数

要求严格同步,
在这里插入图片描述
同步随机数的种子,伪随机,
在这里插入图片描述

在这里插入图片描述

3

在这里插入图片描述

使用buffer来解决延时的问题,
在这里插入图片描述

渲染帧和逻辑帧:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Quick Catch UP
在这里插入图片描述
在这里插入图片描述

关照模式:
在这里插入图片描述
回放模式:
在这里插入图片描述
LockStep:

在这里插入图片描述
在这里插入图片描述
所有的状态客户端都有:
在这里插入图片描述

帧同步

在这里插入图片描述
在这里插入图片描述

3 状态同步

在这里插入图片描述
提交玩家部分的信息,server端会模拟整个。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
存在的问题入下:
在这里插入图片描述

在这里插入图片描述
server
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对网速不好的不利,别人会比你快一步做出反应。
在这里插入图片描述
丢包的问题:
在这里插入图片描述

4 总结

在这里插入图片描述

3 视频

https://www.bilibili.com/video/BV1HN4y157Zq/?spm_id_from=333.788&vd_source=5c9c50b5a07b211beafdf65d7cc7f8c8

这篇关于Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354151

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件