How to make music for your indie game
Introduction
Game music plays a huge role in generating the correct feel for a game. The best soundtracks help transport the player through the game world.
But how do you make music for games with zero prior musical experience.
In this article I discuss my journey into an unknown world to me, the world of game music production.
It’s important to note that I am obviously not an expert, not even close, this is a guide written by the opposite of an expert; a diary of how a music novice went about creating songs and ended up with something passable like this.
My hope is that my experience can help others in the same boat.
Contents
- Why make the music myself?
- My target music style
- Training my ear
- Selecting music production software
- Understanding the LMMS Interface
- Attaining realistic instruments
- Deconstructing Croc
- 20 Songs in 20 days
- Random approach
- Planned approach
- Chord progression approach
- Which instrument to start with
- Conclusion
Why make the music myself?
The first thing I want to briefly touch on is that probably the easiest way to get past this problem is to outsource it to experts.
So, why bother?
My current game project, Chaos the Devil, is a completely self designed project written atop my custom engine. I use my game projects as a way to learn in an applied environment. Music production is a side to game development I have only touched briefly and I want to expand that knowledge.
My target music style
Chaos the Devil aims to emulate the feel of PS1 3D platformers such as Croc and Crash Bandicoot. Soundtracks from that time are classic. However, they are simple compared to todays full orchestral game soundtracks.
I have never written any music before, and I’m not about to hire an orchestra. My hope is that this style will be an achievable challenge, not too complicated but still not at all easy.
Training my ear
I started with the basics, trying to get a basic appreciation of the target style. For months, every time I had chance to listen to music, I would listen to PS1 era soundtracks.
Buying food in the shops, I would rock out to Rachet and Clank.
Trying to hush my babies to sleep, I would be listening to creepy Croc dungeons
Walking to buy my 100th daily coffee, I would listen to Spyro.
While listening, I challenged myself to break down the songs, notice patterns and identify instruments. The hope was that I might be able to emulate the musical tricks.
I expanded this by focusing on a different instruments.
Trying to answer:
-
what sort of beat was it doing?
-
Was the sound something that looped?
-
How often did it loop?
-
How many notes did it have?
-
Was the tempo slow or fast?
Some instruments were easier to understand than others. e.g. I found melody and percussion simple, but bass and background elements much harder to isolate.
Patterns started to emerge:
-
Songs were about a minute long, shorter than I imagined.
-
Instruments mostly had two tune patterns that would play during the song, switching at different times.
-
Songs felt like they would deconstruct at points. Some instruments muting while the main melody continued, then return.
-
Instruments could steal the melodies from one another.
-
Instruments could do what I thought of as a call and response style for the melody. One instrument would play a tune, the other would respond.
- The songs were matched in mood to levels:
- creepy
- happy
- grand battle.
- There were environmental sounds mashed in with the music, such as birds singing or water running.
Selecting music production software
I don’t play an instrument and I don’t have any recording equipment. I needed a software package that could help me out.
When I was a kid I remember getting a demo on a CD of a software package for creating dance music called DanceEjay. What you would do is grab little predefined music loops, and place them on a timeline to make what you would then say is a song. I was hoping to find whatever the modern equivalent might be.
After some googling, I found out that what I was looking for was a DAW (Digital Audio Workstation). This post is not going to go deep into DAW options (there are loads), I will just skip straight to what I used.
LMMS is a bit like the DanceEJay, a place blocks style production. One difference, you also write the blocks. Good on the one hand that the songs made will actually be original songs, but bad as I had no idea how to do that.
Understanding the LMMS Interface
I found a great tutorial series I recommend which gives a great overview of the LMMS interface.
After watching this, I had the basics of how to compose music by placing notes and blocks of notes to make rudimentary songs.
At this stage all songs produced still sounded terrible, but at least I could create sounds.
Attaining realistic instruments
Unfortunately, to this point, every instrument I tried to play with just made me sound like I was making a euro dance song.
Thumping synth bass with synth melody over the top. A million miles away from the sounds of Croc and Crash.
I was finally saved when I started playing with VST plugins. VST (Virtual Instrument) are fancy ways to package presets which focus on creating types of sounds. For example you may have a VST which attempts to create guitar like sounds.
Word of warning here
I found the sites that host these VSTs felt like traveling back in time to virus ridden backwaters of the internet. Click with care!
Deconstructing Croc
Next, I attempted to deconstruct one of the tracks from Croc.
I put a simple click beat on and attempted to get the beats to match the tempo of the song by slowly adjusting the track tempo.
Then, I tried to hear an instrument and copy what was going on.
Finally, I experimented with VSTs to try and get a similar sound.
The result was a track that I would describe as:
obviously supposed to be the same song…
but, some sort of slightly discordant deranged version.
I learnt a huge amount from doing this and was energised to continue to the next step.Though, due to copyright reasons I cannot share the result.
20 Songs in 20 days
Next plan was to create 20 songs in 20 days. The idea was to challenge myself to quickly experiment with song creation and not to get bogged down focusing on one approach.
Random approach
The first songs I attempted followed a very stab in the dark style. I would randomly add notes to a block, listen back and make adjustments that felt right.
By felt right, I noticed that when listening, my mind would conjure certain expectations for what it thought the next notes should be. It probably sounds a bit strange, but I relied heavily on this feeling, and you may be just as surprised as I was that it’s something that you will feel too.
Planned approach
While making my daily trip to get a morning coffee, I hummed little tunes into my phone. Tunes that reminded me of PS1 platformer styles.
I then listen back, and attempted to copy the notes into LMMS blocks. This was far harder than the random approach. Matching the tempo and tone of my humming proved to be much more time consuming and frustrating. However, the approach did produce some good songs.
Scale approach
I was still watching LMMS tutorials during this time and a very useful feature came up. LMMS allows you to select a scale you want for the song. This highlighted all notes in that scale.
For example, minor scale notes gave automatic uneasy sounds. Previously, I was just using the black notes to be creepy, but this new style allowed me to produce much better sounding songs.
Select the scale from the drop down in the top tool bar, then right click on the key you want to base the scale off, here C, and all notes in that scale will be highlighted. |
Chord progression approach
I expanded to more music generic tutorials and not just LMMS focussed. While most of it was way over my head, one easy addition to my toolkit was using correct chord progression.
By following a simple technique outlined in this video LINK my basslines really improved.
Chords added using the chord dropdown from the tool menu. Chord selection dictated by highlighted scale in key of C, followed by applying the Major-Minor-Minor-Major-Major-Minor-Diminished |
Which instrument to start with
A great way I found to keep each song really different was to select a different instrument to start with each time.
The effect was massive. Songs I started with choir instruments produced floaty songs, songs which I started with acoustic drums got an upbeat intense feel.
Conclusion
I successfully created 20 songs in 20 days.
The quality varied hugely.
I feel I was able to go from complete novice, to a place where I feel I now have the start of some tracks for my game ChaosTheDevil.
The hardest part was simply, sitting down, learning the new bit of software and not programming.
I was surprised by the feeling my brain knew how these totally new songs should go. Magically having a sense which notes were wrong and what should come next.
Ultimately, I found the whole experience enjoyable and rewarding, and feel my understanding of gamedev strengthened greatly.
The songs I made are a first pass. I expect to improve them with time.