My name is Lin Gardiner. I’m a Principal Audio Designer at Relic Entertainment and the Music Lead on Age of Empires IV (AoE IV). My role includes deciding the overall tone and direction of the music score, designing and setting up the system to play back our interactive music, as well as working closely with the composers to ensure we capture all the elements needed for our adaptive music system. I also work with the orchestration and live production team (around 80% of our score is live recorded) and collaborate with our music mixer.
AoE IV is a real-time strategy game, the fourth major release of a much-loved franchise that goes back 25 years.
AoE IV shipped in October 2021, with eight unique civilizations (‘Civs’) - French, English, Chinese, Mongols, Holy Roman Empire, Abbasid, Delhi Sultanate, and the Rus. An Anniversary Edition was released a year later, in October 2022, adding two more Civs—The Ottomans and Malians. The game spans from approximately 1000 AD to 1550 AD, with the civilizations progressing through four distinct time periods (‘Ages’) in history.
Concept and Prototype
I started work on the project in 2017, and it immediately became apparent this was a huge title with a lot of work ahead. We were lucky enough to have a lengthy pre-production and prototyping phase, which proved essential in settling on a solid path for development. I used this time to investigate and decide upon the musical direction by researching medieval music as well as films and games set in these time periods.
The overall design for AoE IV was heavily inspired by Age of Empires II, one of the most successful RTS games of all time and a fan-favourite entry in the series. While the score from AoE II is still very much-loved, it was a jukebox style of 1990’s instrumentals that played back with no interactivity. Working closely with Audio Director Bryan Rennie, as well as with Microsoft’s Audio Director Todd Masten, I used this pre-production phase to create mockups of the different possible directions the AoE IV music could go.
This concept phase landed with a plan to ‘reimagine’ four different versions of medieval music through different time periods. Starting in Age1 with a stripped-back, sparse, darker feel, the compositional and instrumental complexity gradually progresses as players move to the fourth and final age, at the brink of the Renaissance.
I started to design and build the music system during this phase of development too. We hired a local composer, Riley Koenig, to compose some placeholder custom music to begin to prove some concepts and provide assets to help build out v1 of the music system.
To give a sense of gameplay and musical progression, we decided to take some creative license and introduce a small string section in Age 3, which progressed to a larger ensemble in Age 4. This was still a relatively small orchestra, but big enough to add a slight ‘Hollywood’ medieval-style flavor reflective of what players would experience in the game. Musical modes, multiple solo instruments, and strategically placed vocals would be key in defining each Civ, staying as authentic to each culture as possible.
This blog will focus on our Core Gameplay music and Combat Intensity systems. If you’re interested in learning more about the composition and recording processes, you can learn about them here:
Dynamedion – Age of Empires IV Blog Posts: https://dynamedion.com/news/
The music in the game covers four principal areas:
1. Core Gameplay Music (Multiplayer)
2. Front End Music
3. Single Player Campaign Music
The combination of all these areas results in each Civ having approximately 170 unique music files, representing a huge amount of work, detail, and iteration for each of the composers.
Core Gameplay Music - Interactive Music System
AoE IV is a ‘top-down’ style of real-time strategy game, which can be fast-paced since you're able to move around the map very quickly. While I knew that location-based music changes were not going to be leaned upon for this title, I still wanted the music to change adaptively based on gameplay and produced a system to achieve that. Parts of the music system were built on some foundations laid in Relic’s previous release, Warhammer 40,000: Dawn of War III.
I would like to take you through some of the elements that make up our procedural music system, known in house as the ‘Combat Intensity Music System’ or sometimes also referred to as our ‘Core’ music system.
We use Wwise as our sound engine, and the Essence Engine is Relic’s proprietary game engine. There are three main components that reside within the Essence Engine to assist with music implementation alongside Wwise:
- Attribute Editor (AE) – the Attribute Editor is our database, and the systems that read from it were designed to pull as much decision-making and configuration from the data as possible.
- State Tree – the State Tree is a data-driven, state-based scripting system.
- Scar – Scar utilizes the Lua scripting language that we use for building campaign missions.
Each age would have its own unique piece of music, reflecting the time period and the culture. The ‘horizontal’ timeline consists of a short intro segment, an outro segment, and several interchangeable minute-long main segments that play randomly.
In addition, each of these segments would have four vertical layers:
- Explore Layer – calm, ambient music plays as a backdrop when building your towns and units.
- Tension Layer – when you engage in a small skirmish, the music moves to a layer containing elements of tension, such as low drums or tremolo strings, subtle for smaller skirmishes. This layer can also combine with Combat, Rare, and Explore.
- Combat Layer – plays when the scale of the combat increases. Bigger drums and horns, larger string sections, and combat melodies. This layer can combine with Tension, or with Tension and Rare together.
- Rare Layer – Even bigger hits for added punctuation, big horn blasts, and occasional counterpoint melodies to interplay with other layers. This layer can play with Tension, or with Combat and Tension together.
We set up States for these layers and combinations of layers…
… with Wwise Events created per layer/combo of layer.
Those Events are then added to the AE, with the thresholds set for where they should play. We set separate thresholds for when values are increasing and decreasing.
Here we see that once the Combat Intensity RTPC has reached 800, we trigger the tension State Event:
As a general guideline, we want music to respond quickly when we ramp up into various levels of Combat, and more slowly when ramping back down to ‘Explore’. To do this, we set the thresholds twice in the AE - once for Combat Intensity RTPC levels increasing and once for decreasing.
So how does this translate into the game?
We add ‘Music Importance’ values to each of the units in the AE.
When we are in our ‘Explore’ state, we introduce intentional periods of silence. As soon as we enter combat, music is set to force playback (overriding our silence system), and the combat intensity system draws a Combat Zone radius around units once they engage in combat.
The accumulative Music Importance values of units fighting in that zone drive our Combat Intensity RTPC, which in turn drives our state-based playback of layers.
We have other values available to us in the AE to help us set things like the size of the radius or when to determine if we need to draw further zones.
If you scroll to another part of the map while fighting, initially music would begin to ramp back down to explore and ultimately silence. However, we found that it wasn’t entirely reflective of what was happening game-wide, so instead we implemented a condition that if you have started combat but move to another part of the map (to rebuild some units for example), the music will continue to force playback, moving to its lowest combat layer, the Tension layer, to indicate we are in combat somewhere else. The music only reacts dynamically when the camera is looking at the units over the Combat Zone radius.
Another important feature of the music in Age of Empires IV is how it ‘Ages Up.’ Once you have finished building a ‘Landmark,’ you ‘Age Up’ to the next age, unlocking a whole new set of gameplay mechanics and opportunities to grow, play, and hopefully win. This Age Up moment also finds the player moving musically to the next age, progressing to a brand-new piece.
We have special ‘Age Up’ transition segments, which contain the key, tempo, and instrument changes needed to segue from one age to the next. These segments also contain a musical ‘flourish’ – a crescendo worthy of this notable moment in game. These transition segments are also composed in the four distinct layers so that the music will continue to play the appropriate combat intensity layer as you progress.
The music moves seamlessly from one age to the next. We set an Age State per age:
Once you have built a Landmark, an Age Upgrade is applied in our State Tree, which triggers the age-state change. In this screenshot, you will see when we reach the Feudal Age, a Wwise Event calls ‘state_age2’:
In Wwise, you will see we set the transition to move ‘Next Bar’ into our transition segment:
Moving to the next Age presented a little challenge, as our music containers have an intro segment that we only want to hear when we come out of an intentional silence section or upon first entering a map.
However, for the Age Up to work seamlessly and flow as a continual piece of music, we needed to skip the intro segment during these Age Up moments to ensure the end of the transition piece works seamlessly with the start of any of the main segments of the next age. This involved using a custom cue, called in code, to “Skip the intro” only during these Age up moments.
Here you see that Custom Cue set on an ‘hre_age2’ (Holy Roman Empire, Age 2) intro segment:
Campaign Music Scripting
Our single-player campaign mode is made up of four individual Civ campaigns - English, French, Mongols, and Rus. Each campaign has 8-10 missions, all based on true historical events, battles, and stories. In total, there are 35 missions and around 30 hours of gameplay.
Campaign missions not only have the story-driven linear experience but also contain a great amount of dynamic and systemic gameplay, which is built upon the game’s multiplayer mode. Because our core gameplay music was delivered in four different layers, with many combinations of those layers possible, we were able to leverage our core gameplay music in multiple ways in the campaign.
We have two options for music playback during the campaign missions:
1. Bring the core system into campaign missions and let the Combat Intensity system play out as designed for multiplayer.
2. Deliberately script (in Scar, our LUA based system) specific layers from our Core music system, to set the tone and mood more closely for the mission.
By using several functions such as locking certain layers for specified periods of time or unlocking certain playback conditions upon completion of an objective, we can easily switch from one of the above options to the other, so that the music will always adapt to the gameplay when it is either a story-driven or dynamic experience.
Composition, Recording, Mixing
I worked with six different composers across the ten civilizations, and I cannot speak highly enough of their talent, as well as patience, as I pushed for multiple iterations to get everything to sit right in game. While this blog is intended to cover aspects of our Combat Intensity system, I want to give them a little credit here!
Tilman Sillescu – Lead Composer – Mongols, Holy Roman Empire, Main Theme, Front End Loop
Alexander Roeder – Chinese, English, Ottoman Age 4
Henning Nugel – Rus, Abbasid, Malians Ages 1 and 2
Armin Haas – Delhi Sultanates, Malians Ages 3 and 4, Mongols Campaign Drums
Christian Wirtz – Ottomans Ages 1, 2, and 3
Mikolai Stroinski – French
As well as the intricacies involved in composing the music in these segments and layers, another challenge for the composers was to write music interesting enough to be heard hour upon hour, but also not so interesting as to distract the player or compete with the sound effects and speech. A difficult balance, and one that all the composers pulled off excellently.
After composition was signed off, Dynamedion also handled the orchestration and live recording scheduling and co-production, as well as editing the live recordings, and assembling pre-mix sessions to hand off to our music mixer. The music mix was handled by Rupert Coulson at Air Studios in London. It was an absolute pleasure working with this whole team on such a truly international effort, and I am delighted that the music is resonating with players and fans of the franchise around the world, including winning ‘Best Score / Soundtrack’ at the Canadian Game Awards 2022.