Any tips on music composition?

I’ve been slowly struggling to learn to compose my music for my games. So far most of the tutorials I’ve tried following haven’t really clicked like the pixel art tutorials I found. Ideally the tutorials wouldn’t be specific to any piece of software but basic composition in general. One major thing I keep coming across is the whole chords and chord progressions used in Western style music. The problem is when looking at sheet music from various 8-bit and 16-bit games there doesn’t seem to be much use of chords due to hardware limitations. I’m currently in the process of also learning to play the piano to some extent as I believe that will help (especially since I have a keyboard with over 100 instruments to play with).

Musical theory will definitely help overall, but I don’t know how deep into that you’ll need to get in order to produce some really high quality video game music. The limiting constraints really help carve out a reduced space with a tighter focus on what you want your music to sound like, I think.

As far as chords go, in older video game styles these can be sort of done with arpeggios.

Another thing I’ll mention is tools (like DAW’s) make the job SO much easier due to having so many built-in features (I’m sure you know already, but just saying).

I’ll also mention I’m worse at music than I am at game-dev. So :laughing: salt?


An advice from another rookie in music composing: Take short songs from existing games and try to reproduce them yourself with FMStudio.

I am not a huge believer that music theory studies could help much but I can be totally wrong. I have heard the there are people playing in the rock bands without any understanding of scores :stuck_out_tongue_winking_eye:


Those are some good suggestions. I had been shying away from simply trying to recreate other songs in FMStudio because I wanted to focus on writing my own pieces. However, thinking about it I think trying to create a similar sounding tune (especially interpreting all the different layers) would help with translating a tune in my head to a tune on the computer.

I’ve also been thinking about properly studying how to play the piano (at least to a beginner level) which might help when discovering some melodies.

Continuing my endeavors of learning video game music composition. I found a few sources talking about taking a simple 2-4 bar melody and repeating it with only a slight variation (maintaining the same feel of the melody but with only a subtle difference).

Here’s one I made that sounds pretty good:

As you can see the two 2-bar melodies are nearly identical except for two small changes. The first note was broken into two eighth notes with the second raised one semitone and the final note was also raised up by one semitone.
Here’s what the two sound like:

After then adding some chords and using a large bell (reminds me of a church bell) for the bass and a theremin for the rhythm I was able to put this little bit together.

I wanted to try making a short music loop for the main menu of Prelude to a Dream that follows the tone of the overall story better. I wanted to make it slow but not sad and not happy just kind of floating in a dream with a touch of mystery. I also didn’t want the loop to be very long because the player doesn’t spend too much time in the menu and I wanted it to be very repetitive.

1 Like

Here are my subjective impressions. I like the melody overall. The very last long note in the melody sounds a little off to me in both songs. I would make it much lower. But as I said, this is a subjective opinion. Reviewing music is even harder than reviewing graphics in my mind. :man_shrugging:

In the second example the background sounds good but the bell/gong is too dominating. Maybe to make it quieter change the instrument or left out. What are the instruments used?

Interesting thoughts. I tried lowering the note and found it doesn’t quite fit the mood I was going for. Having that upper note at the end to me keeps it melancholy but with a happy note.

I don’t remember what instruments were included in the latest release as I’ve been making new ones.

Here's the Crystal
#pragma once

FMSynth::Patch patch_Crystal =
  .algorithm=11, .volume=55, .feedback=50, .glide=0, .attack=20, .decay=54, .sustain=60, .release=70,
  .lfo={.speed=0, .attack=0, .pmd=0},
    {.level=23, .pitch={.fixed=false, .coarse=1, .fine=0}, .detune=50, .attack=0, .decay=0, .sustain=100, .loop=false},
    {.level=68, .pitch={.fixed=false, .coarse=1, .fine=0}, .detune=58, .attack=24, .decay=36, .sustain=62, .loop=false},
    {.level=62, .pitch={.fixed=false, .coarse=1, .fine=0}, .detune=61, .attack=0, .decay=0, .sustain=100, .loop=false},
    {.level=61, .pitch={.fixed=false, .coarse=3, .fine=0}, .detune=100, .attack=0, .decay=0, .sustain=100, .loop=false}
Here's the Bell
#pragma once

FMSynth::Patch patch_Bell =
  .algorithm=5, .volume=50, .feedback=50, .glide=0, .attack=5, .decay=70, .sustain=0, .release=55,
  .lfo={.speed=0, .attack=0, .pmd=0},
    {.level=100, .pitch={.fixed=false, .coarse=2, .fine=0}, .detune=50, .attack=0, .decay=70, .sustain=0, .loop=false},
    {.level=0, .pitch={.fixed=false, .coarse=2, .fine=0}, .detune=70, .attack=0, .decay=0, .sustain=100, .loop=false},
    {.level=33, .pitch={.fixed=false, .coarse=1, .fine=60}, .detune=50, .attack=0, .decay=0, .sustain=100, .loop=false},
    {.level=0, .pitch={.fixed=false, .coarse=0, .fine=12}, .detune=50, .attack=0, .decay=0, .sustain=100, .loop=false}

Need to see how it sounds on HW before I make any changes to it since some instruments can get quieter on HW depending on their frequency range I’ve noticed.