Some of the greatest stories about games are simply about how developers made the thing work. Ask any developer for their favourite workarounds and you'll get a full evening's worth of entertainment about how a giant tram is actually an NPC with a hat on, or how rabbits are actually what makes Azeroth work, and so on.
This isn't quite on those lines, but a redditor recently noted that Chris Sawyer wrote Rollercoaster Tycoon 1 and 2 in Assembly language, and apparently Age of Empires was the same: «AoE is written in Assembly: is this actually TRUE?!» It's important to note that this wasn't uncommon back in the day, though it would still be pretty remarkable if an entire game was hard-coded this way. Assembly language, to be as brief as possible, is any low-level coding language that communicates more directly with a computer's architecture than high-level languages like C++.
The question about whether Age of Empires was coded in Assembly language hit gold in the replies thanks to Matt Pritchard, one of the founding members of Ensemble Studios, who's been the coding lead on the series from the very start.
«I guess I can clarify this, since I wrote all the assembly code used in Age of Empires and Age of Kings, along with many other parts of those games,» says Pritchard. «There were about ~13,000 lines of x86 32-bit assembly code written in total.»
Pritchard goes on to explain that the vast majority of this was in the «drawing core», which was compiled by Microsoft Macro Assembler 6.1 into a .obj file and in other cases Visual C++. In plain English, this was an extremely efficient way for the game to draw sprites, with Pritchard estimating it was around 10 times faster than standard C++ implementations.
«AoE's drawing core
Read more on pcgamer.com