地铁,晚高峰,进站前最后三十秒。
你正在开团。屏幕右上角那个绿色的数字,突然变成了刺眼的红色:
460你做好了准备——画面冻结、角色僵直、然后瞬移回城泉水。
但这一次,什么都没发生。
你的技能照常释放,动画照常播放。只是敌人的走位,看起来慢了半拍。
三秒后,数字跳回 68。团战还在继续。
一个同时代的严格帧同步游戏,在这三秒里会发生什么?
十个人,全部冻结三秒。中间的差别,是十几年的工程演进。
第一幕:先搞懂帧同步在同步什么
两种同步,两种哲学
状态同步(射击游戏主流):服务器说了算
客户端 → 服务器:"我按了 W,鼠标朝向 37°" 服务器 → 客户端:"现在所有人的位置是 [...],血量是 [...]" ↑ 每帧几百到几千字节帧同步(MOBA / RTS 主流):大家一起算
客户端 → 服务器:"第 1024 帧,我按了右摇杆 37°,放了 2 技能" 服务器 → 所有人:"第 1