1.什么是网络同步
所谓同步,就是要多个客户端表现效果是一致的,比如我们玩王者荣耀的时候,需要十个玩家的屏幕显示的英雄位置完全相同、技能释放角度、释放时间完全相同,这个就是同步。
2.如何实现网络同步,不同方案比较
2.1 状态同步
2.1.1 定义
客户端需要哪个对象的状态,就请求哪个对象的状态,或者服务的把这个物体的状态信息推过来,然后更新这个对象的显示【将其他玩家的状态行为同步的方式(请求其他玩家的状态并显示在NPC上),一般情况下AI逻辑,技能逻辑,战斗计算都由服务器运算,将运算的结果同步给客户端,客户端只需要接受服务器传过来的状态变化,然后更新自己本地的动作状态、Buff状态,位置等就可以了,但是为了给玩家好的体验,减少同步的数据量,客户端也会做很多的本地运算,减少服务器同步的频率以及数据量】
2.1.2 优点
(1)安全性非常高,外挂基本上没有什么能力从中收益。
(2)对于网络的带宽和抖动包有更强的适应能力【即便出现了200、300的输入延迟再恢复正常,玩家其实也感受不到不太舒服的地方】
(3)在开发游戏过程中,断线重连比较快【如果游戏崩溃了,客户端重启之后只需要服务器把所有重要对象的状态再同步一次过来,重新再创建出来就可以了】
(4)逻辑性能优化有优势,客户端性能优化优势也比较明显【比如优化时可以做裁剪,玩家看不到的角色可以不用创建,不用对它进行运算,节省消耗】
2.1.3 缺点
(1)开发效率低(人力消耗),相对帧同步而言

文章探讨了网络同步的两种主要方法——状态同步和帧同步在游戏开发中的实现与优缺点。状态同步提供高安全性,但开发效率低且流量消耗随游戏复杂度增加。帧同步则具有更高的开发效率和更好的打击感,但对网络要求较高。文章还提到了帧同步的解决方案如LockStep、乐观帧和预测回滚,并强调了保证帧同步一致性的重要性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



