网络同步方式——帧同步与状态同步
帧同步 | 状态同步 | |
---|---|---|
服务器代码编写复杂程度 | 只负责转发 | 大量服务器逻辑 |
客户端代码编写复杂程度 | 必须保证每个玩家客户端计算结果一直(随机数和字典不能用、要保证数学和物理稳定性) | 根据返回的结果进行客户端数据更新和画面表现即可 |
中途加入游戏 | 需要追帧(也就是从游戏开始的第一帧开始计算到游戏现在这一刻的帧,然后再从这一刻的帧开始正式开始游戏) | 下发状态数据即可 |
服务器带宽要求 | 只传递客户端操作,开销小 | 每个受控对象都要传状态 |
客户端游戏体验 | 因为是本地运算,所以反应灵敏体验好 | 延迟相对较高 |
反作弊 | 需要服务器和所有客户端协助 | 服务器权威 |
离线战斗 | 允许(这里指的是玩家本地角色还可以动) | 因为离线了所以服务器数据传递不进来所以导致不能进行游戏 |