Age of Empires: 25 years of pathfinding problems with C++ [video]
160 points by CharlesW
by shoo
1 subcomments
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
by jstrebel
0 subcomment
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.
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)
by superkuh
1 subcomments
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.
by tsycho
2 subcomments
Rediscovered this game a year ago, and am absolutely loving it.
The r/aoe2 community is also generally welcoming and helpful.
by jorl17
0 subcomment
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! :)
by ece
0 subcomment
I guess Rise of Nations was a different code base altogether since he didn't mention it. Floats are something every programmer learns about.