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.
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!
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.
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?
> 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.
When this happens in Factorio, the game pauses, one player (the server?) saves the game and sends it to all other players who load the savefile and the game resumes when that's done. It's not a nice experience, but it's a lot better than "you can't play today, goodbye!"
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
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.
It's got downsides. There's often no way to recover game state without actually running the simulation, and often no way to go backwards either. If you miss a moment in the replay you gotta watch the whole damn thing all over gain.
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
AoE2 battles are all about the micromanagement. Last minute splitting the onslaught of trash units against your opponents treb micro shot can change everything.
As someone who spent an immeasurable amount of time on AOE 2 online multiplayer, it has been a steadily refreshing experiencing the rise of AOE2 DE over the recent years.
The game not only received updates that brought in the total civilization count to 50+, but also a ton of visual enhancements and improvements in the overall gameplay and performance.
This is nothing short of stunning to see new developments happening for these games, especially in the open-source community.
The Vikings are an incredible civilization. Berserks are one of my most favorite units. Not sure where they are today, but they totally matched Paladins in terms of attack strength back in the day.
With non-unique units paladins can only be countered by upgraded halberdier, heavy camels or a huge mass of arbalesters. Monks counter them in small numbers but in late game when they're massed they're almost unstoppable unless you have halb/camel in equal numbers.
A no small wonder. I never thought that MS, as the IP owner, would allow such an open community to grow and thrive. MS is notoriously bad at game community growth development.
I remember that right after the acquisition of ES through MS in 2001, Microsoft went on a rigid IP enforcement role and, for example, targeted people at MFO.
The story of DBD_Jinx losing his account to MS
Legendary DBD_Jinx lost his account and had to start anew under _IamJinx because MS suspended his ZONE account due to copyright infringement for using MS trademarks without a license.
What did he do?
He advertised at MFO to help people increase their early game through his academy training, which offered advice on micro-management, game planning, strategy, and scouting.
Together with a couple of other 2000+ Zone Rating dudes from the US, they started to make a few bucks on the side using AoE as a vehicle.
What a knee-jerk reaction from MS back then.
And today? Red Bull Wololo - I hardly can hold my pants compared to 2001.
I hope this keeps going, even though I am a purist "old-schooler" who prefers the AoE 2 classics game.
Imo this should be legislated. Do you provide a service necessary to use your product ? Great. But if you decide to deprecate said service, rendering said product inoperable or partially operable, you should be obligated to release an implementation & documentation.
AoE2 was released 1999 based on a 1997 game engine, and a new major DLC is about to drop this spring in 2025 (for the definitive edition). Sandy Petersen should be proud.
Remember we used to have Aoe2 sessions on LANS when we were kids back in the 00s and like 1 in 3 games just crashed after everyone had played for like 2-3 hours.
In a way it was even better because then nobody had to loose, and everyone believed they were winning.
Yeah, I know of turtling because we used to do it ourselves! Have a pact that you can't attack in the start, then build an impenetrable city until there are basically no more resources left and then fight it off with having 10 castles and barracks and stables mass-producing units right to the front.
While I like Steam for the convenience and also appreciate their efforts in developing SteamOS I am concerned about the lock-in. Projects like this really help to own more of what you paid for again, luskaner is a hero for me.
I feel like it is important to point out that Steam does not require games to have any DRM. Not even Steam's DRM. It's entirely up to the game developer and/or publisher. Many games on Steam are already DRM-free where you can just back up the files and play without Steam.
Does this apply to AoE? I never played it much in its hey-day but it would be interesting to get into properly. I have no interest in buying an old game with DRM given the obvious potential for maintenance issues though.
I haven't checked AoE myself. If you're concerned about DRM, games using Steam DRM are usually the easiest to crack on your own by just by replacing the Steam DLL that ships with the game with one that emulates its functionality.
I basically did that, bought AoE several times, back then on CD and again on Steam. First I used virtual drives with ISO images and later a cracked version.
Today I am only using the Steam version though because I can easily join multiplayer games with friends all over the world.
Also, I really like all the additional features in the remakes of AoE that you can get on Steam.
Wikipedia explains it as "an activity done by individuals to protect themselves from possible subsequent criticism, legal penalties, or other repercussions, usually in a work-related or bureaucratic context."[1]
I wonder if there any public documentation for AoE3’s API that was used to make this or if this was all newly reverse engineered. I’ve seen people ask about this kind of documentation before, but I’ve never seen it.
I'm sure the answer could be found in this repo somewhere but its above my head- does aoe2 DE rely mostly on p2p for multiplayer? I assume it does and the regional servers are just used for matchmaking, and all the actual game logic is running on the clients. I base that on the fact that map hacks are possible and that one player lagging lags the game for everyone, but there are often conflicting claims when it's brought up on aoe forums
AFAIK, it's server-based rather than p2p for DE, but the way it works is all clients/servers simulate the world in lockstep and hold a full copy of the state. That's what makes map hacks possible.
You don't need anything paxos-like for this, the game desyncs and stops if any machine messes up but you can usually restore from a save point in that case.
I'd be surprised if the definitive editions changed the design significantly enough to move the netcode away from P2P, but I don't know of any actual information on it.
In professional tournament games a server is chosen that lies between the two players. For example, a Brazil-China match might be played in an EU server.
Given this, I suspect the server is used as a central source of truth between the clients where all game data goes through the server, with all the calculations still being done client-side.
I thought about almost this exact thing recently. I hope we're able to keep the best games running forever.
For games that are fun I think you can leave in balance issues and even features-not-bugs. It's trickier for things like netcode bugs that are purely a negative.
Really grateful Id release their source eventually. Really hoping the same will happen for AoE2 someday.
In chess if you don't play 2 years and then come back to it, you don't find out that all the rules have changed in the meanwhile. Which is what currently happens with age of empires 2.
It's a brilliant game for sure. The randomness, the fact that it's not turned-based and the multiplayer also make it interesting compared to chess.
However Chess has 1000x simpler rules that never change, and you don't need high APM to play competitively.
We tried this at a LAN-Party in December and couldn't get it to run.
I am happily trying it again for the next LAN-Party. Nice to see development on this project. :-)
Curious what your use case is as opposed to using the official LAN support? For me, I'm trying to get it working completely without internet, ie on a plane. It's so sad to me that built-in LAN requires an internet connection.
not all participants had an official copy of the game.
while i think that it is well worth it, i am not the person who pressures other people to buy things for a single-digit-attendence one-time get-to-gether LAN-party.
Does anything like this exist for the original Age of Empires games?
Battle.Net has "PVPGN" that covers Diablo 2 up through Warcraft 3, and the Westwood Online games (ish) but searching for an AoE equivalent turned up nothing
Check out Voobly. That seems to be a pretty big hub for people playing the original games, I think mostly patched versions of the originals with some nice features.
I've LANed them "online" many moons ago by using software that made a virtual lan that we all installed and managed to find each other ingame. "Hamachi" I think?
I believe the originals just supported offline LAN play. I remember getting my friend to have his modem dial my modem so we could play together, no Internet connection required.
From memory, there was a patch that added a new-fangled option "internet" as well as LAN play. I remember the days of fiddling with port forwarding and then calling a friend over the telephone to read out my IP address for them to type in.
The censorship really annoys me. I would've happily paid for the definitive edition (even though I already own the game), but I'm not willing to support a rerelease which changes stuff about the original game like that. If the devs want to make sure their new content is politically correct then fine, but changing the original content isn't cool.
Emulator maybe? It's a weird and intersting platform to target, but I suspect that it's because Go supports it, so it might not be to much hassle. On the other hand reading the article from yesterday regarding porting Tailscale, it might be more involved that I imagine.
Yeah go supports AIX. In fact I remember it having bash, and a package manager so it felt like home. AS400 was an interesting platform. I was fascinated with their almost assembly like programs, alien UIs and decades old hardware. Almost got nerd sniped. Unfortunately, I was told to use java. The jar I tested on linux worked perfectly the first time, so I couldn't even learn anything.
It's free and fun, but definitely humbling if you consider yourself a master strategist:
https://play0ad.com/
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!
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.
All it took was for some salty player to activate a trainer or prez IFS and kill the game.
I like that the lobbies were ran over IRCd.
Dreamforge IRCd with the server password being "supersecret".
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.
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
Kind of old but lots of micro tactics per unit here: https://youtu.be/hjUgisPD_C4?si=F-UvzDOTsWRZhZSq
This is nothing short of stunning to see new developments happening for these games, especially in the open-source community.
For real, though, it's really great to see this game continue to live on.
A no small wonder. I never thought that MS, as the IP owner, would allow such an open community to grow and thrive. MS is notoriously bad at game community growth development.
I remember that right after the acquisition of ES through MS in 2001, Microsoft went on a rigid IP enforcement role and, for example, targeted people at MFO.
The story of DBD_Jinx losing his account to MS
Legendary DBD_Jinx lost his account and had to start anew under _IamJinx because MS suspended his ZONE account due to copyright infringement for using MS trademarks without a license.
What did he do?
He advertised at MFO to help people increase their early game through his academy training, which offered advice on micro-management, game planning, strategy, and scouting.
Together with a couple of other 2000+ Zone Rating dudes from the US, they started to make a few bucks on the side using AoE as a vehicle.
What a knee-jerk reaction from MS back then.
And today? Red Bull Wololo - I hardly can hold my pants compared to 2001.
I hope this keeps going, even though I am a purist "old-schooler" who prefers the AoE 2 classics game.
Cheers + gl + hf!
_CN
The company shut down and turned the servers off, but luckily someone created an implementation of the match making server.
And even to this day the community is fully alive and growing, they even continue to develop the game, and have taken it far beyond the original.
It’s called Forged Alliance Forever.
In a way it was even better because then nobody had to loose, and everyone believed they were winning.
Hamachi appears to still be a thing, but I would prefer something open source.
Tailscale sadly doesn't support multicast, which I'm assuming most games use for LAN discovery.
ZeroTier maybe?
While I like Steam for the convenience and also appreciate their efforts in developing SteamOS I am concerned about the lock-in. Projects like this really help to own more of what you paid for again, luskaner is a hero for me.
Maybe the old AoE versions will be open-sourced one day, that would be awesome.
Today I am only using the Steam version though because I can easily join multiplayer games with friends all over the world. Also, I really like all the additional features in the remakes of AoE that you can get on Steam.
Wikipedia explains it as "an activity done by individuals to protect themselves from possible subsequent criticism, legal penalties, or other repercussions, usually in a work-related or bureaucratic context."[1]
[1] https://en.wikipedia.org/wiki/Cover_your_ass
I wonder if there any public documentation for AoE3’s API that was used to make this or if this was all newly reverse engineered. I’ve seen people ask about this kind of documentation before, but I’ve never seen it.
You don't need anything paxos-like for this, the game desyncs and stops if any machine messes up but you can usually restore from a save point in that case.
I'd be surprised if the definitive editions changed the design significantly enough to move the netcode away from P2P, but I don't know of any actual information on it.
Given this, I suspect the server is used as a central source of truth between the clients where all game data goes through the server, with all the calculations still being done client-side.
For games that are fun I think you can leave in balance issues and even features-not-bugs. It's trickier for things like netcode bugs that are purely a negative.
Really grateful Id release their source eventually. Really hoping the same will happen for AoE2 someday.
while i think that it is well worth it, i am not the person who pressures other people to buy things for a single-digit-attendence one-time get-to-gether LAN-party.
1. the game connecting to multiplayer services
2. coordination server for the LAN setup itself.
I think this covers #2. #1 appears to be more complicated unfortunately, and involves tricking Steam into thinking you're connected.
Battle.Net has "PVPGN" that covers Diablo 2 up through Warcraft 3, and the Westwood Online games (ish) but searching for an AoE equivalent turned up nothing
This seems to work with the Remasters as well. Even better :)
Please add AoM support as well.
There were some questionable changes to the names of things to make them more politically correct but the game play is better than ever.