Raymi Klingers, the engineering director at Forgotten Empires and an Age of Empires enthusiast, delves into the intricate pathfinding challenges within the game's legacy C++ codebase. The talk highlights the difficulty of achieving optimal pathfinding due to community expectations, the game's dynamic maps, and the complexities of unit interactions. Klingers recounts the erosion of knowledge over the 25-year-old codebase, including the loss of source history and the community's reverse-engineered patches. A significant issue arose from the unintended consequences of enabling SIMD instructions, which reduced floating-point precision and led to units phasing through obstructions. Klingers details the development and implementation of a self-verifiable algorithm using fixed-point math to create robust concave holes, improving both performance and pathfinding accuracy, and leading to positive community feedback.
Sign in to continue reading, translating and more.
Continue