In this part I’m going to talk about all of the music and let you have a listen to it in the order that it came about.
“Level Music 1″ <- Click to open
This music is accompanies the first two stages of the game. It wasn’t actually originally written for Fix Fix Bang Bang, but was my first attempt at using the VRC6 extension of in FamiTracker, and I consider it the first piece I wrote where I felt really comfortable with the software.
The original melody popped into my head from nowhere, but in my mind it was sort of a jaunty little jazzy tune, bopping along. By the time I’d put it into FamiTracker it was sounding more like some sort of prog-rock tune. From there it settles into a more Capcom-ish style. For Fix Fix Bang Bang I expanded the piece from the original I made, making it about twice as long.
Fun fact: the NES chip doesn’t support echo or reverb, so to create the effect on an instrument, you need to copy all the notes, and put them in the next track along, played slightly later and at a quieter volume. Capcom tunes do this all the time.
“Credits” <- Click to open
Come to think of it, a few of the tunes were not written with Fix Fix Bang Bang in mind, but came to be absorbed into it. This is another one of those. It was written as end game music, credits rolling sort of music, but just for fun. It’s also one of my favourite chiptunes that I’ve written, so I was happy to get the chance to actually use it in something.
I wrote it at a time that I felt my tunes were stagnating a little, getting a bit formulaic, so I wanted to write something more whimsical, upbeat and with more chord variety.
“Cutscene Music” <- Click to open
This is the last music that wasn’t written particularly for the game. It was written as a sample bit of music for someone’s game project that they started, but we fell out of contact. I needed a military sounding, slower paced theme for FFBB cutscenes and all my attempts hadn’t come out quite right, but this was perfect. I reached out to the person it was originally for to see if he minded if I took this music back as the project wasn’t going anywhere, and having got no response I decided it would be fine.
I had the idea for this piece of music on the train on the way in to work, and had nothing to record it on. Luckily I got in early and I keep a copy of FamiTracker on my work computer for just such situations. I spend 15 minutes making a rough sketch of the idea and then carried on working on it at home. There have been times when I’ve had ideas which I’ve liked that I haven’t been able to keep in my head long enough to get down, but if I’ve learned anything it’s that there are always more ideas.
“Boss Music 1″ <- Click to open
Okay, I lied slightly when I said that the last piece was the final one not written for the game specifically. But we liked this panicky tune from March of the Rorgers so much that we thought it’d be fun to bring it back for Fix Fix Bang Bang. I spent some time beefing it up a little (mainly expanding it with simulated echoes and meatier bass using the extra VRC6 tracks) but aside from that it’s the same tune as the one I wrote on the day Surprised Man was formed.
“Level Music 2″ <- Click to open
Okay, this one was made specifically for Fix Fix Bang Bang, I promise. I wanted an alternate piece of music for stages 3 and 4 of the game, and fortunately this one came to me on the train home from work, so as soon as I got in I was able to get it down on the computer.
The following day, the tune was rattling around in my head, mutating and developing as the day wore on, and that’s how I got the idea of how to cap off the piece, with those long, high pitched harmonising notes and the solo at the end which came more or less fully formed, as if it had been there all along. I’m particularly proud of the second half of this piece.
The dirty, fuzzy backing synths were achieved thanks to a peculiar quirk of the VRC6 sound chip which I’ll use to take the opportunity to explain some more about synthesising sounds in FamiTracker:
A square wave is simply a waveform that looks like this, which doesn’t look all that versatile, but in fact you can do quite a lot with it. To put it simply, just by changing the relative length of when the wave is ‘up’ and when it’s ‘down’ you can change the quality of the sound quite significantly. This is known as the Duty/Noise ratio. By default on the NES you can set this to 4 different states, but the VRC6 version has 8 different states.
One of the things you can do to shape an instrument in FamiTracker is to set its volume envelope over time (for example you could get it to start off loud and then fade off very quickly for a percussive effect). Another is change the Duty/Noise ratio as the note continues playing. I discovered that smoothly cycling through all the 8 different Duty/Noise ratios supported by the VRC6 module produces that cool fuzzy sound.
“Title Music” <- Click to open
This could have been level music had it been longer and a little more developed, but what I was going for was something with the epic feel of the level music, with a bit more of a mechanised, robotic backing track. A little fix, to go with your bang, if you will. And you must.
As for why the second half turns a little bit odd, and sounds like perhaps there should be a gangsta rapper freestyling over it, I don’t know, and I don’t have to explain myself to you even if that is the stated intention of this blog entry.
“Doctor Charles Mandibles” <- Click to open
I started writing this purely off the idea for the little 8 second intro, which in the end had little to do with what makes the piece so fun. It was going to be level music, but something about the funky bass line and weird, strangely off-sounding chord changes instead made me start associating it with the major adversary of the game, Doctor Charles Mandibles.
In the end the bass line took over the whole thing, but it’s a good’un, and will only be around for a short segment of the game, so I hope it doesn’t outstay its welcome. Somewhere towards end of the tune it goes all dance club for a moment. This was owing to a copy/paste error, but I liked it enough that I decided to leave it in.
“Secret Boss Music” <- Click to open
Let’s be honest, we don’t expect that people will be playing Fix Fix Bang Bang music for the story, but just in case you are sensitive to spoilers, let’s just say this music is for an important battle late in the game. I went through a few different iterations of this music before finally settling on making a remix of the cutscene music, at a faster more exciting pace and with some excitable drums and bass to accompany.
Another day, another dev blog
We have spent most of our time today on balancing the game and getting it into an okay playable state for the Alpha release. We did this first by pre-balancing some of the values that drive the game logic that intuition told us would be wrong (our first few games of FFBB have been hilariously short).
We’ve been doing a few repeated runs with a little tweaking in between, and we recorded one below for your enjoyment!
This wasn’t our best run but it shows off some of the neat features we’ve put into the game, such as the ability to return to the powerup minigame from where you left off if you need to stop to deal with other problems. Also, we already noticed a few more problems such as the shield powerup length being way too short, but it should all be fixed in the coming days.
Hi, it’s Peter here to talk about the development of the soundtrack for Fix Fix Bang Bang.
Some of the earliest game music I loved was chiptune based – first the ragtime tunes accompanying Repton on the BBC Micro right up to the much more sophisticated compositions accompanying games like Mega Man 2 on the NES that still influences me today.
When we started Surprised Man, I chose chiptunes with FamiTracker as my chosen method of making music for a few reasons. It creates authentic NES-style tunes to the specifications of the original NES sound chip (plus extensions that sometimes were built into game cartridges so it’s a fun, nostalgic set of limitations for me to work within. It also uses a tracker interface, and I find those very quick to work with. Indeed, the first music I ever made was with tracker software on the Amiga 1200.
I’ve used FamiTracker for all of our game jams so far and in that time I’ve learned a lot about how to make effective use of it. So I made the decision that Fix Fix Bang Bang’s soundtrack would be the culmination of everything I’ve learned so far about creating retro-style chiptunes.
Some people have taken the form to a whole new level, stretching the capabilities of those old sound chips to create some truly mind blowing work. I’ve got the greatest respect for that, but for this soundtrack I wanted to create something that really evoked the feeling of those old tunes I loved without very much embellishment. The only concession I made is that I would activate FamiTracker’s emulation of the Konami VRC6 chip, which was included on some Konami cartriges to allow three extra channels of sound on top of the 5 that the NES supports natively.
So what does a tracker screen look like? It’s something like this (I suggest right clicking the picture and opening the link in a new window if you want to follow along with the text):
Most people when they see that think it looks pretty scary, and that’s understandable. There’s a lot of letters and numbers and not much that immediately looks very much like music, but creating tunes with this is actually pretty simple.
On the main part of the screen there are 8 columns, which are the 8 types of wave that a NES with Konami VRC6 enabled will generate:
- Two regular square waves, quite versatile for making different sounds with.
- A triangle wave, useful for bass, cheesy sounding tom-drums and smoother sounding than square waves.
- The noise channel, useful for creating percussion sounds.
- The DPCM channel, for loading very low quality samples into, usually drums.
- Two more square waves, but fancier VRC6 ones with more options.
- Sawtooth wave, a nice meaty sounding wave for big sounds
Over on the top right, there is a list of instruments, which I can go into and change how the wave sounds, for example by making it go up and down in volume, play an arpeggio, or in the case of square waves change the shape of the wave to give the sound a different quality.
Time progresses along the rows and I use a keyboard (or use the computer’s keyboard as a virtual, uh, keyboard) to place down each note. For example, the first note on the left column reads:
F#4 00 9 300
All this means is that I’m playing F#, on the 4th octave, using instrument 00, at volume 9, with effect 3 set to level 00. That’s about as complicated as it gets as far as the main screen goes and now you will be able to interpret that whole part of the screen: Everything is just a note that has been placed with an instrument number next to it, occasionally a volume change and a special effect. Effects I use regularly include vibrato (wobbling up and down in pitch) and portamento (bending from one note to the next).
In the example above I was setting portamento back to 00 so that the notes would stop bending. Further down, on the triangle wave, you can see 370, where I am telling the bass note to portamento between F#2 and F#3 at a speed of 70. Incidentally, the same thing is happening over on the Sawtooth wave, which I regularly use to double-up with the triangle to create a meatier bass sound.
The last thing you need to know about the tracker is how the song is structured. That’s where the top left numbers come in. When you place notes down in a tracker, it isn’t on a roll of music that potentially goes on forever, like sheet music. You are placing them into what is called a pattern, a section of music of a fixed length which you can adjust. Each of the 8 channels has its own patterns, and the table on the top left describes what pattern number to play in each channel in what order.
In this way, I can organise the music in to re-usable chunks: I don’t have to write the music out twice or copy and paste to use it again, I simply tell FamiTracker when to play it again. This is useful, for example, if I just want to repeat a drum pattern over and over with different music, or keep the same backing instruments going while the main melody develops. This block-based tune construction is very good for making the type of music that I’m going for in Fix Fix Bang Bang but can be a bit fiddlier for tunes with a more organic, changing structure.
Phew! I went on for way longer than expected, so next time I’ll talk about the soundtrack itself, but for now here’s one piece of it for you to enjoy.
Okay, so it’s time for a second dev blog! So, we’re still pressing forward for an alpha version which will get a limited release and hopefully help us with balance, and our first batch of player feedback.
For general features that got added: I finally got around to adding a system for making sound effects more extensible; now we just have to drop them into the project and they get added and are automatically available to the game. We’re starting to ramp up in terms of adding sound effects, so it was about time it got done.
At the moment we’re going through the remaining powerups on our list and deciding if they’re going to make it into the alpha or not, depending on the amount of outstanding work for them.
We added a shield powerup with some lovely graphics from Pete, and obviously had to add the ability to be shielded – no impacts to the ship cause damage whilst you’re shielded, although your ship can still be hurt if there are invaders within. This turned out to be easy to add, as all player damage is handled through one function, so it was easy enough to modify.
We added a new powerup weapon, the spread beam cannon, which fires 5 bolts from the front of the ship and provides a lovely shotgun effect at close range.
The Drone is another powerup, and this one probably won’t make it into the alpha, as it simply has too much to do to make it work. The drone is going to be a smaller ship which rotates around yours in a circle, and which will fire when the player fires, to add a little support.
The smart bomb was proving tricky to pin down. Mechanics wise it’s quite simple, working much like the smart bomb in any shmup, killing any on-screen enemies, but deploying it was another matter. Powerups activate immediately when they’re assembled – the Mechanic-Player plays through an assembly minigame to put them together – but this seemed too slow for deploying a smart bomb. In shmups, usually when you’re about to use the smart bomb, you’re hopelessly overwhelmed and don’t have time for this.
Towards the end of our last dev session it looked like we had a solution for this though – we’re going to change the ship graphics to include a “slot” on the top where the smart bomb goes when it’s assembled, so both players can see that it is ready, and it can be deployed in an instant. Looks like this one will make it into the alpha.
Some of you have been asking about the “Record game” option seen in the last video (well, in truth, no one has asked me that, but I want to talk about it, so there ) – After reading about how valuable good visualization tools are for debugging in this article by Jordan Fisher, I’ve added this feature which allows a player to record their game session to a file to send to us. Our recorder doesn’t work in quite the same way; it very simply serialises all of the visible game objects on each tick, and we’ve got another program which can play these files back to us. Doing it this way has some performance overhead, that’s why it’s probably not going to be available in the finished game. This needs a little more work when we’re ready to go alpha as it currently has some problems with the minigames.
So to end this post: Our plan for the immediate future is to finish the last few items from our Alpha to-do list, and then balance, balance, balance!
Because we’re approaching a limited alpha-release of Fix Fix Bang Bang we’re talking about it a lot more now. There’s Kieran’s lovely dev blog below, and we hope to have mini-updates on our progress as we go from now on.
I also had a chance to show the game in a pre-playable state to a few people at an meetup about indie games called Indie Game: The Meetup. That resulted in this interview with Laura Kate at MCMBuzz, where I talk about Fix Fix Bang Bang, our learning process of getting people to play our games and what it’s like to be half of Surprised Man, on the off-chance that anyone has ever wondered about that.