下面相关的只是本人开发中遇到的坑,记录下来,方便日后查看。
架构方面:
1、服务器架构:
a) 游戏大厅服务器,数据服务器要和游戏逻辑服务器分离,要保证玩家在对战进行中是直接和逻辑服建立socket连接的,这样才能确保低延迟,保证帧同步的稳定性。
2、客户端架构:
a) 要保证逻辑和渲染的分离,逻辑帧定时向服务器发送帧数据,服务器汇总定时下发,渲染帧根据逻辑位置跟进渲染,当有延迟或者断线时,模拟之前的操作,等待新数据或重新连接。
逻辑相关:
1、游戏开始帧必须一致: 第一帧服务器要等到所有客户端都有上行操作,才开始同步。如果不这样,就会导致所有客户端的不一致性。
2、慎重选择第三方库,包括寻路相关,因为第三方库很多都是非实时调用的方法,但是帧同步必须要求逻辑帧实时。
3、浮点数: 关于浮点数的使用必须统一进行