Making Music on Gameboys
Here at Laser Dog HQ, we're working really hard on our next game. Simon is creating some truly awesome artwork right now, and I need to take a break from programming, so I thought I'd write a quick article on how we're making the music.
If you've visited my Twitter or Vine recently, you will have seen that I've become rather obsessed with Nintendo's retro handheld, the original Gameboy (DMG). Only last week I posted a 38 image gallery on reddit documenting my restoration and modification of the Gameboy my Grandma gave to me when I was 9 years old (it had spend the last ~15 years in a box of lego at my parents' house!). To my amazement, this gallery has had more than 1 million views! Just goes to show how many people grew up loving this brick shaped console.
As a child I spent countless hours playing Super Mario Land, Tetris and Pokémon red. The DMG's unlit screen is the main reason I first went to the opticians and started wearing glasses.
Skip 20 years ahead and here at Laser Dog Games, we're in need of chiptunes for our upcoming game. I've enjoyed chip music for a long time, and even created tracks myself but I had always found it difficult to make them sound "authentic". I've tried countless plugins and effects, but nothing sounded like real Gameboy/NES music.
I've been a fan of Chipzel ever since I first played Super Hexagon. In fact, her albums were played constantly when we were developing ALONE. Chipzel's music is full of energy and sounds fantastic but most importantly, it has that "authentic" sound. It wasn't until earlier this year when I saw this vine on her Twitter that I kinda had an "oh shit!" moment. "Wait, she actually makes the whole track on a Gameboy?!?". Feeling inspired, I opened a new tab in my browser and optimistically googled "How do you make music on a Gameboy?". This led me to the wonderful LSDJ.
LSDJ (or "Little Sound DJ") is a Tracker that can be loaded onto a special Gameboy cartridge and allows you to make music directly on the console, using its awesome sound chip. The music produced sounds exactly like it was made on a Gameboy, because it actually was.
Excited, I bought LSDJ, a couple of cartridges and ordered an old Gameboy from eBay. Soon enough, I was writing my own chiptune music on my old-new Gameboy.
Creating music on a gameboy is oddly freeing. When I was creating the soundtrack for ALONE, I had full orchestral arrangements, synthesisers, huge drums, sound effects, etc. When using LSDJ, you have 4 monophonic channels to work with. This limitation forces you to be creative in the way you produce rhythms, bass lines and melodies.
The tracks available are (very basic descriptions);
- 2 Pulse channels; Think of this as the typical chirpy chiptune sound
- 1 Noise Channel; Explosions, crashes, hi hats and snare drums
- 1 Wave channel; Used to create awesome synths, big kick drums and play actual .wav files.
The sound outputted by the Gameboy's headphone socket is really, really noisy and not very clear. This is a real problem when it comes to recording chiptune tracks for use on a computer. Luckily there's an easy fix called the "pro sound" mod.
This mod gives you an extra 1/8" output (you can also use RCA or 1/4" outputs) that gets the audio signal directly after (or before, depending on which pins you wire up) the volume potentiometer, basically giving you a direct line out.
I have created 9 tracks for our new game so far and it's possibly the most fun I've had making music. I'm a 29 year old guy who spends hours every day playing on a 20 year old Gameboy. Good times.
For anyone interested in learning, there are some great tutorials on YouTube and an awesome community out there.