Games104现代游戏引擎入门-lecture19 网络游戏的进阶架构

1 三大架构

unity向这个方向靠

在这里插入图片描述
虚幻引擎用的架构:
在这里插入图片描述
在这里插入图片描述

课程结构:
在这里插入图片描述

2 Character movement repication

角色位移的同步

在这里插入图片描述

1 插值

内插值和外插值

在这里插入图片描述
外插值:本质是预测,

1 内插值

在这里插入图片描述

在这里插入图片描述
把server来的状态搞到buffer中去,
在这里插入图片描述
在这里插入图片描述
内插的问题:两个客户端不一样,差个250ms
红车觉的撞行了,灰色车觉的没有,有这样的问题
在这里插入图片描述

2 外插值

在这里插入图片描述

如何预判下一步;
在这里插入图片描述
PVB算法,就是一个简单的插值,会看到一个蓝色的曲线一直在追绿色的线,绿色的线是真实的位置,看两条曲线的重合度,这里面有很多小tracker,很有的意思,可以解决一些边界条件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

在这里插入图片描述
有可能对方的游戏用了内插的方法,物理系统给了一个很大的反弹力。

通过以下的方法来解决:

在这里插入图片描述

FPS里很多都是反物理的,要不然很唐突。
在这里插入图片描述

在这里插入图片描述

有时候用内插,有时候用外插
每个方法都是好方法,能解决问题就是好方法。
在这里插入图片描述

3 Hit registration

如何打中别人。网络游戏中 的命中判定是很难的问题
在这里插入图片描述

1 问题如下:

目前没有很完美的解决方案。
在这里插入图片描述
在这里插入图片描述
击中别人并不存在一个正式的解。
在这里插入图片描述

2 由客户端来决定

非常符合人的感觉
在这里插入图片描述

在这里插入图片描述
服务器会做一个验证:
在这里插入图片描述

在这里插入图片描述
其实也会在本地做一些防作弊手段,
但是非常不安全,需要做很多特殊的处理。

在这里插入图片描述

3 由服务器来决定

最基本的问题:
在这里插入图片描述

解决方法:延时补偿

我把我这边的时钟回拨,根据算法猜测来补偿,
在这里插入图片描述

server收到开枪的时间的时候,已经差的很远了
当前的时间减去一系列那些时间,然后就可以了。如果网络是稳定的。

在这里插入图片描述
掩体:虽然你躲避了,但是你还是被打死了。
在这里插入图片描述

躲在掩体的人,冲出来的人有优势的。产生了不同的优势方和劣势方。
在这里插入图片描述

其他方法:
能帮玩家争取一些时间。
在这里插入图片描述
本地加特效,
在这里插入图片描述

4 MMOG NETWork 架构

在这里插入图片描述
最早的网络游戏:
在这里插入图片描述
在这里插入图片描述

1 子系统

在这里插入图片描述

2 MMO架构

在这里插入图片描述

1 Link layer

在这里插入图片描述
大厅:
在这里插入图片描述
在这里插入图片描述

2 交易系统

在这里插入图片描述

3 社交系统

在这里插入图片描述

4 匹配系统

在这里插入图片描述

5 数据存储系统

在这里插入图片描述

关系数据库
在这里插入图片描述
非关系数据库更快
在这里插入图片描述
内存数据库:
用的越来越多,

在这里插入图片描述

3 分布式

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

1 Challenges

对代码的安全性,鲁棒性要求就高了。
在这里插入图片描述

2 负载均衡

在这里插入图片描述

3 一致哈希算法来解决分布式存在的问题

在这里插入图片描述
在这里插入图片描述
删掉一个server
在这里插入图片描述

服务器少的时候,需要用以下的方法:
在这里插入图片描述

4 服务管理

是个非常重要的东西

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

5 Bandwidth Optimization

带宽非常重要,可以降低运营成本
在这里插入图片描述

1 计算带宽

在这里插入图片描述

2 数据压缩

把浮点数改成定点数:实战效果很好。
在这里插入图片描述
在这里插入图片描述

3 物体相关性

在这里插入图片描述

1 静态zones

在这里插入图片描述

2 AOI

很宽泛的概念,网络游戏降低带宽必须要做,节约了服务器的算力!
在这里插入图片描述

1 Direct Range-Query

在这里插入图片描述

2 Grid

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

3 十字链表法

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

在这里插入图片描述

4 PVS

在这里插入图片描述

4 降低频率

在这里插入图片描述

6 anti-Cheat

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

1 查内存

在这里插入图片描述

2 packers

被别人攻破了
内存混淆,
在这里插入图片描述
在这里插入图片描述

3 修改本地的资源

改变敌人的材质为透明啥的。
本地资源的哈希值
在这里插入图片描述

4 网络包的截获

网络包一定要加密。
在这里插入图片描述

1 加密

对称加密和非对称加密!

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

2 软件包

在这里插入图片描述

在这里插入图片描述
扫描内存

5 AI cheat

很难防!
在这里插入图片描述
在这里插入图片描述
数据统计系统来识别。
在这里插入图片描述
在这里插入图片描述

7 Build a scalable world

构建一个开放的世界!

在这里插入图片描述

1 zoning

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

2 复制

在这里插入图片描述

3 两个要结合

在这里插入图片描述

8 视频

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

下:

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

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/127253734