Trackers and Games

Started by Sam_Zen, December 31, 2006, 00:35:27

Previous topic - Next topic

Sam_Zen

This is a question I wanted to put for quite some time now, and it has a technical nature.
In the early days of tracking the compositions had no other goal than to be played as a piece of music. Soon after I found Modplug Center and the forum again, I discovered, that quite a big group of users had discovered tracking to make compositions for computer-games.
Now, I could guess why this development could take place, because a module is a very flexible thing. Which would be needed, because in a game it's never sure how long the player will stay in one scene, and also in what position. So I wondered how it was done to stretch the module, etc. But it stayed just guessing.
So I ask : What is the default procedure in this, starting with a module, upto the delivery to the game-developers? In the meantime I noticed a certain role for the UMX-format, but that's it. (don't be afraid, I'm not planning trying to be a competitor in this field)
0.618033988

LPChip

Actually, Modules were introduced for one simple reason.

They are small and have all their sounds embedded in the same file.

Don't forget: It all started with music made using code itself. No program was used, the songs were entirelly programmed in assembly. (Am talking about C64 game songs).

On the PC, the same thing happened in the form of PC speaker sound.

The PC speaker was dull so Adlib was created to get the same C64 feeling a bit back... Adlib has its own character of sound, and was used to be background music while the pc speaker was used for the sound effects.

In some cases adlib was only used for the front sound effects with no background music at all.

Midi was introduced to make a song based on 128 instruments which were all modelled on an adlib setting. Midi was quite flexible, and really small, as the sound was embedded in the software that allowed you to play midi.

Most games started to use midi files as it was easy to make, and there was alot of support for it, not to forget, it has small filesize.

The Gravis Ultra Sound Soundcard changed this by playing short samples instead of Adlib Synthesis. The sounds became more realistic and you heard an actual orchestral playing. In time the soundcards wavetables became more high quality and with these changes, the sound changed with it. Midi still is a great and small file, but as music creator, you can no longer guarantee, that the end-user will hear it as you do, because if his hardware is different, or he's using a different soundfont bank than you, he will simply not hear it exactly as you.

Modules have changed this problem. Its an easy method of making music, but the main advantage is the usage of samples. They are small audio clips embedded in the song, which will make sure that the end-user will hear exactly what you want them to hear. Because its not one long recording, the filesize stays down, so its still portable, especially when you put several songs in one song, so they "share" their samples.

For games, the best thing a module offers are the abilities to loop inside a song and allow the coder to skip in the song to another part.

This is the real reason why tracked music was introduced to games. Since nowadays for the big games, the filesize doesn't matter, quality has been given more concern over filesize, and that means that nowadays, a full length compressed waveform is used. (eg. .OGG or .MP3)

----------------

I understand you're looking for methods in making music for games, so lets not end the post here, but also talk about this too. :) I am for sake a game-music developer. :)

Basically, what you want as a composer is to make a small song that then uses a transition to jump back to the start of the song, making it loopable. When done, you can play it continiously and someone could stay on a screen for 15 minutes without hearing silence. Since it can be boring to hear the same small piece for 15 minutes, its your job to give it atleast 2 different sections whitin that looped part so its not too constant. Its preferable to also use different sounds in those parts. Don't just skip from part to part, make them gently slide into eachother, so you don't hear where it changes, but the change makes enough distraction to notice that it has been played for the xth time now. :)

Its good to know how long a user will approx. stay in your loop. If its only for 10 seconds, then you would be a fool to make a 3 minute looped track. Same applies in reverse tho. If someone will atleast stay at a screen for about 15 minutes, you'd not get away with only 15 to 30 seconds of loop.

Do note that in many cases, the artist and the programmer will swap words in order to get the best out of a game and his music. For instance, in an old C64 game called: Aztec Challenge, the song evolves in the level itself. You hear the same loop over and over again, and if you get past a certain section, which can be a matter of staying alive for about 20 seconds, the song jumps to the next loop, untill it comes to the end, which then triggers the game.

In some extreme cases, (think of C64: International Karate++) one song is being played in the back the entire time for the maximum possible time, as it just can't get longer. The song for this game I believe is 20 minutes long. If for some reason the song would get past its end, (happens if you beat the game and require almost all time, and then just wait in the high-score screen) the song just properly ends and then restarts.
"Heh, maybe I should've joined the compo only because it would've meant I wouldn't have had to worry about a damn EQ or compressor for a change. " - Atlantis
"yes.. I think in this case it was wishful thinking: MPT is makng my life hard so it must be wrong" - Rewbs

Sam_Zen

QuoteI understand you're looking for methods in making music for games
Again, it's not my intension to do so myself, I am just curious about the procedure and the techiques to be used.
Nice explanation. I understand now more how the typical properties of a tracker are being used. One option is already present in a
tracker. Of course one can loop the song, but to avoid some intro, one can choose the Restart position to skip that.
0.618033988