Another expansion for the legendary “Age of”-series, this time on its mythical spin-off “Age of Mythology”. Let’s take a look at some of the things that happened behind the scenes, the good and the bad!

This post mortem focuses on the story from the side of the FE team, being us. Not on Microsoft or Skybox Labs, or any of the other partners who helped develop the game.

totd_header

Where do you even start writing a post mortem for a project of this size? A project which has been part of your life for the better part of 2015? A coherent story might be a bit too far-fetched for this purpose, so we’ll highlight some parts of the development process behind the expansion. Especially since it was a new experience for us as well, after 2 expansions for Age of Empires II HD on a vastly different engine.

Tools of the Trade

To work on a game, you obviously need the right tools. Although SkyBox Labs was armed with the source code, we still had to find a way together to edit the data/media files in the game. Most of them were relatively easy, a built-in Editor for the campaign, editable xml files for unit data but… that’s where it stopped. 3D models, textures, and special effects were relatively locked away. Although tools existed for at least the models and textures, they had to be updated to deal with some of the new features of the Extended Edition. This was relatively painless although it took some time before to get it 100% right. The bigger issue were the particle effects though. These particle effects are the nice little effects you see when creating myth units or when casting god powers. Particles are essentially dumbed down objects that have very limited functionality, but are just there to look good while not requiring a lot of processing power. This makes them ideal for more complicated graphical effects.

aom_totd_birtheffects

The “myth unit birth effect”. The Greek one on the left and the Chinese one on the right.

Now, we didn’t have the original Ensemble Studios tools at our disposal and had to essentially reverse engineer the format to make it readable and foremost… editable. A bit of a brain breaker, but Petar, our Engineer managed to figure it out after a good month of fiddling around 🙂 So thanks to him you can now cast fancy Tsunamis across the map!

Designing the Chinese

While we were working on our tools to create assets, we also started working on our civ design. The idea for the Chinese was not to create as crazy of a civ as possible, but more to make it a well-rounded addition to the series with the necessary quirks to make things interesting. We regarded Greeks as “the basic civ”. Very straightforward in both design and history (12 Olympians to make up the pantheon and an economy very similar to the Age of Empires series.) Economy-wise, this was also our starting point, after all, introducing something absolutely bonkers to the series after more than a decade could go down very bad.

Economy

Let’s take a look at all the economies and their variations to the Greek one.

Greek Basic Age of Empires economy
Egyptians Free drop-off points, slower villagers
Norse Mobile drop-off point, 2 types of specialized villagers
Atlanteans No drop-off points, each villager equals 3 “normal” villagers
Chinese Unified drop-off point, Gardens as additional gatherers

Additionally, there’s the favor-gathering mechanic. How does each civ please their Gods?

Greek Praying at Temples
Egyptians Building Monuments
Norse Fighting
Atlanteans Controlling Town Centers
Chinese Building Gardens

This one was particularly tricky, as we felt the Atlanteans already pushed the boundaries with their TC controlling. Something players do every game regardless. Which is in stark contrast with the other bonuses, which need to be actively pursued. In that way, we could fit in the Chinese perfectly well with the Garden mechanic. So players not only need to build Gardens to support their economy, they must also make the decision of going heavy on normal economy, or sacrificing gold/food/wood in return for support from their Gods.

Deities

myth_fuxi_andy_de_pooter

Speaking about the Gods… which Gods can you possibly pick for the Chinese? A civilization with thousands of years of history and sometimes an unclear definition of the concept of “deity” in the first place? For the Major Gods, we quickly settled with the “Three Sovereigns“, a legendary group of deities credited with the creation of mankind and many primitive inventions. After that, we just started reading stories. Chinese legends and myths and see which had an interesting storyline, which could be paired up with a Mythical creature and if they had some different characteristics. After all, you can’t have 12 evil deities… After we had a list of candidates, we tried picking Gods that were slightly related. Ao Kuang, Sun Wukong and Xi Wangmu all share a storyline for example, which is ideal for people diving into the game without any prior knowledge. Which was an issue we had to keep in mind as well, making sure the whole culture wasn’t too confusing and overwhelming. Norse and Greek deities are used a lot in Western pop-culture, but Chinese… not so much. In the end we felt like we came up with a well-rounded pantheon, although you’re eventually the judge of that 🙂

Ancient Graphics

Making new graphics for an old game is very tricky. Not only do they need to give a fresh feeling, they must also fit in with the old graphics. Which is a very peculiar balance to strike!

Fitting in

The first issue is to make sure the new graphics fit in with the old ones. Which was a process we used for Age of Empires II as well. First we have to ensure the buildings are easily identifiable. So we start by identifying what makes a building recognizable. This is essentially playing with LEGO bricks, as we identify the size and the main shapes of the building. In the case of the barracks, this is a long main room with a roof, flanked on each side by two smaller “arms”.

myth_barracks_all_cultures

Once we identified these shapes, we built a wireframe model and embellished the buildings with little ornaments. Plants, barrels, weapons and shields. This is a collection of small eye candy objects that are reused on all buildings throughout the game.

myth_barracks_wireframe

In the next step, we painted the buildings with textures to give the buildings a genuine Chinese feeling. However, here we ran into an issue. Age of Mythology is limited to very low-resolution textures, and cramping Chinese architecture, which is incredibly detailed in real life, into small 256*256px textures proved to be troublesome.

Upgrading

Of course, that’s fitting in the graphics, but can we also upgrade them? After all, some of our current players have been playing the game since it first released – over a decade ago! These were the times Age of Mythology was an absolutely groundbreaking engine, a high fidelity RTS with 3D graphics! But time goes by and computing has evolved crazily fast since 2001. Even in 2005, Ensemble Studios managed to outshine Myth’s graphical fidelity with Age of Empires III. So what can we do in terms of upgrading?

After polishing some of the textures and lighting effects in last year’s patch, we tried a few things with the expansion. The first and obvious choice was making models with a higher polygon count and using higher resolution textures than the original game. The first unit we tried this with was the Dog, a new animal unit which was originally intended for gameplay, but is now only available in the Editor.

myth_totd_beta_dog_wireframe

On the left, you can see the high polygon model we first created, and the final model on the right. The first one is obviously prettier with twice the amount of polygons, but why didn’t it make it into the game? Because it stood out compared to the older models and simply felt foreign in the game. Going down this road would take us far away from our initial goal. We are making an expansion, adding new gameplay elements in the same aesthetic as the original game, not redoing the ten thousands of graphics that are already in the game. So we’re making the only artistic choice we could take, which is the choice of low-polygon models and textures.

Animating it all!

Last but not least, all units have animations! Hopping around the battlefield, slashing up enemies and crushing fortifications.

While modern games use bone animations with separate model and animation files, Age of Mythology uses so-called vertex animations where 3D models and animations are baked into one file. Back in 2002, this system was used by Ensemble Studios as calculating animations on a per-vertex basis required less processing power. However, this comes with significant drawbacks nowadays:

One big issue is to make every animation “loop” correctly. For instance, the walk animation of units needs to begin and end in a similar pose (e.g. right foot on the ground) to avoid jerky animations. Given how the old format worked, we had to manually calculate the length and correct number of frames for most animations with an excel sheet before exporting. As models are baked into each animation file, making a change to the model itself later on means doing all the work for each animation again. Doh!

aom_animations_fps_excel_sheet

This time-consuming workflow explains why the original Age of Mythology re-used some of its own assets within the game, with many units sharing the same or similar models/animations:

reusing_models_animations_age_of_mythology

Did you know that three of the Greek Myth units are all based on the Lion? While we tried to bring more variety to the new Chinese civilization and created the vast majority of models and animations from scratch, we decided not to completely reinvent the wheel: The Pixiu borrows its animations from the other lions in the game to fit in and the Chu Ko Nu reloads his crossbow similarly to Greek Gastraphetes, although their animations still differ when they walk and talk.

Regardless, with over 1100 new animation/model files in the Tale of the Dragon expansion, there’s plenty of freshness.

Conclusion

Working with the Age of Mythology engine was a great step forward for us. The engine is incredibly data-driven, so we could quickly add things, play around with it and judge whether it was a fun addition to the game. Not to mention it allowed for a lot of people working together on the same files simultaneously without overwriting each other’s work! Of course, there were different challenges to deal with, such as the completely different approach to graphics (compared to the 2D isometric renders in Age of Empires II). In the end we were very honored to work on the Mythical spin-off of the Age of Empires series and hopefully, by the grace of Zeus, we’ll have more Age-goodness coming your way in the future!