The music in Assassin’s Creed Valhalla was a massive undertaking. This was one of the largest maps ever made on the Assassin’s Creed franchise and arguably one of the biggest in the open world genre. This meant we would need a ton of music to cover all aspects of the game, starting with exploration. Sandbox music is a term used in the game industry to determine when the player is out in the game world and not actively in a quest. Sandbox music helps convey the mood and accompanies the player throughout the game experience. On Valhalla, we wanted a somewhat different approach for the sandbox music system. We wanted to make sure the music was always relevant to what the player was doing/feeling while avoiding ear fatigue as much as possible. Sandbox music systems include exploration, restricted areas, disguised areas, world bosses, activities, alpha animals, and many more. For the sake of this article, I’ll focus on the main sandbox elements: exploration, restricted and disguised areas and the fight system.
When designing these systems, we had a couple of goals in mind:
- Create an immersive experience
- Avoid ear fatigue
- Provide feedback to the player through music (Restricted areas)
- Match the gameplay intensity level (Exploration)
- Support player’s actions (Disguised areas)
- Support narrative through sandbox
Director’s Note by Aldo Sampaio
The game was a huge undertaking involving many Ubisoft studios and people across the globe. One key process was ensuring everyone in the audio team was in alignment on the global audio vision and message throughout the project. The sound team’s key message was “What does it sound like to be a Norse in a foreign land?”
We thought and researched very hard on what the native sounds were within Norway at the time, for example, the Old Norse language, the flora and fauna, the musical instruments used, etc. And in contrast, we blended this together with the Anglo-Saxon way of life through their own sounds and unique activities and how these two cultures came together to form the rise of England. The tone of the music in Valhalla set this dichotomy perfectly.
The vision of our game was one of “Harsh Romanticism”. Harsh as in the Viking way of life was hard with scarce resources in the awe-inspiring Norway fjords versus the bountiful resource-rich England.
Another process that was set into place on Assassin’s Creed Valhalla in the audio team was this notion of the player sonically changing their world throughout the player’s narrative progression. An example of this is the exploration music which actually changes mood into a more resolved tone as the player completes a territory’s story arc. We also unlock the skalds sung by Einar Selvik when the player arrives on the Drakkar (longship).
There are quite a lot of underlying sound systems working under the hood thanks to the Audio team and people at Audiokinetic and we hope you’ve had the chance to experience this game and be totally sonically immersed.
Create An Immersive Experience
While the first point is quite obvious and something any music designer wants to achieve, I think it’s important to point it out as a key goal of the music system design on Assassin’s Creed. An immersive music experience means that the player should not have to think about the music systems. The music should just be there and fit the moment. As soon as the player starts thinking about the music, you know your system might not be serving the game right. In a linear game this might not be a big issue, but in a systemic-driven open world game like Assassin’s Creed Valhalla, this can quickly become a nightmare for the designer as well as the composers.
The main challenge stems from the fact that we wanted responsive music systems that could adapt to the player’s actions while avoiding the dreaded mickey-mousing effect. It’s like trying to draw a life-like painting without drawing attention to the number of colors used or the brushstrokes. You want the viewer to appreciate the art and what it represents.
On this project we tried achieving this basically by addressing all the other points on the list above. Which brings me to my next point.
Avoid Ear Fatigue
Don’t you hate it when that song starts playing again… You might as well just turn off music altogether! Well that’s what keeps me up at night. Avoiding ear fatigue means using your precious minutes of music only where it matters and making the most of them at all times. This means having a good balance between memorable music pieces and more laid back tunes that you won’t necessarily remember the first few times you hear them. We even included an option in the audio settings that allows the player to set the music frequency. This would effectively modify the min/max timer values for the exploration system.
On Assassin’s Creed Valhalla we ended up splitting music in various ways depending on the system and using silence in some places to let the game breathe in. For systemic gameplay, a simple random variation system was used. Ranging between 1 and 3 variations per type of gameplay.
Exploration music is separated by region. Each region has many variations for daytime, one for nighttime and a special one for subdued territories (more on that later).
For the fight system – by far the most used mechanic of the game – we decided to do things differently from other Assassin’s Creed games. The system was designed to run in parallel to everything else. Meaning that the State Group behind the fight system is always being driven by the game regardless of what context the player is in, giving me the flexibility to decide how to handle fight music per context. Technically, we could have decided to add fight music to dialogues and plan transitions from fight to dialogue directly in the dialogue music and vice versa. The fight music is implemented in many of the subsystems: exploration (normal fights), sandbox (intense fights), awareness zones (disguised and restricted areas), quests, assaults, big battles, raids, boss fights. All these systems use the same basic State Group for fight in conjunction with feature-specific Game Syncs.
Provide Feedback To The Player Through Music
Ok this might seem contradictory: if an immersive music experience means the music taking a back seat and not sticking out too much, how can we use music as feedback? I think we need to see music as passive feedback. It supports whatever is happening on screen and sometimes supplements it. Let’s take for example the Restricted Area music system.
Overview of the Restricted Area stealth music structure.
The system is made up of two main parts: stealth music (using the vertical technique) and fight music (using the horizontal technique). The stealth music is split into 3 intensities that each give direct feedback of the danger level the player is facing: no guards near the player (no music), guards nearby (low intensity) and guards are alerted and searching for a threat (high intensity).
We use a system that averages the stress of guards in a radius around the player to feed an RTPC that drives a switch to finally select which intensity to play. I then simply apply a crossfade when switching between layers.
Transitions between different intensities are seamless. Rule #4 waits for next grid before fading out the music to silence.
The fight system also provides feedback to the player by responding to the current state of the fight system: actively fighting, cooldown (either because the player is hiding or the player killed all NPCs that were actively fighting, but some enemies might still be close by), hidden (outro state, the player successfully hid from enemies long enough that they stopped searching) or win (outro state, the player killed every NPC around them). Note that the fight music in Awareness Zones is shared between Restricted Areas and Hostile Areas. Therefore, the fight music is not inside the Restricted Area structure but sits underneath the common parent, which is the MUSIC_FreeRoaming switch container.
Zooming on an AwarenessZone fight variation.
Additionally, we use an RTPC of the time in fight to trigger a different outro segment in conjunction with the hidden or win state.
In a restricted area, it’s pretty easy to always match the intensity of the gameplay because the player’s actions are predictable and the possible scenarios are limited. In the open world though, it can get a bit more complex.
Match The Gameplay Intensity Level
The challenge with music system design in a systemic open world game is that you never really know what the player will do next. There are different types of players with their own unique playstyle, but they will all be playing the same game with the same systems. Matching the gameplay intensity then becomes a challenge because creating a responsive system can lead to the mickey-mousing effect (music that changes state very quickly and often sounds a bit cartoonish). Let’s take a look at how we approached this problem on the game with the exploration music system:
Overview of the sandbox switch container with the exploration and sandbox fight children containers expanded.
Here’s the general concept: exploration music is controlled by a script that triggers the exploration music in two cases; 1) a timer has expired or 2) a condition has triggered. Note that there also is a timer on the conditions so that if a condition is met repeatedly, the exploration music can’t play twice in a row. There are unique cues for every region of the game (Rygyafylke, East Anglia, Northumbria, etc.), each with at least 2 variations in daytime, one variation for nighttime, plus a special variation when a player completes the storyline attached to the territory.
When starting work on Valhalla I remember reading an internal article that stated that around 80% of fights in similar games had a duration of just under 1 min. This means that in 80% of cases you don’t even have enough time to properly start and stop your combat music. By the time the intro has finished, you already have to transition to the outro. And if you add some buffers to avoid the mickey-mousing effect, you can end up with more than a minute of music even for short fights. That’s a recipe for ear fatigue. For this reason we decided to split the fight in the sandbox context into two categories: normal and intense.
A fight qualifies as “normal” if the total threat points (we use a ThreatLevel system that calculates a threat value based on the archetype, the level and the number of NPCs actively fighting the player) remain below a certain threshold. A normal fight will have the effect of making the fight layer of the exploration music kick in, but only if exploration music is already playing. If no exploration music is playing when the fight begins, no music will play. This design ensured that quick and easy fights wouldn’t trigger music and thus avoid starting and stopping music quickly. There is an exception to this rule: if 3 or more enemies join the fight, the exploration music will be forced to start with the percussion layer on.
Every exploration cue has a fight layer that can loop, as pictured above.
Now an intense fight in the sandbox context will trigger a whole separate system very similar to the one in a restricted area. This music will start whether exploration music is playing or not and is the same across all territories. When this music comes in, the player instantly knows they are facing a tough fight.
Overview of the Sandbox Intense Fight system.
What I like about this approach is that we minimize unnecessary changes while maintaining a good match between the intensity of the music and the game. It ensures that heavier fight music only triggers in conditions where we know it’ll have enough time to play.
It is also a good way of communicating to the player what is happening in the game. But what if we want the player to be able to directly influence the music in the game through their actions?
Support Player’s Actions
For this topic we’ll examine what we call “Disguised Areas”. For context, in case you haven’t played Assassin’s Creed Valhalla yet, these are areas where the player (as a Viking) is not welcome and will be seen as a threat. The difference with regular “Restricted Areas” is that the player can wear a disguise to avoid being attacked on sight. This kind of area promotes stealthy gameplay as any reprehensible action may lead to getting caught and starting an open combat with guards. They can in turn call for backup using church bells.
It was important for us that the player feels the threat in these areas by making the music react to any potential threat the player would face.
We decided to go with a system that uses three layers, two of them controlled by RTPCs assigned to the volume of the music segments: base layer, reprehensible actions layer and stress layer. The base layer, as the name implies, is what plays at all times. Well not exactly… If no guards are within a certain radius of the player and have no line of sight on the player, the music fades out after a while to avoid ear fatigue.
Overview of the Hostile Area system structure.
The three layers are what makes the music very dynamic. The custom cues are the moments where the music is allowed to fade to silence when no guards are around.
When the player either assassinates a guard or carries a dead body around, the “reprehensible actions” RTPC value goes up. This in turn would increase the amount of percussion in the track, giving it more of a thriller feeling.
The RTPC assigned to the “stress” layer is driven by proximity to guards or when a guard sees the player and goes to investigate him/her. This would increase tension in the music by adding instruments.
With the three layers combined, it makes for a very dynamic soundtrack that the player can directly influence based on their actions. It also gives good feedback to the player of the amount of danger they are facing.
Support Narrative Through Sandbox
Some more subtle features of the music system also contribute to highlighting the progression of the player in the game and reward the player by introducing new music throughout their journey.
A key concept of Valhalla is hostile vs. subdued territories. The concept is that the player creates alliances with the leaders of the territories in England, and in doing so, the territory becomes friendlier towards Norse people and the player’s clan. To highlight this important change in context, a special variation of exploration music is unlocked for that territory. This music will be triggered to play the first time right after the final quest of that territory arc is completed. It will then replay following the same conditions as described earlier. Additionally, the menu music also changes when the player is in a subdued territory.
Another important feature of the game is the settlement. The player can grow his/her settlement by adding new buildings as their Renown Level increases. This reflects the player’s importance in the England territory. As the level increases, the music playing in the settlement becomes more and more full and fleshed out. By the end, the player is welcomed by a lush piece of music every time they enter their settlement.
Overview of the Settlement music using the Renown Level as the driving factor.
Having flexibility is great, but it also comes with increased complexity. The single biggest challenge with these systems is the handling of transitions between them. How do we define the priority of each system? How do we plan transitions between all systems? Our approach to this was twofold: using a priority system in the game engine for core systems and using a ducking system in Wwise for other systems. HDR was also used sporadically to highlight more iconic moments in the game. Here is the schematic we used to define the priority between these systems:
I hope this article gave you a better view and understanding of the music systems on Assassin’s Creed Valhalla. I also hope this information will be useful to people working with music and maybe even inspire some to try new approaches to interactive music.
Stay tuned as another article is on the way. This time we will dig into the Dialogue Music System of Assassin’s Creed Valhalla and talk about the tech involved.