I'll note that I've restored AI being deterministic in my project
… I'll note that I've restored AI being deterministic in my project. - A rather obscure determinism bug resulted from their compiler's implementation of a few CRT routines, namely fsin/fcos and a few others, which leveraged the specialized ISA instructions of the same name. The problem being that these transcendental functions are beyond the scope of the IEEE 754 spec. and ergo are hardware implementation-dependent. In practice, contemporary Intel/AMD chip families produce bitwise the same result, however those around the time of AoE are known to diverge on results to some small margin (as confirmed by an Intel engineer on a thread I came across while researching). - The game employs a dirty-update system for rendering, not only that it's at a scanline granularity. This was something I was very pleased to see, as it's a exceedingly rare to see such an important optimization in games of this era (although common in earlier eras) - There's some "interesting" naming conventions, one being prefixing member variables names with "value" -- there's even a "valueValue". …
Original discussion1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond180 source comments · at import