Live data from Hacker News

0 A.D. Release 28: Boiorix

play0ad.com

121–123 of 123 posts

Re: 0 A.D. Release 28: Boiorix

#121
post #108
post #6

0ad is a fun game but the last few times I have tried to play it with my friends it lagged very bad once a few units were moving around. I actually was able to get it to play kind of normal by hacking the pathfinding code to give up after a fixed iteration count that was low. It worked kind of, but broke path finding a lot, obviously. The crux of the issue is that their simulation is single threaded. It's a complicat…

How did games like Age of Empires and StarCraft deal with that tissue on single CPU systems? They were mostly single threaded too and with way less computational power.

Starcraft 1 is well known for having an absurdly hacked together pathfinding algorithm that almost stopped the game from shipping and the bugs it created are now expected mechanics of that game, such as "worker drilling", where players can pop through specific arrangements of buildings and units.

They also make heavy use of pre-computed pathing maps (Dijkstra) and place restrictions on how that pathing map can be changed.

It's also worth mentioning it's not just the pathing that is single threaded, it's ALL of the game logic, since it all has to be deterministic. All players must agree on the input, then run ALL of the game logic with the same inputs and same deterministic functions so that they agree on the game state without having to synchronize it.

I don't really know 0ad well enough to know if the game logic is more complex than Starcraft or Age of Empires.

Also, both Starcraft and Age of Empires have struggled with lag once above the unit counts. AoE in specific has always had a lot of lag once players start to get full armies. There are well known patches for Age of Empires 2 before the Definitive Edition (DE) where people just hand optimized the binary and figured it out.

Re: 0 A.D. Release 28: Boiorix

#123
post #113

Earlier quoted context omitted.

Pathfinding at scale is pretty much a solved problem. Spring. Recoil. SupCom. Starcraft. You can do that, for 10.000 units before you run into problems. https://www.youtube.com/watch?v=2wxwIxz4PaY

Why is it so bad on sandboxes like Minecraft? Modded Minecraft has struggled with pathfinding for years.

I suppose 3d instead of 2d with destructible paths adds to the complexity
Post reply on HN