本文主要是介绍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游戏引擎的网络游戏架构基础的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!