Unite 2017的一些演讲做了整理。
本篇有帧同步和状态同步两个部分。
内容持续整理中。
帧同步
优点
1.开发效率较高(注:特别是对一些操作细节表现要求较高的游戏)
2.能实现更强的打击感
3.流量消耗稳定
4.原生支持离线战斗
5.录像文件较小
缺点
1.网络要求比较高
2.反外挂能力较弱
3.断线重连时间很长
4.逻辑性能优化较困难
实现要点
1.逻辑部分去浮点数
2.组件做帧同步要求改造
3.逻辑与"我"无关
4.一致的随机数
5.定位不同步的能力
6.本地插值平滑与表现分离
7.TCP换成了UDP
参考游戏
1.DOTA
2.风暴英雄
3.王者荣耀
状态同步
优点
1.安全性非常高
2.对于网络的带宽和抖动有更强的适应能力
3.断线重连比较快
4.客户端计算量大大降低
缺点
1.开发效率相对帧同步要差一些(注:特别是对一些操作细节表现要求较高的游戏)
2.他比较难做出动作类游戏打击感和精确性
3.流量会随着游戏的复杂度逐渐增长,比如角色的多少
4.需要额外开发离线战斗功能
5.录像文件较大
实现要点
1.影子跟随算法
2.TCP性能尚可
3.只发送客户端视野里的数据
4.双缓冲列表和分帧添加与删除
参考游戏
1.DOTA2
2.LOL
3.守望先锋
Tips
1.中国有些地方udp连不上
2.同一频率转发数据和操作