Jump to content

Age of Empires 2 Definitive Edition


Recommended Posts

  • 7 months later...

Interesting article about Age of Empire original technology, based on Assembly:

https://www.pcgamer.com/age-of-empires-developer-confirms-the-game-is-mostly-written-in-low-level-assembly-code-because-we-could-scroll-the-screen-and-fill-it-with-sprites-as-fast-or-faster-than-competitors-like-starcraft-even-though-we-had-twice-as-many-pixels/

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 was in charge of graphics and optimisation on the early games, and on the later HD / DE editions the coding lead.

"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."

[...]

The Assembly code remained in use even by the time of Age of Kings: HD edition (a 32-bit game), but Pritchard "re-wrote the assembly functions into C++ for both Definitive Editions, as they are 64-bit programs and inline assembly was never supported by the 64-bit C++ compiler, and the vastly improved register sets and compiler optimizations made it unnecessary. Additionally, sprite drawing in the definitive editions is multi-threaded, and will use up to 4 cores for that task alone."

  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...
  • 3 months later...

An interesting video about the assembly code of the original AoE.

(Remember the definitive edition has been rewritten in C++)

On 10/01/2024 at 9:35 PM, Genava55 said:

Interesting article about Age of Empire original technology, based on Assembly:

https://www.pcgamer.com/age-of-empires-developer-confirms-the-game-is-mostly-written-in-low-level-assembly-code-because-we-could-scroll-the-screen-and-fill-it-with-sprites-as-fast-or-faster-than-competitors-like-starcraft-even-though-we-had-twice-as-many-pixels/

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 was in charge of graphics and optimisation on the early games, and on the later HD / DE editions the coding lead.

"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."

[...]

The Assembly code remained in use even by the time of Age of Kings: HD edition (a 32-bit game), but Pritchard "re-wrote the assembly functions into C++ for both Definitive Editions, as they are 64-bit programs and inline assembly was never supported by the 64-bit C++ compiler, and the vastly improved register sets and compiler optimizations made it unnecessary. Additionally, sprite drawing in the definitive editions is multi-threaded, and will use up to 4 cores for that task alone."

 

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...