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 一致

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第1张图片

2 可靠性

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第2张图片

3 安全性

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第3张图片

4 多样性

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第4张图片

5 多样性

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第5张图片

2 基础

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第6张图片

1 Network Protocols

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第7张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第8张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第9张图片

1 OSI Model

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第10张图片

2 Socket

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第11张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第12张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第13张图片

3 TCP

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第14张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第15张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第16张图片

4 UDP

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第17张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第18张图片

5 game network protocols

大部分是组合协议。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第19张图片

6 Reliable UDP

网络游戏:基于UDP的可靠网络连接。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第20张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第21张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第22张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第23张图片

ARQ

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第24张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第25张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第26张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第27张图片
丢包少的时候5%,没有必要再传

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第28张图片

FEC

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第29张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第30张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第31张图片

Reed-Solomon codes

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第32张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第33张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第34张图片

定制自己的UDP。基于APQ和FEC.很多传输协议也需要自己写。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第35张图片

2 Clock Synchroniation

1 RTT

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第36张图片

2 NTP

对时间,
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第37张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第38张图片
NTP算法:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第39张图片

在这里插入图片描述
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第40张图片

3 ntp+简单策略

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第41张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第42张图片

3 Remote Procedure call(RPC)

程序员只需要重点关注逻辑,不需要关注那么多的网络方面的。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第43张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第44张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第45张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第46张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第47张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第48张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第49张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第50张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第51张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第52张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第53张图片

3 P2P

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第54张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第55张图片Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第56张图片

4 Network Topology

5 Game Synchronization

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第57张图片

1 同步的方法

帧同步,锁同步,状态同步
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第58张图片

1 帧同步

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第59张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第60张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第61张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第62张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第63张图片
坏处:
客户端算力浪费了
带宽要求高

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第64张图片

2 锁同步

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第65张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第66张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第67张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第68张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第69张图片

最慢的那个人会拖慢所有人的进程
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第70张图片
bucket 同步是非常好的,网络不好了服务器不管你了。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第71张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第72张图片

2 确定性:

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第73张图片

1 浮点数

所有的数学运算都要符合原理。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第74张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第75张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第76张图片
定点数据:

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第77张图片

2 随机数

要求严格同步,
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第78张图片
同步随机数的种子,伪随机,
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第79张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第80张图片

3

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第81张图片

使用buffer来解决延时的问题,
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第82张图片

渲染帧和逻辑帧:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第83张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第84张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第85张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第86张图片
Quick Catch UP
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第87张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第88张图片

关照模式:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第89张图片
回放模式:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第90张图片
LockStep:

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第91张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第92张图片
所有的状态客户端都有:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第93张图片

帧同步

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第94张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第95张图片

3 状态同步

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第96张图片
提交玩家部分的信息,server端会模拟整个。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第97张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第98张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第99张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第100张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第101张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第102张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第103张图片
存在的问题入下:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第104张图片

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第105张图片
server
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第106张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第107张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第108张图片
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第109张图片
对网速不好的不利,别人会比你快一步做出反应。
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第110张图片
丢包的问题:
Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第111张图片

4 总结

Games104现代游戏引擎入门-lecture18游戏引擎的网络游戏架构基础_第112张图片

3 视频

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

你可能感兴趣的:(游戏引擎,游戏引擎,架构,网络)