Programming Music

Started by
7 comments, last by Hodgman 10 years, 8 months ago

In the game Overgrowth there is a feature where, depending on how dramatically you are fighting, the crowd sound effect will become louder and higher pitched. A lot of games already do similar things with sound but something about how realistically this crowd blends in stood out to me. Here's a video.

There are a lot of possibilities that could branch off from this, like music that automatically gains more instruments based on how tense a fight gets. Theoretically an entire song could be generated for different situations in a game. Have you ever heard of someone doing something like this?

Advertisement

In games like Metal Gear and Devil May Cry the battle music grows louder when you get closer to a fight, yet I have never heard of adding new instruments.

I don't think it would be hard to do, you would just use the value you are using to control the volume to check when to start playing the next instrument.

You would have to check the tempo of the sound so that the new instrument is added at the right time else it would spoil the song, and a artist that can add instruments to a song without going over board.

At this year's GDC, there was a talk detailing how Assassin's Creed 3 did just this. It's not too hard - I'd follow the same method as Scouting pointed out. That or toggle to a whole other segment (which was more complex) but still beat maps and such as to not lose the place in the song. I know Wwise can do this and I believe Fmod can as well.

Nathan Madsen
Nate (AT) MadsenStudios (DOT) Com
Composer-Sound Designer
Madsen Studios
Austin, TX

I liked how Left 4 Dead had different music cues for each enemy that were easily recognizable.

I have to wonder if you couldn't do a similar thing with different instruments for each enemy.

Say one enemy (a knight) may have a theme played on low brass while an archer may have the same played on cello and the wizard on an oboe or piano or something else kind of different from the others.

Certain types my trigger different harmonies, counterpoint, etc. For example, the main music may be block chords with a single melody. This melody played on different instruments would represent what enemy is there, and special enemies might add a counterpoint, a higher harmony, a lower octave, or chord extensions. If your health gets in the critical area (assuming use of standard health based fighting), there might be a frantic, high pitched violin melody or orchestral drums that kick in and pick up the pace. Theoretically, in the middle of a couple culminating fights you would be fighting many different enemies so you would eventually be hearing an entire orchestra represented and variations happen as the fight changes. Of course, this could be made more dynamic, like allowing one looped passage to flow to another after a certain amount of enemies have been defeated to keep the music matching the pace of what's going on.

Just spitballing ideas but that sounds really cool.

dakota - you could do something like that, each enemy group has an instrument attached to it. Quite easy to do in both FMOD and WWIse.

The kind of technical design you're doing, is actually an important part of game audio. We're always thinking of ways of making something stand out by thinking of different uses and ways of implementing audio. We are also trying to convey the mood and function of the story at that point in the game for the player. Sometimes when game play and innovation meet it really makes a difference. Sometimes however they can oppose one another. So prototyping is an important part of game audio programming / implementation to test if something will work before it's sent to engineering for resource allocation.

There are a lot of possibilities that could branch off from this, like music that automatically gains more instruments based on how tense a fight gets. Theoretically an entire song could be generated for different situations in a game. Have you ever heard of someone doing something like this?

Yes this is done quite a lot at the moment among other techniques and tricks. I've used intensity of a fight to drive music by adding more instruments or layers to make the music drive the game play with a more epic feel. I've also used techniques like music branching and real time mixing to create different moods out of the same music. A lot can be done, just think of the ways and reasons to do it.

It's cool when you start doing interesting things in the non-combat music. Here's an example of music that is generative to a certain extent, and with generative mixes to create a very tireless piece of music that can play for a very long time.

Game Audio Professional
www.GroovyAudio.com

The bulk of the crowd sounds to me like streaming the sound of the entire crowd while opening/closing a low-pass filter over the sound depending on the "excitement" level. There might also be some random little one-shot cheers for "color," and probably gain modulation running in tandem with the filter.

As far as the dynamic music goes, this wouldn't be too hard to do on your own, but you'd have to make a sequencer that can synchronize clips to some clock at a given tempo. Take a look at Ableton Live's session view. It allows you to arbitrarily cue clips synchronized to a global clock. This keeps everything running in time, all you've got to do is make clips that work together.

This little demo is OK:

He's swapping out entire songs/sections of differing granularity in real time, but if you try it yourself you'll better understand what's going on. I'm not saying to use Ableton, just copy the way that it works.

Between Scylla and Charybdis: First Look <-- The game I'm working on

Object-Oriented Programming Sucks <-- The kind of thing I say

The effect of adding/dropping instruments was something done in Banjo-Kazooie. In the overworld, instruments would be dropped or added depending on which area you went to, though the music would be playing the same tune. This gave each area a distinctive atmosphere. Here's one such example.

In the case of Banjo-Kazooie it was definitely easier to implement that. The music in the N64 system works like a MIDI sequence that uses sound-banks (samples).

Some information regarding development of audio for the N64 console:

http://n64.icequake.net/doc/n64intro/kantan/step2/3-4.html

http://n64.icequake.net/mirror/www.white-tower.demon.co.uk/n64/

And an interview with Rare composers:

Grant: The actual composing (for Banjo-Kazooie) probably took a couple of days per piece. Then we decided to add all the MIDI channel fading and I had to go back through them and add the various different versions, e.g the underwater fade for the levels with water. The instrument selection was mostly stuff I sampled from existing synth modules. Obviously I had pretty tough memory restrictions, so it was a case of making the best of what I could squeeze in!

And from Grant's website, regarding the music for Banjo-Tooie:

I was particularly proud of Witchyworld, we’d managed to figure out a way of combining two midi files so I had double the tracks to play with, so the channel fades between all the different sections worked even better with more variety.

(I find all these bits of insider info regarding the official console development and SDK very interesting. Not only for audio, but graphics, programming and input as well.)

Here's another example game:

http://www.kotaku.com.au/2013/07/the-other-indie-games-of-pax-australia-muse-by-current-circus/

http://currentcircus.com/projects/muse/

This topic is closed to new replies.

Advertisement