6 ms·
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
by ddtaylor 8mo ago
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.
- decimalenough 8mo agoFor 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.
- t43562 8mo agoIt 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.
- x1f604 8mo agoThis 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.
- embedding-shape 8mo agoBAR in general is such a great showcase in A) FOSS games can be good, work great, scale nice and be fun and B) BAR is a game built by gamers who play and enjoy their own game, for other gamers, which seems more and more rare these days.
- GvS 8mo agoWhat is BAR?
- card_zero 8mo agoBeyond All Reason as mentioned in a sibling thread. "Currently in development". It's got robots.
- dryarzeg 8mo ago> It's got robots. "Shut up and take my money, I'm making a donation" :)
- mikepurvis 8mo agoYou might also like Iron Harvest. It takes place in an alternate history WWI setting with dieselpunk mechs.
- deleted 8mo ago[deleted]
- somat 8mo agoThe history behind BAR is also fascinating. There was the Total Annihilation RTS and while it had the normal 2d overhead view, all the data was in 3d. A Swedish gaming clan put together an accelerated full 3d engine to replay Total Annihilation recorded demos. As it got more and more features it was realized that most of what was needed to play TA was being recreated so they closed the loop and made it into a full game engine which they called SpringRTS. There was the default accurate TA game code but there was also a very popular mod that was not afraid to change things a bit, basically "we like Total Annihilation but also think it could be better" and they called it Balanced Annihilation. We are almost there. BA lived under the Spring project for a few years, but really when you think about it there are ip problems with it using the TA assets, also, I suspect someone wanted to do engine work but was having a hard time with upstreaming it, so it forked off the Spring project, they rebuilt all the units(same unit different skin) are doing a ton of great engine work and called it BAR (retronymed into Beyond All Reason but I suspect it originally stood for Balanced Annihilation Reborn or something like that). So BAR is basically a highly modified legally distinct Total Annihilation. Zero-K is another great RTS based on this engine. It drifts further off the TA formula than BAR does.
- pino83 8mo agoAre there any BAR forks or alternatives that don't force me into proprietary walled gardens for exchange with the community? I would even donate! Even regularly!
- Dunedan 8mo ago> […] 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. 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/ https://play0ad.com/new-release-0-a-d-alpha-27-agni/).
- card_zero 8mo agoTwo 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.
- zxexz 8mo agoAn 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.
- evrimoztamur 8mo agoIsn't this Mount and Blade?
- schnitzelstoat 8mo agoWith the RTS mod you can get pretty close, yeah.
- entropicdrifter 8mo agoIt's simultaneously an RTS and a third person action game, during combat in singleplayer campaigns. You command your troops in real-time, but you have a limited POV. Realtime Strategy doesn't necessarily require that you have a top-down perspective or a specific set of controls, right? Pretty sure Brutal Legend is also technically considered an RTS
- GreyZephyr 8mo agoBattlezone and battlezone 2 [0] were great for this. Many hours lost, even if bz2 was a buggy mess on release. It was also one of the first faves to really have a missing community. [0] https://en.wikipedia.org/wiki/Battlezone_(1998_video_game) https://en.wikipedia.org/wiki/Battlezone_(1998_video_game)
- x1f604 8mo agoI 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
- ddtaylor 8mo agoThe pathfinding algorithm has been decently optimized. The reality is that 600 units finding paths and keeping them up to date is a lot of work. 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.
- qup 8mo agoA realistic version would have unit commanders pathfinding over long distance, and the plebs following them unless they got merc'ed
- ddtaylor 8mo agoI think this actually can be used to optimize the pathfinding. Basically create a fake unit that is used for the real/complex path, then have the other units follow it with basic collision or a very tuned down pathfinding algorithm similar to the hack I did where I just counted loop iterations and bailed after some threshold.
- Dunedan 8mo agoThere is also some exciting work going on to improve the path finding of formations to make them behave more naturally: https://gitea.wildfiregames.com/0ad/0ad/pulls/8608 https://gitea.wildfiregames.com/0ad/0ad/pulls/8608
- evolve2k 8mo agoAFAIK 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. Good times.
- ddtaylor 8mo agoThat 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.
- Dunedan 8mo ago> My understanding is that the simulation will be bottlenecked by the slowest PC. That's correct. While 0ad is an RTS, behind the scenes it's still turn-based and in multiplayer games turns can only progress once every participants PC has responded. That's also why the game also feels slow when a player has a bad latency to the player hosting the game.
- Dunedan 8mo ago> 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/ 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.
- izacus 8mo agoHow 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.
- ddtaylor 8mo agoStarcraft 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.