Sound Horizons #2 - Writing evolutive music


Alright, it's been a month since the previous entry. I since started to write music for the game. My intentions were to complete it before showing you the result. But, without surprise, it turned out to be a long task! So instead, I'll show you now some of the progress I made. That's right, this is now a music writing devlog (again)!

Finding the right pace

Actually there's some game-design element to discuss. Because Sound Horizons is a rhythm game, music is not only ornamental, it is a core game element. Thus, working on music is also working on level-design. They are basically the same.

Sound Horizons being a proof of concept, the single level I intend to make for it should be both accessible to most players, but also eventually a bit challenging in order to show the potential of the game. To balance its difficulty, I have one main lever: the pace of the rhythm. One Colorful Grid, Sound Horizons' prototype, had a song of 110 BPM, and was asking the player to react on the beat (quarter notes). This resulted into a nervous challenge, keeping you tense during the whole game, with thrilling sensations! But it also meant that your very first attempt would look like this:

One Colorful Grid first (unsuccessful) attempt
Instant failure

Right at the tutorial section, everything goes really fast, and you barely have the time to react before you lose and get thrown back at the start screen! For the few play sessions that I witnessed, it took several attempts to every players before they figured out what they were supposed to do. The tutorial in Sound Horizons will be smoother, but still, I don't want to greet players with a failure right away.

However I don't want a slow paced tune either. That would actually make the game more challenging (If you played a lot of rhythm game, you know that it's harder to keep the beat when it's too slow). Plus, I eventually want to play with quick succession of notes to provide interesting challenge. So instead of simply reducing the BPM, I decided to announce the hits 2 beats beforehand instead of 1. This means that the player will play on half notes. Giving them way more time to see the note coming, and prepare to hit it. Good news: the Unity development I did so far is already modular enough to let me configure this!

This decision comes with some consequences though. While it gives the player more time, it doesn't mean that the rhythm challenge is easier, especially at the end. One advantage of quarter notes is that the player had to react almost immediately, and thus could rely on the sound with confidence. Here, with four whole beats playing before the user input, long patterns are harder to memorize. Especially when they begin to overlap with the player's notes! Also isolated off-beat notes are a nightmare to apprehend, you really have to be focused to hit those correctly. So I cannot do patterns as complex here than those of One Colorful Grid: I have to take into account that, past a certain limit, the player can no longer pay attention to the music. I also regret that we lose the feeling of repeating a melody. After waiting 4 beats, you don't feel like playing in unison with another instrument.

But I'm now too far in the music writing process to go back. Plus, as I stated, it is a requirement for making the beginning of the game more accessible! I'll have more fiddling with difficulty and patterns to do later. Maybe I'll also add the One Colorful Grid level as a bonu?. After all, it's already functional! I enjoy its fast pace, so it would be cool to have it in this demo.

Anyway, we know that the song must be a bit slow, with an emphasis on half notes, but energetic enough to play fast patterns as the level progresses. Which style of music could fit with these rules?

Ya like jazz?

Wile One Colorful Grid used a basic electro chiptune to allow simple procedural melodies, this time I want something a bit more complex. I have a specific inspiration in mind, one that fascinates me and that I deeply want to translate into a game experience. It's the song Oban, by Jaga Jazzist.

I already used this as an inspiration in Echoes Traveler. I really dig the style of this group, all of their works are incredible, and I can't recommend you enough to listen to their latest albums Starfire and Pyramid. This song in particular fits really well into what I'm aiming for: it is full of energy, with fast percussion, yet its melody is a slow motif, and its BPM is not that high. It's also a prog song, which is exactly what Sound Horizons will need!

Other sources of inspirations include Shinkansen (Jaga Jazzist), Egyptian Queen (Laurent Coulondre), Chorus (Justice), and Rotation (Herb Alpert). They are all mix of electronic and jazz, with a dramatic chord progression that you cloud listen forever, strong drums, and an evolution that gets more and more intense.

The first thing I had to find was the chords. They will be playing in loop for the whole game, so they'd better be interesting to listen to! The way I proceeded is I first searched for an melody, then played it slowly to base the chords on it. I thus wrote first only a bass, playing slow notes every two bars. I eventually ended up with a song in Eb Dorian. A minus mode is perfect for something both epic and tense! Although it actually becomes major for a brief part. In the end, I obtain a neat succession of chords that last 8 bars, and found 4 different variations to spice it up.

But the structure of the song needs also to be written vertically! In the level, the player will reach several sections, corresponding to different levels of difficulty. Thus I need to know how many there will be, in order to balance the intensity. If the song goes wild too early, it will be difficult to make it louder later! I've thus established that the song will require 6 (and a half) layers:

  1. Introduction, a tutorial that will teach the player one note a a time, on half notes
  2. Real beginning of the game, gently introduces to quarter notes
  3. Gets a bit spicy with eighth notes, but those are only placed just after or before a beat
  4. Introducing off-beat eighth notes (those are tricky!)
  5. Last layer, everything is mixed into long patterns
  6. Plays after the player has beaten the level, a triumphal conclusion

Between the layer 5 and 6, there will be a special section for a last survival challenge before the end.

Those layers will mostly get crescendo. Quiet on the first, then more and more powerful in the following ones, to finally reach climax at the end.

So, that leaves us with 4 sections of 8 bars each, on 6 layers. That's a lot. It might be the most ambitious soundtrack I've written (next to Echoes Traveler). The most efficient order to tackle this is to start working on all the layers first, then complete the sections. So for now, I'm only working on the first section in order to write all the layers. Once this will be done, it will be easier to do the 3 remaining sections using what's already be done in every layers.

Humble beginnings

The first layer should be minimalist and quiet, in order for the player to really focus on the action. However it must still introduces to the main melody, and also have an emphased rhythm that the player can understand. Thus I started with the drums. They must indicates the half notes so that the player gets a sense of when they must hit.

Writing drums is one of the part I have the most hard time doing correctly. I'm not a drummer (although I started to learn it last year), and most of the time I find good patterns only through trial and errors. Plus, finding good virtual drum kits on Linux is not an easy task. I'm composing with Waveform, a DAW that I find really satisfying. But for drums, I have always been using the same VST for years. I'm getting tired of how they sound, and want something more appropriate for this song. Especially, I didn't have any electronic drum kit, only acoustic ones! Kinda limiting. A significant amount of work was thus dedicated to find good free drum kits, for Linux. I eventually found Hydrogen, a pretty good drum kit machine, that I was able to use with LSP Multisampler, a plugin for Linux. From this, I used the Blonde Pop kit which, while still acoustic, provides a vibe that fits well with the song of Sound Horizons.

The rest of the first layer is only made of a bass, and some kind of organ that play the chords. Very few instruments, but the music don't need more yet! Listen to the first layer here.

I've actually written additional instruments, but they were making that layer too much crowded already. So I used them for the second! Still quiet, but with a bit more energy. It has the same base as the first layer, but with added strings, and a faint organ playing the notes Ab, Bb and Eb (a chord I found early in composition, that gives to the song its core identity). The drums gets also stronger, with a more filled pattern that enrich the previous one. Listen to layer 2.

Shifting tones

Although layers 1 and 2 sounds very alike, starting from layers 3, each layer should be different from the others. While I could just add more and more instruments each time, I find it more interesting for the song to have a real progression with several recognizable parts. It just creates a better paced journey!

So for layer 3, I dropped some of the previous instruments, keeping only the drum part and the strings. This layer is where the game starts to get difficult, so the music should gain some strength here. Thus it has a high pitched organ playing the chords on top of everything, as well as a louder bass that is close to some kind of horn. Also, in order to let the song breath a little and make it feel more "alive", I added an acoustic instrument: the guitar. It plays a very basic pattern, to not distract the player too much, but still giving this layer its own identity. Listen to layer 3.

Then comes layer 4, which completely changes tone! Here instead of rising the strength and intensity, we set it way down. Why? Because this is the penultimate layer, the one before the climax. So we lower the power in order to better rise it up later! Think of it as some sort of coda, a sudden break in the song that add a welcomed change. So for this layer, I changed the drum into a new kick pattern and a light hit-hat playing on quarter notes. A synth is also repeating a fast paced motif, to keep some tensions, and prepare for a more electro section that will come next.

As for the instruments, I went with a moody piano and a bell, again to give more acoustic instruments to the music. Remember though, this layer is the one that introduces the player to off-beat eighth notes. Thus, to help them with that, the bell plays exactly on those. As for the piano, it has a delay of 3 eighth notes, an interval that I will surely use in this level. Listen to layer 4.


And that's how far I got! I have two layers left (plus the "extra" one), and then I will be able to extend each one of them to 4 sections. It might take a while, given the, um, recent Zelda game, as well as other projects I'm working on. But I'm pretty optimistic. Starting the writing process was the harder part, but then I've been able to make the layers quickly! So it doesn't seem that much daunting anymore. See you then for the remaining layers!

Get Sound Horizons

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.