Batargon 是一款在浏览器中运行的即时战略游戏,其多人对战采用锁步同步机制,每个客户端模拟相同的游戏世界,网络传输的只有指令数据。这正是回放录像能实现完美逐帧同步的原因。

教训时刻:在第35520个时间刻度上,Mac和Windows系统的游戏世界出现了分歧。罪魁祸首是桥梁几何计算中的Math.hypot函数——不同操作系统的数学库在最低有效位上存在差异,这足以让两名玩家看到截然不同的战况。如今所有模拟运算都改用自定义函数实现,并已通过代码检查工具禁止直接调用系统数学库。基于同样原因,寻路算法采用编译为WebAssembly的C++代码,确保不同设备间的运算结果精确一致。

游戏美术由AI生成,代码由我独立开发。你可以在batargon.com上以访客身份试玩,欢迎对网络同步代码提出任何问题。