GameSpy FEBRUARY 20, 2008 - by Dave 'Fargo' Kosak


Audio engineers Kent Jolly and Aaron McLeran unveil Spore's procedural music generation.

By now you may be familiar with Spore's unique method of generating content: Procedural content creation allows for players to dream up nearly any type of creature, and the game will figure out how to animate it and wrap textures around it on the fly. We've all seen the graphics in action, but what about the music? It may surprise you to learn that the music in Spore is also dynamically generated in real time.

The design team partnered with legendary ambient musician Brian Eno to give Spore a uniquely flavored soundtrack. The dynamic music is especially prominent while users are using the editors to create content - since the game isn't running any simulations during that time, there's plenty of processing power available to create some funky beats.

Sound engineers Kent Jolly and Aaron McLeran walked attendees of the 2008 Game Developers Conference through the process they used to create the dynamic tunes. Much of their talk was fairly technical, but the process itself is fascinating.

The team used a special version of a software tool called Pure Data (or Pd), customized by Electronic Arts and affectionately called EAPd. Pd has a graphical interface that visually shows you events that can be linked together with lines, creating a kind of flowchart to describe how sounds are created. Jolly gave a quick demonstration of how to create a nifty conga drum loop: Gather together some drum samples, use a metronome routine to trigger off a random drum every beat, and loop it every eight beats... presto! Instant drum loop. This was achieved with only a few boxes in Pd.

Jolly loaded up another example that had four different drums, all running the same routine. One touch of a button and he had an instant rhythm section. By changing the random number seed he got a different rhythm every time - he showed off some random seeds that he thought sounded particularly groovy.

Of course, random conga drums are just the start. What about actual musical notes, with pitch? Rhythms? Harmonies and counterpoints? This is where Brian Eno stepped in and spent a week working with the team, experimenting with different sounds, and really trying to push the envelope. On the first day he and the team uploaded tons of samples and programmed the system to randomly string notes together. They spent the second day teaching the system to filter notes into scales and modes, so that it started to sound like music instead of noise.

Jolly played some clips and these early experiments already started to sound pretty good. It sounded like ambient chimes, with a nice beat and a kind of ethereal quality. Later, the team added increasingly complex scripts, capable of switching between keys or dynamically creating counterpoints and synching them up with basslines...

But how does this fit in with Spore?

It turns out that it was simple to integrate Pd with external events. The team created different musical scripts for each phase of the game. When you're editing your creature during the tribal part of the game, you can expect lots of primitive, tribal-sounding drum loops. But fire up the spaceship editor and you'll hear tunes that are more complex or "synthy". The religious vehicle editor (during the Civilization-style part of the game, you can dominate other cultures using military, economics, or religion) contains samples from the London Symphony Chorus.

McLeran fired up the game to show this in action. The creature editor reacted to every piece that you selected. Instruments changed as you switched menus. Short themes played when you added pieces to your creature. And the sounds of your animal were incorporated into the music: add a beak and a bird-like screech might occasionally find its way into your tunes.

The music shifts in tone based on what kind of creature you are building. Add combat accoutrements like sharp pincer claws or vicious buzzsaws to your critter and the music will subtly shift to a minor key and take on sinister overtones.

But above all else the music is very subtle. "We wanted to make music that people would listen to for a long time," McLeran explained. Most of us have been driven batty with repetitive game music, and the Spore team wanted to encourage players to enjoy the content editor for long stretches. Their goal was to create music that wasn't distracting, didn't repeat itself, was playful, and responded subtly to how people were playing the game.

Interestingly, during a game session, the music will initially have a lot of energy and a really strong rhythm. After you play for a long time the game will give the music a more relaxing flavor, slowing down a little and getting more subtle - something that would be easier to listen to for long stretches.

There's also one area of the game where players can edit their own music. When you're at the stage of the game where your creature can build up its own cities, you can enter a city music area. Here you can select from any number of funky backbeats, then add some Brian Eno-created ambient noises. Finally, you can choose an "Anthem" for your city by actually dragging notes along a scale. Jolly showed off his city theme, which used the main riff from Ironman. A version of your city's anthem will play whenever you drop down a new building, build a vehicle, or conquer something. You can share tunes with friends.

The ambient music in Spore has its own unique sound. The game isn't creating melodies with obvious hooks that you could hum along to, nor is it trying. Instead the music adds a flavor to the gameplay. McLeran described creating dynamic music as "a different way to compose", where you're actually "composing in probabilities", using game events to trigger musical variations. It works surprisingly well - we just might be seeing the dawn of a new art form.