Practical Guide: How to Make Music for Your Video Game
If you're an indie game developer sick of searching the web for commercial-free music that doesn't fit your game and doesn't want to spend money on a composer, you've probably explored making your own music.
After all, it's personal since nobody knows your game better than you do. That's on top of the plentiful benefits of being your own composer. Just ask Toby Fox or Dan Salvato.
As you've noticed, most tutorials offer approaches that come off foreign from talking in music theory or notation terms which can be overwhelming for a noob composer.
A practical approach is needed. Applied correctly, you'll gain an advantage over developers lost in the sea of royalty-free music packs. You'll be able to apply these steps even if it's your first time making video game music. I'll even create a piece of music using these steps.
Overview (Table of Contents)
First, this post assumes you already have software and/or technicalities to create music (a DAW, knowing how to navigate/edit within your DAW, or the ability to input notes or record an instrument). This post also assumes that you have little to no music theory knowledge and focuses primarily on referencing.
Here's what we'll cover (click to jump):
Note that steps 3-5 can be resequenced depending on what you come up with first. Let's take a deep dive into each step.
STEP 1: Reference 3 Songs!
When thinking about your game music, how are you selecting songs? More importantly, what exactly are you listening for that makes you pick certain songs?
In my experience, the way devs approach referencing is usually; "here is a list of songs in the style/mood I'm looking for. Have fun!"
Of course, good composers are trained to handle this, but for creating your own vgm, you'll have to get a little more specific.
YouTuber Ethan Becker's "3 Steps to Instantly find your [art] style!" video offers the perspective you should have. (recommended watch if you're your own artist):
Ethan takes one individual element between multiple references then combines them. We can emulate this by listening for specific musical characteristics such as:
Texture - Texture is how the song feels and sounds at any given moment (delicate, open, harsh, brittle, calm, etc.). This is slightly different from genre or style and is usually what game developers listen for when picking their music.
For ease of understanding, Texture is simply the background elements or groove of a track without the melody (or bass, depending on your preference). The Texture is usually the Tempo/BPM, use of instrumentation, dynamics (fancy word for volume), and intensity of the track.
Melody/Bassline - Like Texture, a melody/bassline can sound bouncy like Undertale's "Snowy" theme:
Or frantic/chaotic like Kirby Squeak Squad's "Having Fun Outside" melody:
Forcing used melodies to conform to new Textures is an excellent way composers mix references without plagiarizing while keeping ideas fresh. Combined with melodic development and countermelody, it helps creates originality.
Chord Progressions - Pretty self-explanatory. We've all heard exciting and powerful chord progressions. Again, combining this with Texture will help to make your music more unique. If you don't know a lot of music theory to transcribe chord progressions accurately, keep reading.
You can also reference other things like roadmap/structure, drumbeats, intros, etc., but the three above is where we'll direct our focus.
Here are the references we'll use:
"Final Fantasy XIII - Lightning's Theme" (for Texture)
"Kirby's Adventure - Fountain of Dream" (for A Section Melody)
"Persona 5 Strikers - What you Wish For" (for B section Melody)
"Legend of Zelda (BotW) - Koroko Forest" (for chord progressions)
I'd recommend building a list of go-to references for quick access until you get comfortable making your own music. Honestly, creating a bank of references for each game can help to keep your game's soundtrack cohesive, but we'll save that for another post.
STEP 2: Plan Out Your Roadmap!
Roadmapping refers to the structuring of your song. Some refer to this as the layout or charting (ex. Verse, Chorus, etc.). Video Game Composers structure their songs differently depending on the developers' intended duration, intensity, and/or special requirements.
Most video game music conforms to a straightforward Roadmap starting with an Intro (usually between 2 beats and 2 Bars), goes into an A/Main section (8 bars - 16 bars), then to a B Section/Chorus Section (8 bars - 16 bars).
From this, composers add, extend, or repeat sections to manipulate intensity or reach a definite duration (usually 1-2 minutes). Regarding adding new sections, composers will add build-up / cool-down sections or ending sections specifically designed to loop back to the main section as needed.
The primary goal in this stage is to determine how long you want/need your track to be! Some prep work is always essential.
For our demonstration, I'm aiming for one minute. We'll use 1 bar of Intro, 2 bars of non-melody A Section, 8 bars of A section, and 8 bars of B Section that will loop back into the A section. If able, this would be an excellent time to add in Markers/stamps in your DAW:
Adding an intro is common but optional. However, it can be helpful depending on the context, the most obvious example being a battle theme for a sudden encounter.
If you decide to use an intro, there are generally three approaches determined by the intensity of the Intro compared to the intensity of the main segment (verse / A Section):
Sudden / Explosive - The song starts with relatively high intensity then softens to the main section (your verse). Suitable for battle themes or sudden encounters.
"Pokemon Let's Go Pikachu/Eevee - Trainer Battle Theme"
Soft / Suspenseful - Song starts softer then builds into the main section. These intro types may be longer in duration than Sudden and Leveled intros, making them perfect for extending the song's duration. Great for cutscenes and cinematic storytelling.
"Shantae: Half-Genie Hero - Risky Boots"
Leveled - Keeps the intensity relative to the main section of the song. Often only adding a melody to existing elements without much anticipation. Useful for Levels and Stages.
"Kingdom Hearts - Destiny Islands"
A and B Sections
At this point, you'll want your main referenced Texture to come in along with the main melody for the A section. Video game music sections are generally charted in 30-second intervals, which means that each section should be hitting around 30 seconds in length.
This isn't a stone-cold rule, as there are plenty of examples that break it. Use this as an indicator of deploying/delaying your B section or add something to spice up your track to prevent it from getting too repetitive or too sporadic.
Section B's Texture needs to enhance or contrast Section A's Texture. The easiest way of doing this is using different chord progressions (anime chord anyone?), introducing new instruments/layers, or increasing the intensity of sections. This is partly why B sections tend to act as a chorus section in game music.
TIP: Feel free to reference another song altogether for B Sections.
STEP 3: Replicate the Texture!
It's time to write! For this stage, you'll start by "copying" the Texture from your reference, then you'll ALTER the copy. The more music theory you know, the more it can help you here.
Start by listening for instrumentation and when they're playing (rhythm). Take note of your current project's BPM and adjust to match the BPM of your reference, making this process easier. You just want a few bars to copy. Lucky for us, our Texture is simple.
Altering the Texture
After successfully copying the referenced texture note for note, it's time to alter it. Here are a few suggestions with demonstrations:
Swap Directions - This works best if you're working with an arpeggio (when chords are played separately instead of played simultaneously). If you have a texture with an arpeggio (like we have), try swapping the direction of the arpeggios while either maintaining the same notes, reversing what you have, or even using new notes that sound good.
Add/Subtract Notes - Either in the baseline, the chords, or the drums, you could add notes if you notice gaps in elements of your Texture, or you can take away notes if you think your Texture is a bit too busy for what you're after.
Change Instruments - Different instruments sound different. Simple, right? Something to consider is an instrument's ADSR Envelope. All this means is how an instrument handles a single note.
For example, a Flute can hold a note as long as a player can blow into it, but Piano and Guitar fade out over time. A Pad usually fades in and sustains, but a snare drum hits once and can't hold notes without rolling.
If your reference uses an instrument with a particular ADSR Envelope, swap it with an instrument that has a different ADSR Envelope. This will usually add or subtract from the intensity, forcing you to add or subtract elements within the piece.
TIP: If you're interested in how I chose the elements I did, I'd recommend my article on Counter Melodies.
STEP 4: Create the Chord Progressions!
Now that we have our base Texture, we can fill out the Roadmap from Step 2. As mentioned, forcing the Texture to conform with new chord progressions will make your music take shape.
(You may find yourself inspired while doing this and tweak things accordingly.)
If you can identify chords and scale structures, all you need to do is transpose your created Texture to the chord progression reference accordingly. If you have no music theory knowledge, you can emulate this through "Chord Matching."
"Chord Matching" is very similar to copying and altering our Texture. We're now copying the chord progression from our reference (without altering it). Chart out the chords you're hearing and place them on another track.
Sadly, music theory would still be a good time investment to speed this up if you're not too comfortable here. However, you can bypass Step 4 entirely by utilizing a little tool I made for this practical approach.
(click image to learn more)
The Video Game MIDI Chord Pack contains 200+ MIDI files that allow you to mix & match pre-made chord progressions. You'll be able to create your own chord progressions instantaneously.
(I offer a free version of the chord pack upon subscribing to my newsletter.)
Once you have your chords, you'll want to adjust the timing of the chords against your Roadmap (primarily, making sure your chords work well with the tempo/bpm). Listen back to make sure the chord progressions are flowing the way you expect them to.
Here's our Texture overtop of the chord progressions. You'll begin to get inspired and branch out here. Let it happen, and have fun!
STEP 5: Create a Melody!
You should start to hear your song take shape. All that's missing now is the melody. Though you have a reference for melody (in our case, two), I'd like to share two methods for creating melodies without referencing (or music theory knowledge).
Recording your Voice - Grab your phone's recorder app and hum out a melody while listening to your Texture. This allows your subconscious to tell you what sounds good.
Singing a Word Dump - Grab a pen/paper or note-taking app and write out a bunch of words. Ideally, you want to create lyrics using relevant words to the mood you're writing for. Sing these words overtop of your Texture. Like recording your voice, you'll want to write in the pitches of what you've sung.
The more your words match the mood of the song, the more potent the melody you'll end up creating. (No one will hear your lyrics. You're only doing this for the pitches).
These methods seem odd, but it ticks a LOT of boxes for creating good melodies quickly. It naturally provides Rhythm, Pulse, a good Steps to Leaps ratio, great variation to repetition ratio, memorability, and flexibility. Most of these are what professional composers consider for their melodies.
This works due to "Internal Referencing." When you think of something random (in our case, a melody), your brain isn't exactly generating random pitches. It is subconsciously manipulating other melodies you've heard in the past.
YouTuber "Jonas Aden" offers another method:
His trick is to reference the baseline and chart out notes for the melody that are 3,4,7, or 10 steps above the base, filling out space in-between.
Whether you use these methods or your reference, the goal is to have something to work with to flesh out your melodies to fill out your song. This is where Melodic Development comes in.
First, this is a study in itself. Deep diving into this field will take you days as there are thousands of ways to work with a melody. However, the ABSOLUTE first step is to identify a motif.
You may be familiar with "leitmotif," which is a melody that's associated with some in-game element or IP. A typical "Motif" is a short musical phrase that composers manipulate to develop characteristics in music such as Melodies, Baselines, and even Drums.
A general rule for a Motif is a phrase with at minimum 2 different note lengths and 2 different pitches.
For our example, here are the motifs we'll take from our references:
Fountain of Dreams (CUT)
What you Wish For (CUT)
Developing / Altering Melodies
We've selected/identified a motif we like and want to work with. What can we do now?
Repeat It - Sweet, simple, and to the point, and that's precisely why this can be a powerful first step in developing melodies. This simple method is often combined with many other melodic development techniques. How exactly can you get away with repeating the motif without being boring?
NOTE: Noticed how I only shifted the notes in-between the motif? Changing the start/end notes can affect your melody's relationship with the chords, as you'll discover. Be mindful.
(Add Notes to existing Motif)
(Shift Motif Up or Down)
These ideas may seem simple, but Simplicity forms Complexity. Moving on...
Change Directions - Again, simple idea. If your motif travels upwards in pitch, see what it sounds like going downwards.
Increase/Decrease Note Lengths - This method is geared towards rhythm. If you have a note playing for 1 full beat, try increasing it to 2 beats or decreasing it to half of a beat. You'd do this relative to the notes in your phrase.
Again, If you've read my article on Counter Melodies, Increasing/Decreasing Note Lengths is where Rhythmic Contrast comes from.
Some combinations may not flow together well upon playback. You can fix this by adding what musicians call "Pick Up Notes." Think of these as transitional notes into different phrases. It could be one well-placed note, or it could be a small phrase (sometimes called "ornaments" or "flourishes").
It can be hard to believe that such simple methods have helped thousands upon thousands of professional game composers (some don't even realize they use these methods). As stated, Simplicity forms Complexity.
"What happens when I've exhausted my motif," you ask? The answer is precisely that! You've exhausted THAT motif. You can grab another motif from a new reference (or a different point in the same reference) to find a new one.
Another motif may be lurking in your current melody, especially if you've been adding Pick Up Notes. Your gut instinct could take over and you might even find yourself composing without a motif.
This scenario is relatively common, meaning that it's not uncommon to use multiple motifs like how we're doing with our two melodic references. Speaking of, here's our final.
You may have noticed that some of the tricks here mirror stuff in Step 3. That's how powerful Melodic Development is! These concepts can translate into various elements of music. We've barely scratched the surface as the topic alone warrants multiple blog posts, but this should be enough to get you a melody.
Final note. I want to stress that you don't have to strictly follow each technique as I've done. This is YOUR music. Deviate from this entire post as much or little as you want. These are just "guidelines" to help push you in the direction you want to go.
You should now have the ideas and mindset you need to start composing! The teachings in this post allow you to listen more critically to your favorite tracks, which open the door to new ideas for further developing your game's soundtrack.
Once you've gotten comfortable, feel free to share your tracks with us down in the comments. Also, share this post with any other game devs thinking about making their own music.
There's so much more to explore in creating video game music. If you want to dive more into the realm, my newsletter is an excellent place to start! It's also where you'll get the free version of the Video Game MIDI Chord Pack if you struggle with creating/referencing chords.