hckrnws
what a great talk with many little highlights: code archaeology of a codebase passed between many teams & companies with the full revision history being lost somewhere along the way, detective work figuring out there had been an accidental regression in floating point precision when SIMD was enabled, obtaining higher performance by specialising/simplifying the 2d geometry algorithm to axis-aligned rectangular obstacles instead of the prior convex hull code, automatically fuzz-testing the proposed "obviously valid" algorithm by AI vs AI matches & using logging/invariants to identify and harvest nasty counterexamples, growing a unit test suite of 100 harvested nasty counterexamples while fixing the identified defects in the new algorithm, finally shipping it and receiving player feedback
My first job out of school was on one of the HD expansions at SkyBox Labs. It was mostly grunt feature work and desync fixes, but I remember that some of the handcoded ASM from the legacy pathfinding had been one-to-one translated to C++.
I always wondered if that contributed to the pathfinding regressions that were talked about online. Or, you learn about compiler-induced accidental UB in school, and part of me wondered if something was happening there.
A very nice video. It shows that computer games are glamorous on the outside, but once you look behind the scenes, they just look like normal software. I was also surprised to hear that the team did not only rely on computer graphics textbook algorithms, but built their own pathfinding algorithm in a pragmatic manner.
see also: "How Command & Conquer: Tiberian Sun Solved Pathfinding" (2019, non-technical, for a general audience) https://www.youtube.com/watch?v=S-VAL7Epn3o
Heh funny you post this. My example of poor pathfinding is OpenRA but I quit following that project when it was clear they were heavily biased towards their gameplay and focused on odd features over making the basics (pathfinding) work.
The Age of Empires 3 path finding was so impressive, but also with cavalry it got clumpy and could be used tactically (which is sort of realistic)
Rediscovered this game a year ago, and am absolutely loving it.
The r/aoe2 community is also generally welcoming and helpful.
I also really like to play 0 A.D. Similar game but open source, looks great, frequently updated, runs on Win, Mac, Linux.
Came here to praise 0 AD, it feels like a love letter to the AoE franchise from creators who really appreciate AoE II & III
It's kind of crazy how nice people in multiplayer are. Nobody says anything about my mother or what kind of content I'm downloading to cause lag. Everyone's got the personality of, like, a chill dad now. People are more interested in a good game than just winning. It's really nice.
The other day, I was playing a noob game where one opponent on the other team was way better than the rest of us and rushed. His own team came down on him after.
Maybe because most of them actually are chill dads! See this one of the top posts by score on r/aoe2 https://www.reddit.com/r/aoe2/s/X7TgxJetMp
I am a chill dad and I rediscovered aoe2 a few months ago, after being addicted to Age of Mythology. Previously it was Songs of Syx, Foundation, Farthest Frontier... I think we're just a different type of gamers.
I'm not in the scene, but I used to love Age of Mythology - is the AoM scene as big, or as AoE2 become the sort of de facto classic Age of Empires game now?
AoM is not as popular, but I can't give you the numbers. All I know is I'm very good in AoM, and very bad in AoE2. AoE is easy to learn and hard to master, imo. I assume it's the biggest old school strategy franchise with a PvP scene that refuses to die, and it's not driven by hype or marketing.
I think it's possible that starcraft might have a claim here?
Haha, I think the experience is a bit different at the higher levels (between ranks 50-1000), but overall people are quite a bit nicer than those playing League of Legends or Dota.
I don't play a lot of games but one thing I've noticed over the years is that the best games with the best communities are more niche. Like Xonotic for instance. It has a fair number of players; there's always at least one or two servers going in the evening. Everyone is friendly to each other. I've never seen any kind of trash talking in there. Same with other games like Quake etc which are long past their heyday. Wherever the masses are, that's where the toxic assholes are. When they move on, things just get a lot better.
quake series has way more players than xonotic, interesting framing
Excellent talk!
I don't really play AoE2 anymore (though I have bought it!), but I can feel the excitement and dedication the author seems to put into his work. I'm sure modern AoE2 players have benefited immensely from it! :)
Wait, is the AoE source code public?
Sadly not. He is part of the current set of developers.
I guess Rise of Nations was a different code base altogether since he didn't mention it. Floats are something every programmer learns about.
It's good to get understanding and confirmation that, yes, the community userpatch version on the online matchmaking service voobly before Microsoft came back in an recapitalized on the popularity by releasing Definitive Edition was and remains the best version in some very important ways. Also great to hear DE has now reached near parity with lower resource use.
Has it? I recently tried to organize a little AoE2 LAN party but we got stuck because the DE was too heavy for our old computers and the HD Edition was no longer for sale on Steam.
(Apologies if this was answered in the video, I'll watch it later tonight)
DE is definitely not meant for older computers, it contains gigabytes of 2D sprites
[dead]
Crafted by Rajat
Source Code