• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

AoE dev confirms game was written in assembly to outperform competitors like Starcraft

cormack12

Gold Member
Source: https://www.pcgamer.com/age-of-empi...raft-even-though-we-had-twice-as-many-pixels/

"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 was notably faster than competitors like StarCraft, which is why the default resolution 'out of the box' for AoE was 800 by 600, when nearly all our competition was 640 x 480 resolution," says Pritchard. "We could scroll the screen and fill it with sprites as fast or faster even though we had twice as many pixels-ish in the game world area."

"He goes into some detail on the technical restrictions of the time, noting that the Pentium 166 CPU in the machines most Ensemble developers were using "had 16K of cache... TOTAL." Or to put it in plainer terms, "You are probably working right now on a PC with more on-CPU Cache Memory than the PC I developed AoE on had in TOTAL."
 
Top Bottom