For those of you who may not be familiar with the Total War series of video games, Total War is a turn-based strategy game that also features colossal real-time battles. It has a long history stretching back almost two decades, over which time the game has been set in Medieval Europe, Feudal Japan, Ancient Rome, 17th Century Europe, the Dark Ages, and more recently in the fantasy universe of Warhammer with the production of a trilogy and much accompanying DLC.
The scores of Total War have always had some level of interactivity, although the pre-Wwise based products prior to 2012 were of a simpler design and production process. The move to Wwise was an easy decision for us, not only due to the benefits for the sound design, dialogue, and coding portions of our products, but with the fully-fledged music system and the opportunities proposed, we had the chance to really focus on what we wanted to be able to do with the music in the game.
In this article, we’ll be discussing the most recent incarnation of our system and how we construct the music via examples from our 2017 Total War: WARHAMMER 2 release. This title combines the addictive turn-based campaign of epic empire-building with vast and explosive real-time battles, all set in the vivid and incredible world of Warhammer Fantasy Battles.
The development of the music for Total War: Warhammer 2, inclusive of design, production, and implementation took around 6 months to complete. We produced almost 4 hours of large scale orchestral and choral based music for the project (excluding alternative mixes). The live ensemble recordings were produced in Budapest through early-mid 2017 and consumed a total of 47.5 hours of orchestra time and 21 hours with the choir to complete the sessions. Creatively, our goal was to bring alive this multicultural world, a world brimming with differing schools of magic, monsters, and characters, yet interwoven with pseudo-Medieval elements following Warhammer’s lore representing the four highly unique cultures: High Elves, Dark Elves, Lizardmen, and Skaven. In addition to this, the system had to represent the vast scale and action of the game, enhancing and leading the player’s emotional engagement, building excitement during the battles and underscoring events in the campaign, creating an identifiable interactive and dynamic musical score.
To understand how we are currently utilising the music requires a little bit of an explanation about how the game is structured. As the game is divided into two parts, the Campaign Map and Battlefield, each area is stylistically and in terms of game play very different, so we have to approach the music in a unique way for each.
Music on the Campaign Map plays during the strategic non-real-time portion of the game. It acknowledges and supports the fact that the player needs to concentrate and may take a long time deciding how to manage resources and move armies. The music sits gently in the background, not calling attention to itself yet adapting to the gameplay, and, crucially from a cultural perspective, is flavoured by geographical region/culture. For example, music for High Elven locations on the campaign map sounds very different to that of the Lizardmen. The campaign map music is structured in 8-bar blocks or distinct sections to support our interactive music system with tempo ranging from around 60-75 bpm.
The Campaign map
Music on the battlefield is split into multiple types of composition, but it essentially consists of varying Threat and Action tracks. The action music itself has a dynamically interactive component, which responds to the real-time changing events on the battlefield and is also flavoured by geographical region/culture, but its main function in this area is to support the tension periods between the action, then propel the excitement of a large-scale battle once the fighting begins. Battlefield music is typically structured in 8-bar blocks or distinct sections to allow the system to enter or exit music as the system adapts dynamically to the gameplay.
The game in fact has two separate and different dynamic music systems: one for the strategic campaign map and the other for the battlefield sections of the game.
Campaign Music: Overview
The music in Total War: WARHAMMER 2’s campaign mirrors and represents the gameplay state of the campaign. The music is divided into 3 different cue types across all four of our cultural sets of music styles, those being ‘Normal’, ‘Threat’, and ‘Pre-Battle’. Normal and Threat types consist of playlists of cues, main tracks, and alternative mixes. Depending on the current state of gameplay, our system will intelligently move between these cues and cultures; for instance, if the game signals a state of peace or war with another culture, it will play the appropriate Normal or Threat cues. Should the relationship between a culture change (for example, if the player’s culture is attacked or attacks another culture) the music system will trigger the Pre-Battle music.
Each campaign session begins by playing music from the Normal playlist, starting with the most iconic track for that chosen culture. The system then shifts in to a priority-based mode based on gameplay whereby certain actions or events will queue up the next cue to play.
Just some examples of various gameplay events or actions that can trigger new cues:
- First Encounter of Faction: New Faction Peace Track
- Trespassing; non-aggressive Faction: Trespassing Faction Peace Track
- Recruited Hero: Player Faction Peace Track
- Trespassing Enemy: Enemy Faction Peace Track
- Enemy sieging city: Enemy Faction Threat Track
- Diplomacy; friendly outcome: Allied/Friendly Peace Track
- Diplomacy War declared by player: Player Faction Threat Track
- Diplomacy War declared by enemy: Enemy Faction Threat Track
- Settlement Colonised: Player Faction Peace Track
- Battle Winner Player: Player Faction Threat Track
- Pre-battle: Most Powerful Factions’ PreBattle Track
These events are prioritised, so if an action or event triggers a higher priority cue than is currently playing, whether it be Peace, Threat, or Pre-Battle, the music will change to this cue and culture type, once the outgoing track arrives at its transition point (more on transitions later) or when the current playing track has reached its natural end.
Additionally, if the player then moves the camera over another culture's territory, it will transition to the Normal playlist of the new culture to ensure the visuals are correctly represented.
Illustrating the path that the campaign music can take, with the two colours representing, for example, two possible factions.
Each of the above cue types also have variables associated with them, such as ‘state valid timer’, ‘state cooldown timer’, and ‘instant transition’ to enable fine tuning, as shown below.
Cooldowns and Instantanious transition controls for Campaign
Of course, for a dynamic music system to function optimally and seamlessly, the use of transition cues is essential. We used them extensively on Total War: WARHAMMER 2, not as full bridging pieces of music per se, but more as an interlinking glue between an outgoing and incoming set of cues.
We’ll go into these in more detail later, but in brief the transition cues on campaign consist of a combination of a riser and a drone. The transition cue starts playing, layered with the ‘outgoing’ track. As the outgoing track stops with the ‘riser’ element of the transition the drone will continue to play for short amount of time, before then layering with the ‘in’ cue of the new track.
During the implementation process, we ran into a problem whereby we needed to use three distinct transition rules for one set of Sources/Destinations: one for transitioning mid-track, one for transitioning at the end of a track, and one for transitioning immediately.
At the time of implementation, this wasn’t possible in Wwise. To solve the issue, our coding team built a State Filter into the transition rules, something that has now been added to subsequent versions of Wwise!
This change allowed us to use ‘post event’ markers in the tracks to set a State Group: ‘Campaign_Music_Transition’ to ‘Allow_Midtrack_Transition’ at the start of the tracks, ‘Disallow_Midtrack_Transition’ at the end of the tracks or use a code trigger to change to ‘Immediate_Transition’ in special circumstances; allowing us to use three different transition rules for one path.
To avoid the game constantly attempting to update the status of the music every frame, the system waits for markers in the track to trigger an update. In the middle of the track the marker ‘Update_Faction_Higher_Priority’ allowed the system to update the music state with the highest priority information in the music queue at the time; for example, if the current track was ‘Normal – High Elves’ and the marker was hit with the information ‘Enemy Sieging City – Dark Elves’, then the system would update the States used in the music hierarchy argument path and transition. The use of a priority queue allowed us to make creative decisions, so that even if ‘Recruited Hero’ was the latest State to trigger, if a ‘Battle Winning’ State was already in the queue it would play, as it is higher priority and more accurate reflection of the gameplay.
If the track comes to its natural conclusion with no other triggers, the piece will move to another track in the same set via a transition cue of silence.
The base root-notes for our compositions were intentionally limited to one of three choices. This was part of a ruleset the music was written to conform to, so that any system-manipulation didn’t get into unmanageable territory, in other words, to avoid not having a track to transition into with the same base root note as the one playing.
As such, compositions could be based on one of three root notes, and only transition up or down a minor third. To ensure musicality when transitioning between compositions, we designed three prebaked transition cues, made up of percussion, other timbres associated with the current culture’s music, and a low drone in the root note of the current musical root.
The system keeps track of the root note and selects the appropriate transition when needed. Since the music was constructed from either 8-bar blocks or defined musical sections, we already had the positions in which to set in and out points for our transitions.
To ensure that the music doesn’t dip down to silence, or a musically strange starting position, the incoming tracks start on specifically placed ‘in’ markers on each track.
There are certain moments in the game where it makes sense to allow an immediate shift between Music Tracks, such as selecting the Diplomacy screen, where the transition coincides with a visual change, a VO line trigger, and a loud sound effect. In this instance, the musical transition cannot be heard, so we were able to tightly sync the music with the visuals without worrying about clashes.
Battlefield Music: Overview
A key target to hit with the music system deployed in the battlefield section of the game was to create a system that utilises a set of cues such that it can dynamically twist and turn, adapting to the changing real-time battle as musically and elegantly as possible. The music featured on the battlefield had to support a wide array of gameplay Events/States but also deliver on a range of emotive moods that all unfold throughout the course of a single battle.
Single continuous Music Tracks—or even cellular-structured pieces of music—wouldn’t deliver on the variation required. Nor would they adequately deliver a system that was as adaptive as we desired, let alone represent the vast differences in gameplay and moods experienced in the game. We therefore designed the music system to use many different cue types, a full ‘music set’ being represented as:
- Reveal (an introductory stinger, setting the scene for the environment)
- Threat (the ominous calm before the storm, brooding and anticipating action)
- March (marching music for when the troops are ordered into battle)
- Skirmish (lower intensity action music)
- Dynamic Action (high intensity action music that has multiple arrangements triggered from a playlist depending on the action).
- Results stingers (win, draw, lose)
Each major culture has multiple battle-music sets for variety. At the start of the battle, the music set that is chosen to play is based on the culture with the largest army. During the battle, the music set playing can change to the culture who is currently winning the battle.
To ensure the music system moves seamlessly between the wide range of cue types, we had to create a set of rules that compositions had to adhere to at the composition stage:
- Root notes were specified per track and key-change rules established to avoid jarring when switching between tracks and mixes.
- Tempi per cue-type were defined to make it easier to set musical boundaries for entering or exiting tracks. Variable tempi within tracks were not permitted.
- Time signatures were defined, again helping to avoid jarring when switching between tracks and mixes.
How and where the music plays
The battlefield music system responds to the contour of the battle as it unfolds. The distinct cue types don’t really have a set order, other than to say that they can start with a Reveal and always end with a Results Stinger. All the music that flows between can go back and forth as it is entirely driven by user-action and real-time events.
The Reveal cues get triggered at the start of the battle, but only if total combined strength of the player’s army is over a certain amount. This ensures that this music, which is used to create a sense of grandeur and excitement, is only played in larger battles. Reveal music only has one transition out: a cross-fade at the end of the track.
The Threat music is triggered at the start of the battle or after Reveal music, if it is valid. Threat music can transition out, via marker cues inserted into the composition at appropriate musical moments, to ensure that phrases or motifs aren’t cut short.
Marching music is triggered by a certain percentage of army units moving within a predefined distance of the player and when an order to move has been given. The music has two out transitions: one for moving back into the Threat music and one for moving straight into Skirmish or Action music. The music also has two out points; one is the standard ‘End’ marker and one is an ‘Out’ marker earlier in the music. The earlier ‘Out’ marker allows the music to enter the Skirmish or Action music at the top of the build-up of the March composition, on the downbeat of the climax. This ensures that no momentum is lost should the fighting begin while the Marching music is still playing. Conversely, if there is a lull before the fighting begins after the player/AI have moved their troops, the music naturally falls away via the outro of the Marching music, back into the Threat music.
The choice of Skirmish and Action music is triggered by the number of army units in combat. Skirmish requires a much smaller number of units over a smaller radius from the player-camera to trigger, meaning Skirmish can trigger when only a few units are fighting out of the full army.
Illustrating the path that the battle music can take.
Dynamic Action States
The Dynamic Action component is a very important feature of the system, since much of the battle is spent in this state. The idea here is that we didn’t want to underscore the battle with single, immobile action tracks, so we created a system that switches from the main action track to a pre-authored playlist of alternatively-mixed or arranged cues, responding to the real-time events. Some situational examples are:
- Allied Units Winning
- Allied Units Fleeing
- Enemy Units Winning
- Enemy Units Fleeing
- Allied Heroes/Generals Dying
- Allied Heroes/Generals Attacking
- Enemy Heroes/Generals Dying
- Enemy Heroes/Generals Attacking
- Infantry Charges
- Cavalry Charges
- Units in Melee
- Units defending / attacking a strategic point
- Units firing Projectiles
- Units using large magic spells
We created playlist mixes of the main 'Action' tracks to represent the current gameplay states above, and to also fit in with the sound-effect mix of the game at that point. For example, during the ‘Units using large magic spells’ State, the mixes were created to remove a lot of the large percussion and rhythmical string parts, to instead focus on the higher string parts and woodwinds. Not only does this create a greater sense of lightness and speed but also generates more room in the mix for the low rumble of the magic spells.
Conversely, we also created versions that enhance the mix and blend with the sound effects; for the charging states, we authored mixes to be focused almost entirely on the fast, low strings and the low ethnic and cinematic percussions. We found this helps to reinforce the sound of the hooves/feet chugging across the landscape and build the sense of power and suspense.
One of our goals with the system was to avoid the repetition of material from the original composition from which the alternative mixes or arrangements were derived. To negate this, we split the action music into segments and used markers and code to update the current State; ‘Segment:01’ would inform the code to change the Segment State to ‘02’, updating the argument path in the Wwise interactive hierarchy. This allowed us to know what State of the Music Track we were in at any moment, and so by tagging the dynamic mix-state with the material used, we were able to avoid hearing material derived from same part of the composition twice.
As the 'Action' tracks were defined by the same rules throughout—such as root notes and tempi being set—it was then easy to move between the main ‘full’ mix of the composition and the ‘alternative mix’ segments by way of a transition cue. We tested the idea of having a set of transition cues that would play between the mixes and full track; however, we found this created too much lag in the system and would have also meant generating a large quantity of material so that the transitions would not become repetitive. Therefore, we tested immediate transitions using a ‘gluing’ riser to cover the join between the tracks. We found this worked very well and removed the lag in the system.
These transition segments fade in over the ‘old’ segment/mix and faded out over the ‘new’ segment/mix, hitting on the downbeat where you see the markers above. Containing the swell of the root note, drums, and metallic percussion appropriate for the culture, we were able to create a pleasing join between the segments. At present in game there are 121 transition rules between all action tracks and their markers, with 3+ variants of the musical transition cues for each culture and root note.
The dynamic state system was curated in code; variables for each State were defined in data and tracked at runtime. If the appropriate conditions for triggering a new music State were met, then the code would add the State to the ‘Music Queue’. This queue enabled us to deal with situations where several State conditions could be met at once and decide how long a situation would be valid for. As an example, the ‘Infantry/Cavalry Charging’ States are only valid for a short amount of time as they are linked to a very visual element. Conversely, the ‘Allied Hero/General Death’ States are longer, as the ‘mood’ of this event will continue for a time in the player’s mind as they reorganise their troops and react to the loss of an important figure in their army and even in their campaign.
Music preparation and authoring considerations
In order for us to deliver a system as outlined above, careful consideration had to be given as to how we not only composed the music, but recorded and mixed it too. To transition easily between cues, we’ve noted that the compositions had defined meters, tempi, root notes (plus or minus a minor third) to use in general, along with conforming certain tracks to 8-bar block boundaries or distinct sections.
For the music recording preparation, we needed the flexibility to create transitions and alternative mixes from existing material, and to simply adapt and rework material as and when required. To achieve this we worked to a stem export chart for the delivery format of the music from the composers. This meant that for any given cue, we had consistency in delivery format and could work from MIDI stems in ProTools—or utilise them in conjunction with the final live recordings.
All editorial, transitions, alt mixes, and arrangement work were carried out in ProTools.
Interactive orchestral scores pose some interesting challenges in how we prepared the material for live recording. We found that to give us the mix, re-authoring, and interactive flexibility that we desired, we needed to record each subsection of the orchestra separately (as in woodwind, strings, choir, and so on). On certain cues we’d have to plan to break out the rhythmical parts separately from the sustained material and further divide the upper and lower ensembles—so recording violins and violas together, for example, isolated from the celli and basses, and even staccato violins in isolation from legato violins.
Working in this way allowed an incredible amount of flexibility for creating all manner of variants, arrangements, transitions, and alternative mixes of tracks or segments with which we can feed the interactive system.
Creating the musical score for a title with the scope of emotion, range of cultures, and breadth of action as Total War: WARHAMMER II was a challenge that required astute planning, adaptability, and a large team of skilled people. We believe the system we’ve created enhances the impact of the score—tying it closely to the gameplay and visuals but without lessening the musicality of the compositions.
We hope you’ve enjoyed this insight into the inner workings Total War’s music.
Audio Designer, Creative Assembly
Jack Melham is an Audio Designer at Creative Assembly. Having completed work on the BAFTA winning Alien Isolation project, Jack has spent 4 years working on the Total War series, in particular its music systems and associated content development.