4.07.2007

Dynamic music and World of Warcraft

Melmoth is annoyed by the randomness of WoW's music and wants it to change according to the situation. While I agree that dynamic music would add a lot to immersion, there are several significant hurdles that make dynamic music hard to implement.

First of all, time and cost. If you want appropriate music for every situation, someone has to compose, arrange and perform all of it. When we are talking about a game with dozens of zones, thousands of subzones and an incalculable amount of different situations, that's a whole lot of music. A lot of video game music, including WoW's, is composed for a full symphony orchestra and a choir. Hiring an orchestra, a choir and managing the logistics of getting them all into the same place to perform your music before the deadline is a lot of work.

However, there have been some instances where games have used dynamic music successfully. Probably the most well-known is LucasArts' iMuse. The reason why iMuse worked was that games of that era used MIDI. The music was stored as notes, not raw sound. This allowed iMuse to rearrange and remix the human-created soundtrack on-the-fly. Nowadays many of the soundtracks undergo extensive post-processing and use vocals. A home computer would have a hard time redoing the post-processing in real time, and adjusting and replicating vocals would be very hard.

So, now we have to settle for the next-best alternative. WoW uses around 3-4 different themes for each of the capital cities, and 6-8 (one set for daytime, and one set for the night) for every type of zone. Each theme lasts less than a minute, and has manually created transition points. Normally the capitals have an intro theme that is used whenever the player enters them, and then the game plays the other themes randomly. In addition, there are some themes that are triggered whenever a player enters a specific sub-zone or activates an event. For example, demon- or Scourge-infested areas have a specific theme. Certain NPCs, like Jin'do and Gul'dan have their own themes. In theory, WoW's system could be extended to include more triggers, like combat, population density, type of enemies and so on. However, there's still the question of time and cost. Currently, Blizzard has introduced more music only when a new raid instance was released. AQ, Naxxramas and Karazhan were accompanied by their own soundtracks. Creating more music for a raid instance is relatively straightforward, since you have a specific theme every individual piece of music revolves around. Adding triggered themes that would not sound out-of-place in any of the zones currently in game is much harder and much more time-consuming, because you have to create a lot of new music.

In the end, the issue boils down to a more generic question: Given the resources Blizzard currently has at their disposal, should they use those resources on creating new content or improving the old? Remember that for most of WoW's history, Blizzard has simply been working on the backlog of content they wanted to have ready for the release, but couldn't finish. When the game was released, some of the zones were blatantly unfinished, like Silithus or Searing Gorge. Blackwing Lair, Ahn'Qiraj, Zul'Gurub, Naxxramas, Caverns of Time, Maraudon, Dire Maul and Karazhan were eventually implemented. Gilneas, Kul Tiras, most of Timbermaw Hold, Grim Batol, Uldum and present-day Hyjal are still missing. Nazjatar and the Emerald Dream are somewhere deep in the backlog (although parts of them are in the game files), with the Black Temple currently occupying the top spot. After the Black Temple is implemented, Blizzard will hopefully finish some more of the backlog and improve Azeroth before setting their sights on the next expansion. Although I do roleplay an ice troll, I'm not in a rush to see Northrend.

2 comments:

Anonymous said...

Take a look at the "Soundtrack" addon.

It is kinda buggy but gets the job done.

Unknown said...

I know of Soundtrack, but copying tracks and running a script whenever you add/remove tracks is quite cumbersome. A better alternative would be to put that built-in iTunes integration into good use.