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 complicated problem to do both deterministic and multi-threaded, but I feel some of us could help them.
Two thousand years ago they'd barely have maps, I don't see why units need pathfinding anyway. In the Age of Empires series it had bizarre effects, like you could steer an enemy army around by building a wall across a forest path, forcing them to take a different path to their target (your base), since they apparently saw the wall with their psychic powers.
Realistically soldiers should head in the right compass direction and hope for the best. But then you (the player) shouldn't have a proper map of your own, either.
An RTS where you could only swap between FPV views of each of your units would be fun. Or at least different. Savage II but there is only 1 player per team, and no overhead view. And you can wrench control from a bot at any time.
This is naive pathfinding that adopts the shortcut of perfect information.
Good looking pathfinding simulates realistic terrain ignorance (no "psychic powers"), but it is likely to be expensive enough to require other compromises (e.g. updating paths less often).
> Realistically soldiers should head in the right compass direction and hope for the best. But then you (the player) shouldn't have a proper map of your own, either.
It would depend where and when. An army on their own territory might know the terrain. An army on enemy's territory would try to send scouts ahead as opposed to wondering randomly, too.
So at the army level it would almost work out like the they have "psychic" powers because they have scouts. At the individual units it would depend. But it would also be kind of annoying to play if the realism is increased too much. Like they wander into the woods and get stuck in a bog and die of hypothermia.
At some point its a game and needs to be fun to play. If you are directing a group of five units that might work but if you have 200 units on the field i think it breaks down and is less fun.
> But then you (the player) shouldn't have a proper map of your own, either.
In aoe2 you don't have a full map. I imagine 0ad is similar being a clone
I'm sorry but huh? It's a RTS game, aren't moving units around on the map kind of a fundamental part of the genre and this game?
> Realistically soldiers should head in the right compass direction and hope for the best
If you implement unit movements in a RTS like this, they'll get stuck half the time you ask them to move anywhere, unless you want micromanagement of unit movement to be 90% of the game, which I don't think anyone would find fun.
Typical armies usually had, if not maps, reliable intelligence and guides. "we've heard this chokepoint is heavily defended" would indeed be a common reason for routing around.
It would be even fancier if there was some logic to take into account the position of your mobile units as well - for example, to avoid massed troops except in favorable conditions.
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.
For me the main problem with 0AD multiplayer is that if any player loses their connection even for a moment for any reason, the game either halts completely or forks so that they can't rejoin. Quite frustrating, especially for longer campaigns. It's also impossible to save and restore in multiplayer.
> […] the game either halts completely or forks so that they can't rejoin.
When a player looses the connection the game just continues. Usually one of the remaining player then pauses the game until the player who lost the connection returned.
The game state becoming out-of-sync is often a problem of players using buggy mods. That this happens without mods is pretty rare and of course clearly a bug.
> It's also impossible to save and restore in multiplayer.
This is one of the problems that BAR solves beautifully - a player could leave and rejoin later and the game would continue running just fine. An existing player can choose to take their stuff or not, or take it and give it back when the player rejoins. Truly elegant.
It did save in a27 for me - I had the same forking problem but was able to go back to a previous save and the other player was able to rejoin at that point. This was in a local network game.
I feel like the issue is more that their pathing algorithm is very inefficient. Not sure why using multiple cores would solve the problem if the cause of the lag is that their pathing algorithm is cubic time or something
AFAIK one of the reasons they held onto 'alpha' for so long was that this network lag issue for internet based play was a big known and hard to address issue. I'd def be trying again since they've come out of alpha with this release.. a huge deal for a game that is so many years in development.
Also, we've always played the game as in-person LAN, and for the most part the lag has been just fine. Only for really huge end of game final battles with the screen packed with troops did it lag out for us, but being free and all, we'd often gather around one monitor and talk crap at each other while we waited for it to clear up.
> I'd def be trying again since they've come out of alpha with this release.. a huge deal for a game that is so many years in development.
We're not calling it Alpha anymore, but we still don't consider it a polished major release. The announcement of the last Alpha, Alpha 27 had a section explaining the motivation for the change: https://play0ad.com/new-release-0-a-d-alpha-27-agni/
> Only for really huge end of game final battles with the screen packed with troops did it lag out for us, but being free and all, we'd often gather around one monitor and talk crap at each other while we waited for it to clear up.
I'm not sure when you last tried the game, but a27 notably improved performance and feedback so far suggests that r28 did as well.
That was my experience as well. My understanding is that the simulation will be bottlenecked by the slowest PC. All of my friends had pretty powerful PCs, but someone among us had a slightly weaker one in terms of single core performance, which means we all have that CPU basically then.
The huge battle toward the end of the game dropping or making the game unplayable was what killed it for us. We didn't want to spend all that time making our army and strategy only to be disappointed. At the time we went back to playing Age of Empires 2 DE.
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.
I love 0 A.D., and I’m endlessly grateful to all the developers and volunteers who made it happen. Your dedication and skill deserve a monument — my genuine admiration.
I install it every few years, and it’s always a blast, somehow, and I do not know why I never do more than experiment with it..
Gameplay-wise, I find that Beyond All Reason is, as far as open-source RTS games go, a few orders of magnitude more fun and mature. I don’t think there’s any commercially available RTS that can compete with Beyond All Reason in terms of fun and performance.
I haven't played Beyond All Reason but looking at the system requirements I'm not surprised it is more fulfilling. 0 A.D. runs on a potato if you look at it threateningly, which makes it a good option to have on a throwaway machine for kids or somesuch.
My experience is the opposite: 0ad will lag on my laptop once thing become big. BAR will warn that it’s not compatible with my low end intel integrated potato gpu, but it works just fine..
You can easily play or spectate a low-unit count game of BAR on any decent 2010+ quad core.
Such a computer won't allow you to play 8v8 that goes into the late-game stage. Sometimes not even 4v4 or 2v2 with players scaling to high unit counts. Some players try anyway. Ignoring player disconnections, half the drama of large-scale games is the one player who's lagging because they're on a potato computer. If the sim doesn't lag, the game will at least be down to single-digit fps.
That means you can't really play multiplayer comfortably, at least not beyond 2-4 players.
For that, you need a recent ryzen or intel. I'd estimate recent as post-covid.
I don't know what combination of things is important; there's larger cpu caches, faster sustained CPU frequencies (TDP and cooling matter there), hardware mitigations for speculative execution bugs, faster ram, resizeable BAR support... but in my experience going from a 6-core skylake-era cpu to a ryzen 9xxx, with the same gpu, made a massive difference. I saw no massive improvement going from a 4-core 2010-era cpu to a 6-core skylake-era cpu; I'd classify both as potatoes for BAR purposes.
Thank you 0 A.D. team. My son and I play, it is one of the few things we can do together. Nothing has brought me so much joy as fighting my son: king of the Persian army.
0AD's web site is rather bad at describing the game, but Beyond All Reason is even worse. I rarely play, so I had never heard about it. Both focus on details, forgetting the main points.
After reading BAR's homepage and the FAQ, I still have no idea what to expect. It could be a purely online game with ads and in-game buys, through a central proprietary server. It could also have a single player campaign.
Good points, the BAR FAQ's first question is "Best Twitch Stream Settings for BAR (OBS)", and the Gameplay page talks about physics, terrain, economy, units and weapons but answers nothing like: is there a single player campaign? Are there AI opponents? what's even the theme/setting of the game?
This game started slow for me many years ago but I now absolutely love this game. Not just because of all the open source effort that has gone into it, because of the strategy. You have to make yourself vulnerable to get stronger.
Wanna grow fast? Train workers who can't fight, but are resource efficient to make. Risk being badly weakened if getting attacked, for the benefit of the workers giving you much more resources to then raise an army.
I really love the iterative progress with 0 A.D. And every time the game shows up in news, it's always amazing to go through the changelog. I just wish I was a but younger with more time to play :) For an OSS project it's quite an achievement!
This is such a high quality game that it is almost unbelievable that it is free and open source. The fact that it is also still seeing active development after more than 15 years shows just how passionate the developers are.
I'm really looking forward to playing this! The new logic in Alpha 27, where units don't try to capture enemy structures by default, caught me out, but it was fun getting familiar with siege engines until I worked that out.
As for the new capture attack for citizens, I imagine this could lead to some really risky endgame strategies where a player moves citizens from their base to attack the enemy's supporting buildings while the enemy is distracted.
I tried to play this game once and sucked at it. There are people out there who are legitimately good at this, and that's awesome to see for an open source game
I know what you mean, biggest gripe I have with this game is how important it is to play the meta and boom early if you want to win at anything other than easy mode.
I've played perhaps tens of hours of 0AD. I boom early, try to create an unbeatable army, and then go win. When I saw competitive 0AD players on YouTube, they played completely differently: they train cavalry or cavalry archers and go hassle the booming opponents really early. Then retreat to go hunt some chickens for a bit, train some more cavalry, and go raiding again. They simultaneously attacked each other, all the while trying to continually improve their economy meanwhile. It seemed much more fun than the way I played tbh.
The crux of the issue is that their simulation is single threaded. It's a complicated problem to do both deterministic and multi-threaded, but I feel some of us could help them.
Realistically soldiers should head in the right compass direction and hope for the best. But then you (the player) shouldn't have a proper map of your own, either.
It would depend where and when. An army on their own territory might know the terrain. An army on enemy's territory would try to send scouts ahead as opposed to wondering randomly, too.
So at the army level it would almost work out like the they have "psychic" powers because they have scouts. At the individual units it would depend. But it would also be kind of annoying to play if the realism is increased too much. Like they wander into the woods and get stuck in a bog and die of hypothermia.
> But then you (the player) shouldn't have a proper map of your own, either.
In aoe2 you don't have a full map. I imagine 0ad is similar being a clone
I'm sorry but huh? It's a RTS game, aren't moving units around on the map kind of a fundamental part of the genre and this game?
> Realistically soldiers should head in the right compass direction and hope for the best
If you implement unit movements in a RTS like this, they'll get stuck half the time you ask them to move anywhere, unless you want micromanagement of unit movement to be 90% of the game, which I don't think anyone would find fun.
It would be even fancier if there was some logic to take into account the position of your mobile units as well - for example, to avoid massed troops except in favorable conditions.
https://www.youtube.com/watch?v=2wxwIxz4PaY
When a player looses the connection the game just continues. Usually one of the remaining player then pauses the game until the player who lost the connection returned.
The game state becoming out-of-sync is often a problem of players using buggy mods. That this happens without mods is pretty rare and of course clearly a bug.
> It's also impossible to save and restore in multiplayer.
It seems you haven't played 0ad in a while, as that's possible since a27 (see https://play0ad.com/new-release-0-a-d-alpha-27-agni/).
Some of the pathfinding is precomputed, some cannot be as it involves other units and formations.
Most other RTS games work around this by either relaxing the constraints or implement some amount of parallelism.
Also, we've always played the game as in-person LAN, and for the most part the lag has been just fine. Only for really huge end of game final battles with the screen packed with troops did it lag out for us, but being free and all, we'd often gather around one monitor and talk crap at each other while we waited for it to clear up.
Good times.
We're not calling it Alpha anymore, but we still don't consider it a polished major release. The announcement of the last Alpha, Alpha 27 had a section explaining the motivation for the change: https://play0ad.com/new-release-0-a-d-alpha-27-agni/
> Only for really huge end of game final battles with the screen packed with troops did it lag out for us, but being free and all, we'd often gather around one monitor and talk crap at each other while we waited for it to clear up.
I'm not sure when you last tried the game, but a27 notably improved performance and feedback so far suggests that r28 did as well.
The huge battle toward the end of the game dropping or making the game unplayable was what killed it for us. We didn't want to spend all that time making our army and strategy only to be disappointed. At the time we went back to playing Age of Empires 2 DE.
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.
I install it every few years, and it’s always a blast, somehow, and I do not know why I never do more than experiment with it..
Gameplay-wise, I find that Beyond All Reason is, as far as open-source RTS games go, a few orders of magnitude more fun and mature. I don’t think there’s any commercially available RTS that can compete with Beyond All Reason in terms of fun and performance.
You can easily play or spectate a low-unit count game of BAR on any decent 2010+ quad core.
Such a computer won't allow you to play 8v8 that goes into the late-game stage. Sometimes not even 4v4 or 2v2 with players scaling to high unit counts. Some players try anyway. Ignoring player disconnections, half the drama of large-scale games is the one player who's lagging because they're on a potato computer. If the sim doesn't lag, the game will at least be down to single-digit fps.
That means you can't really play multiplayer comfortably, at least not beyond 2-4 players.
For that, you need a recent ryzen or intel. I'd estimate recent as post-covid.
I don't know what combination of things is important; there's larger cpu caches, faster sustained CPU frequencies (TDP and cooling matter there), hardware mitigations for speculative execution bugs, faster ram, resizeable BAR support... but in my experience going from a 6-core skylake-era cpu to a ryzen 9xxx, with the same gpu, made a massive difference. I saw no massive improvement going from a 4-core 2010-era cpu to a 6-core skylake-era cpu; I'd classify both as potatoes for BAR purposes.
After reading BAR's homepage and the FAQ, I still have no idea what to expect. It could be a purely online game with ads and in-game buys, through a central proprietary server. It could also have a single player campaign.
Wanna grow fast? Train workers who can't fight, but are resource efficient to make. Risk being badly weakened if getting attacked, for the benefit of the workers giving you much more resources to then raise an army.
Also watch out for the elephants!
As for the new capture attack for citizens, I imagine this could lead to some really risky endgame strategies where a player moves citizens from their base to attack the enemy's supporting buildings while the enemy is distracted.
https://wildfiregames.com/forum/topic/22257-a21-multiplayer-...
https://gitlab.com/mentula0ad/0ad-tips-and-tricks