Dunedan a day ago

Alpha 27 of 0 A.D. has a notable performance regression for a subset of users, compared to earlier versions. Users not affected by this regression should see improved performance, thanks to improvements like the added Vulkan support.

The regression in performance seems to be caused by a change in Spidermonkey. For details check out https://gitea.wildfiregames.com/0ad/0ad/issues/7714

That said, even without this performance regression, 0 A.D. is prone to run slow in late game when lots of units are on the map. There are several reasons for that, but maybe the most intuitive one is that 0 A.D. is still largely single-threaded and therefore doesn't make use of the multi-core capabilities of modern CPUs. As you can imagine changing that is no easy feat and takes a lot of effort. As the number of volunteers to 0 A.D. is limited, nobody has picked up that topic yet.

If you enjoy 0 A.D. and want to improve it: it's Open Source and contributions are always welcome!

Rendello 2 days ago

I haven't had an issue with that personally (played on and off for almost 10 years), though I imagine it could be an issue on some older hardware. Massed units will cause lag in big team games where there's 4 armies clashing, though that might be more of a network thing.

  • yohannesk 2 days ago

    I am curious as a non game developer, are these types of games deterministic? If so if I send to the server that I moved huge units to attack another huge units, can the server determine what the end will be? Why do we face a network issue?

    • matsemann 2 days ago

      This article is a classic, 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond

      https://www.gamedeveloper.com/programming/1500-archers-on-a-...

      Edit: original where the pictures work https://web.archive.org/web/20180719170411/https://www.gamas...

      > Rather than passing the status of each unit in the game, the expectation was to run the exact same simulation on each machine, passing each an identical set of commands that were issued by the users at the same time. The PCs would basically synchronize their game watches in best war-movie tradition, allow players to issue commands, and then execute in exactly the same way at the same time and have identical games.

      • IshKebab 2 days ago

        Which was great until there's a bug and it just says "sync error" and your 3 hour game is gone.

    • HideousKojima 2 days ago

      Many (not all) RTS games use a networking method called lockstep synchronization that requires the gameplay to be deterministic, but has its own downsides. One of those being that if one player lags, everyone lags. I know AOE 1 and 2 use it, and I assume 3 as well

      • NortySpock a day ago

        For Beyond All Reason, it seems the Spring/Recoil engine will eventually decide to "close the action window", so that if one player is lagging hard, they simply submitted no actions for that "round" and the rest of the players keep going.

        I know because I've gotten to the point in the late game where my computer can't simulate at realtime, and I can no longer control my units, but everyone else keeps playing.

        Conveniently you can even still sort of chat in this state, and ask a teammate to assume control of your army on your behalf.

      • littlestymaar 2 days ago

        The good thing being that you get replay for free.

    • arlort 2 days ago

      They can be deterministic but I think you might be confused about the kind of game

      In RTS games like 0AD or AoE you don't just send a single huge unit to attack and wait for the result, you send many tens of individual units near enemy units, then the "battle" goes on in real time and you can micromanage units to influence the outcome. You can't just simulate it on the server because the server can't simulate the thought process of the players

nophunphil 2 days ago

Same here. I use a modern Windows 10 PC (Ryzen 5600x, RTX 3070Ti) when playing games. I wonder if the performance is better on Linux for some reason.