← Back to context

Comment by TkTech

1 day ago

I don't know if they've finally resolved it, but BARs biggest issue last time I looked at it (which has been a bit!) was that they (spring) implemented the game with deterministic, lockstep multiplayer (good!) but used native floats, compiler fastmath flags, and stdlib math functions throughout. So you'd desync instantly playing against anyone whose game was built with different compiler flags, or Windows x86 vs ARM OS X, or different versions of libc, etc, etc.

That said, BAR was great fun when I tried it and very well done. Even has a rapidly growing youtube community.

I play BAR a few hours every week. Online games are really good and smooth. BAR is by far the best RTS out there today. It only misses an awesome single player, but its coming now.

Some of the elements in BAR is really awesome, radar, anti-radar, radar killing rockets, EMP on anti-nuke. The strategic depth and complexity is really at DOTA level.

It's by far the greatest RTS to play for the next 10+ years. And its free.

floats in a deterministic lockstep engine... oh dear me!!

It has to be possible to use fixed point arithmetic?

"Implement a fix to desync issues across the different platforms, using VMs and simulated networking as a starting point for validation. Make no mistakes"

What's wrong with that? Yes you can less around with strictmath and fixed-point and all that stuff, and if you have cross-platform determinism needs then you kind of have to.

But it's much easier and makes the game faster to just not bother, compile the windows version and let people play under Proton/Crossover :)