XaiJu
Gruber
Gruber

patreon


Pico-8 Music Tutorial #31 - The Music of Slipways

Slipways was released last week! 

The soundtrack represented a few firsts in my work with Pico-8, so I thought it deserved a tutorial.  5$+ Patrons can download the music cart here.

First, the music adapts to player progress. As your empire grows, so does the music. Jakub and I exchanged many emails on this, discussing loop points, how gradually the music should develop and other things.

Second, the soundtrack is 17mins long, not including loops. When Jakub and I started collaborating, he mentioned that gameplay time was going to be on average 30mins.  So, I knew we needed to fit lots of music into a single cart. Below are four ideas I explored to cram all this music into the game.  Watch the video tutorial to see them in action!

Have any questions? Want me to clarify anything? Please leave a comment below!

1) Slow SPDs + instrument editor

Normally, music in Pico-8 is composed around SPD 16.  32 rows at SPD 16 can represent one bar of music in 4/4 and lasts about 4 seconds.  If you increase the SPD to 172, those 32 rows will last about 45 seconds.

With higher SPDs (and slower tempos), you can fit 10x more music into an SFX and therefore, into a single cart.  So, it was clear early on that I needed to use high SPD values to fit all this music into the game. 

The problem with higher SPDs in Pico-8 is that you lose expression and nuance with each row.  The beginning of the soundtrack is meant to be musically ambient, and conjure the 'vast expanse of space.'  But the fade in/out and slide effects at high SPDs are way to square and mechanical to support this. 

With the instrument editor though, you can compose phrases at say, SPD 7, and call them within another SFX at SPD 172.  This way, you can have more precise and expressive sounds and still work at high SPDs.

2) Repurposing SFX

This is a common trick in game development and a good strategy for saving resources.  The trick to mastering this technique is making each individual part functionally adaptable.  To demonstrate, suppose I’ve composed this phrase, using 3 SFX.

It would be silly to compose this next phrase using 3 new SFX:

Only SFX 6 has new information, so it’d be better to organize it like this:

Together, SFX 1 and SFX 2 contain the notes ‘A’ & ‘B.’ and are harmonically ambiguous.  They could be part of many different chords/modes (F Lydian, C Ionian, F# Dorian etc…). 

Being functionally adaptable also includes the role in plays in the ‘orchestra’ (melody, accompaniment, bass etc). In the first example, SFX 3 is the lowest note (F), and is functioning as the root of the chord. With this phrase below, SFX 2 is now the lowest note (A) and will be heard as the root. SFX 2 on its own is ambiguous enough that it can be heard as the root of a chord, or as an accompanying note. 

This is a mundane example but it demonstrates this principal of saving and repurposing resources.  I used it as much as possible in Slipways (though I think I could have done it better). 

3) Musical Phrases in the Instrument Editor

One of the challenges of writing this soundtrack was having the music evolve from being slow and ambient to busy and upbeat.  Plus, music that’s upbeat requires SPDs between 10-20, and as mentioned above, that would mean running out of resources.

The solution to this was composing upbeat musical phrases in the instrument editor.  Here’s one of them, at SPD 16:

When you call this phrase in another SFX at SPD 128, it lasts 4 rows. 

This means that this entire phrase can be repurposed. For example, I could let the phrase play for 2 rows, then call it again on a different note.

Or I could change it every row:

This idea was used a lot, especially in the last half of the soundtrack. With slow SPDs and the instrument editor you can get a huge variety of musical phrases without burning through too many resources. 

4) Polymetric Phrases

This is a technique that’s actually very easy to do in Pico-8.  If you use different loop points in your SFX, you can create polymetric phrases that take a longer time to resolve.

For example, the phrase above is looped at row 30, and creates an extremely complex relationship with the 4/4 meter. 

I didn’t write out the entire cycle - It would take eight repetitions for it to resolve.  In Slipways, there are a bunch of SFX like these that have odd loop lengths and, in some cases, NEVER resolve. It’s another way to get more music out of minimal resources and avoid having it sound too repetitive. 

--

Thanks for reading!

Pico-8 Music Tutorial #31 - The Music of Slipways

More Creators