Category Archives: Happiness!

Making the Happiness Soundtrack

Hi all, Chris here to talk about fun music stuff. So, I got involved midway in the development of Happiness when Tim came to me and asked “Hey Chris, wanna write some music for a game I’m making?” Tim and I had been collaborating musically through our band David Lee for quite a while, so I was happy to accept.

Wait, so how do we write video game music?

Starting out, composing instrumental music posed a unique challenge compared to writing songs for a set of lyrics. On one hand, you have more freedom to experiment with weird progressions, strange time signatures, and interesting instrumentation when you don’t have to worry about how to fit a particular set of lyrics over the song. On the other hand, without lyrics you have to find other ways to keep the song interesting.

Video game music has its own unique characteristics when compared to other instrumental music, like movie soundtracks or electronic dance music, etc… Each song usually only needs to be about a minute and a half at most – however, you also need to be able to loop the song continuously for however long it takes the player to complete that section of the game. Also, you have to keep in mind that in most cases the music takes a back-seat to the gameplay. Because of this, you want to avoid too many jarring stops, key changes, dropped beats, etc… because they may start to get old when looped ad infinitum, and they can distract the player from the game itself.

Like a movie soundtrack, you want the feel of the music to match the intended mood for the part of the game it’s playing during; if the character is in a dark, spooky location, you wouldn’t want to have a really upbeat major key song playing. Instead this kind of location would likely call for music that is tense and ominous. There’s all sorts of ways this could be achieved – sections that briefly spike in volume, instruments that start and stop abruptly, maybe some diminished chords – or all of these together. The song “Illumination” for the stage Fear House is a good example of this – notice the start-and-stop chord strikes in the last section, and the dark minor tone.


Another important aspect of creating the soundtrack is choosing the instruments to use, which in turn can also have a large effect on the mood and tone of a song. With Happiness, we wanted to make the player feel like they were playing an old platforming game like Super Mario Bros 3. To accomplish this, we decided to use a program called Famitracker. Famitracker presented some interesting limitations that in a way may have helped give the soundtrack some commonality as a whole while also challenging us to really think about what parts of each song were most important.

The Dreaded Famitracker

Famitracker is a sort of music sequencing software that simulates the capabilities of the NES/Famicom sound chips. You start out with 5 tracks which imitate what was available on the standard NES sound card – two square wave channels, a triangle wave (usually used as the bass track), a “noise” track (for percussive effects), and a DPCM channel that could play samples. Famitracker also contains settings for a few of the various expansion chips that were used in later NES cartridges to add to the capabilities of the standard system – we decided to use the MMC5 expansion chip, which gave us an additional 2 square wave tracks. We never ended up using the DPCM sample track for Happiness, so this essentially left us with 6 tracks to work with.

It took a little while to get used to using Famitracker – all the notes are entered by keyboard, and songs are structured using “patterns” for each track, identified by numbers, which can be sequenced together. My first test using famitracker was creating the theme song, which we actually stole from a B-side David Lee song that Tim decided to scrap the lyrics on. Coincidentally (or not), the song’s name was also “Happiness”. “Happiness” is not an overly complex song in terms of number of instruments – there’s an acoustic guitar, electric guitar, bass, drums, and vocals (which became the lead melody for the instrumental). That’s 5 tracks – no problem, right? We’ve got a track to spare. But hold on – remember, in Famitracker each channel can only play one note at a time (except potentially the DPCM track). Now consider that every chord the acoustic guitar plays contains 4-6 notes playing at the same time, and the electric guitar sometimes uses double stops (2 notes at a time), and the drummer could be playing a hi-hat, crash and bass kick all at the same time – now we’re up to 12 notes = 12 tracks. So what are you supposed to do?

Music theory, whether you like it or not

Well, here’s where a little music theory can come in handy. Let’s take that guitar chord as an example – let’s say we’re playing a G major chord. In terms of separate notes, G major actually only consists of three notes – the root (G), the third (B), and the fifth (D). A full six note version of this chord on the guitar may contain octaves of each of these notes, but at its core it’s still just 3 notes. Depending on what the other instruments are playing, you can potentially get rid of one or two more of these – if your bass is already playing the root, than you can have the rhythym guitar skip the root and play just the 3rd and 5th of the chord.

The drums presented some similar challenges. The noise track is essentially what it sounds like – white noise. In order to get it sounding like a drum set, you have to alter the pitch and settings for each note to imitate a kick, hihat, etc… Also, since you only have one track to use, you can’t just have the hihat going steady over the rest of the beats. You have to pick and choose at each beat which part of the drum set is most important. In most cases, the bass kicks and snare take precedence over the hihat, and crashes take precedence over both of those – so, the hihat often only ends up playing during the off beats, and the bass kick or snare may not play on a certain beat when it normally would because there’s a crash there. If done right, though, the brain can help fill in these gaps and make it sound like a full drumkit.

Dreamy guitar playing

dreamstationThe “Dream Station” theme was the first song I worked on starting from scratch. Coming up with the progression and melody for this was mostly a matter of messing around with my guitar. I ended up recording a rough draft in Cubase, which helped me organize the song before attempting it in Famitracker. This is a practice I’ve since used for a good portion of the video game music I’ve worked on. Since this was for the stage hub, we were looking for a fairly mellow, light-hearted mood. The song uses a mostly major-sounding progression, and the swing rhythm gives it a bouncy feel. I used essentially the same method as with “Happiness” to separate out the important parts when bringing the song into Famitracker, and then Tim added a drum track to round it out.

And now for something completely different…


The last track that I helped work on was for Asphyxia Cavern. This song had an interesting evolution that has been typical of a lot of the songs that I’ve worked on with Tim in the past for our band. I again started by hashing something out on guitar, though this time I skipped over Cubase and just worked on it right away in Famitracker.

Tim’s response to this was essentially “Chris, this is great, but… it’s completely the wrong mood for this stage. Like, not even close to the right mood.” However, Tim was able to take a few ideas from the song – in particular, the progression during the beginning, and melded it with a modified version of part of the Happiness theme to create something closer to what we were looking for. It still needed another section to tie it together though, so he sent it back over to me. I ended up adding the interlude section between the original two parts, and finally we had “Ascension”.


This song brings up another common theme that we’ve tried to incorporate into our soundtracks – utilizing motifs; in this particular soundtrack’s case, the Happiness theme. For another example of this, listen to the third section of “Patience”, the theme for Angry Incinerator. This part is a reprise of the verse melody from the main theme put into a minor key to give it a darker feel. This concept stemmed mostly from Tim’s admiration of classic video game music composers like Nobuo Uematsu and Koji Kondo who used similar techniques in their own work. Being a music geek, I was of course fully on board with this idea.


Well, this mostly wraps up my experience creating music for Happiness. I’m currently working on music and sound effects for our next game, Revahlen, and since Tim is selfishly spending too much time actually creating the game to help with the music, I’ve got my work cut out for me. So far, it has been a rewarding experience, and Revahlen is presenting all sorts of new challenges – but I’ll leave that for the next blog entry.


Revahlen Treatment completed!

Hey Tommy here.

I was supposed to jump on here a few days ago and up date everyone on a few things, but I was extremely busy with a new addition to my family. As of Saturday the Revahlen treatment was completed. The process took longer than I expected, but I think that was about the approach that we took with the story. I’m not sure if I wrote this already – so bare with me if I’m being redundant – but Revahlen was originally meant to be three separate stories/episode, but they got combined during the writing process into one large game. Because of that, I think it took a little work merging some things together. In the end I like the move and I’m happy with the end result.

I’m going to begin working on the script at the end of this week, and I’m hoping that process will move quickly, but of course the same kind of hiccups could pop up as they did in the treatment so I’m weary of laying out a timetable. Don’t worry though, part of reason for the extensive outlining and treatment process was to allow us to work on aspects of the game concurrently. The game, at this point, is being worked off the treatment and we’ll fine tune it with the script.

I know what you’re thinking, as it crossed my mind as well, “If you’re working off the treatment, why is the script necessary?”  It’s because the treatment is good for major in game events and planning/designing characters and locations, but it’s not so great for pacing and story telling nuances.. Even though I won’t give a time for the script to be done, I can say that it usually moves fast despite the larger page and word count – all the decisions are already made, I just have to writer it.

Other news!

Did you guys check out the Geeks With Wives podcast that we were on?

The guys on there were really cool and we’re certainly grateful for the opportunity and promotion they gave us. The show is a fun watch so check it out. We revealed a lot of information on Revahlen and some of our future projects, in addition to some of the background information on Happiness. Anyways, check it out, we should have some more news on the horizon.

Till next time!

Making Happiness!, Part Two

So Tom’s breathing down my neck again. Guess I’d better post this next part of our little behind-the-scenes featurette for Happiness.

A Very Different Game

Happiness was initially planned to be hand drawn through and through. I had gone through some early animation tests involving the Dreamer in a desert at dusk, but realized quickly that A) it wasn’t coming out very well, and B) it was going to take forever to create the game with large detailed sprites. My skill in artistry and animation aren’t anywhere near the level required for the game to look good. The hand drawn style was quickly abandoned, though one iteration of the early tests is still on my hard drive. I’ll probably delete it next month. Who needs history?

Seen here: History. Thank god.

Laziness Takes a Lot of Effort Actually

The first spritesheet created, the Dreamer took a good while to finish. His mouth is actually a separate object that floats on top of his body sprite, allowing for dynamic expression changes.

The game quickly took a very retro pixelart direction, reminiscent of old NES games. At first I had thought that this new direction would make things easier, and it did. Only ‘easier’ is in relation to what I was going to do before. I still had a lot on my plate, having to not only design every environment, character, item, and object in the game but I also had to animate them as well. I studied a lot of sprites and tilesets from other games intensely, picking up on the way sprites were shaded and what sorts of colors were often used together to create textures. How to imply movement in the animations so I could turn a full swing or walk animation into 3 frames, how to use templates and avoid creating an unnecessary workload. As I got further into development I gradually picked up a rhythm and the assets became easier and easier to create.

All the visual assets were created in Paint Shop Pro 9, because I’ve used it for a long long time and I can’t afford Photoshop. It runs in a lesser color mode that is incompatible with the Windows 7 aero effects and is the primary reason I don’t upgrade to Windows 8. I often use layers when creating sprites, for purposes such as onion skinning and for template modifications. I constantly work on grids of 16×16 or 8×8, and each sprite is laid inside very specific frame sizes, 32×32 for both the Dreamer and Dreamette. This allowed me to maintain consistency when the sprites were imported into Construct 2, especially for hotspots and origin points and the like.

Archaic program used to inspire archaic graphics.

Archaic program used to inspire archaic graphics.

Dancing to Some Nostalgic Beats

All that graphics stuff is fun and all, but the real reason I decided to go into game development is because I wanted to compose a video game soundtrack. Inspired by the works of Nobou Uematsu, Koji Kondo, and Jeremy Soule, among a great many others, I had wanted to compose video game music alongside my own pop rock efforts. As I was already taking on a huge undertaking with creating the rest of the game I had asked my bandmate Chris if he would like to contribute to the soundtrack. Eager to work on a score for a project and the interesting nature of video game music intriguing him, Chris eagerly agreed, the second member of what would become Blue Key Games. Since the art style was going to be NES style, I decided we may as well emulate the NES sound as well.

Yes, it was as confusing as it looks and yes, it was very very easy to destroy around 7 days worth of work in about 7 seconds.

Yes, it was as confusing as it looks and yes, it was very very easy to destroy around 7 days worth of work in about 7 seconds.

To achieve the effect we turned to the NES soundchip emulator Famitracker. It took a little while (we weren’t too familiar with how tracking software worked, as we were used to more elegant and fully featured setups) but we figured out a method to the madness, and it was a really interesting challenge working within the limitations of the “NES hardware”, creating drumbeats by varying the pitches of white noise and creating the different textures of the instruments using the square and triangle wave forms. The first track finished was “Pieces”, used for the “Incomplete Machine” level. The second track finished was “Hugs”, heavily inspired by the 8-bit arcade remix of “Planet Wisp” from Sonic Colors. Music was being done at a pretty good clip. Probably my favorite part of development.

Importing the songs into Construct 2 was interesting, as we had to create intros that cut off cleanly into main song loops. Then we had to edit them in fancier programs than Famitracker, where we were able to set loop points to eliminate any of the “seams” in the loops. Granted, in the final game, there are certain browser limitations/speeds that only serve to highlight the split between the intro and the loops, but that’s unfortunately something outside of our control. The overall effect I feel is quite good however, and we’re all pretty happy with how it turned out in the final game.

It Looks Pretty, But Does It Do Anything?

What’s a game without the actual programming though? Nothing, that’s what. Shame on you if you thought otherwise.

This is about the point where my eyeballs bled right out of their sockets.

This is about the point where my eyeballs bled right out of their sockets.

Countless nights and days were spent haphazardly hacking together components to create some semblance of a playable video game. Taking a cue from Object Oriented Programming, various game components were created in reuseable event sheets that were included in each of the various stages. Inside of these “include sheets” were the various Controls, Player Systems, common functions (including fades and data management, and so on and so forth. Certain functions would be created with modularity in mind, allowing me to substitute variables so that the same function can send you to Stage 1 or 8 depending upon the instance variables in the door object you walked through, reducing repetition and bloating. Granted, this wasn’t done with much finesse as I was also using Happiness as a learning experience as well, and the end result doesn’t allow me to add stages with any sort of flexibility as a lot of the game is hardcoded in, including the number of stages and the mobs in each stage as well. The only objects that would cross over from stage to stage were the Dreamers and their parents (though the parents had a lot of their AI hardcoded into the final stage as well). Fortunately, the player game experience itself does not suffer for the disorganized mess beneath the candy shell. I’m of the firm belief that the only thing that matters with a game is not what it looks like under the hood, but whether the resulting player experience is any fun. I hope we’ve achieved that with Happiness, and we look forward to creating another memorable one with Revahlen.



Making Happiness!, Part 1

So Tom has been getting on my case to post a new blog entry and I kind of promised I would. I was wondering what to write about since we haven’t gotten far enough into development on Revahlen to show off something really cool. However, we did just release Happiness! and so I figured I might take some time to go over how we developed that game over the course of less than a year.

A little bit of history…

The cause for the existence of Happiness! can be blamed squarely on me biting off far more than I could chew. I was originally working on an action RPG that I was codenaming “Eclipse” at the time, the RPG that would later evolve into Taiscrethea (which would in turn cause another reassessment that brought about Revahlen). It had gone through several iterations through the various phases across the years, but the most recent iterations have been by far the most serious. I had gone through several restarts on it, optimizing and optimizing, with a little tool called Construct (now called Construct Classic). However, Scirra had been working on a more stable followup they dubbed Construct 2. Initially the features were slim, as it was released in its infancy. However I knew early on that I would be developing games using this tool. What I also figured out early on was that I would have to adjust and learn how to use Construct 2, and that it wasn’t quite yet suitable for the hefty endeavor that Taiscrethea was proving to be. So I began to think about scaling back and making a far simpler game, something along the lines of an NES style platformer.

The Anti-Mario

I began to brainstorm ideas for the game and sketching out a few character designs and the like in the spring of 2012. I knew it would be a platformer in the vein of the classics like Mario, Mega Man, and Sonic, but I initially had a little trouble developing the hook for it. I don’t remember the moment the idea popped into my mind, or if it was even as much of a moment as it was something that phased in and out over time, but at some point I decided that the game would be the Anti-Mario. And I don’t mean Sonic.

The Mario games are violent. Like, really violent. Of course, almost all video games are violent. But I use the Mario series as an example because of the cute and family friendly image it has, in spite of the questionable ethics in stomping the existence out of sentient shiitaki mushrooms and black magic practicing turtles. I thought how it might be funny if, instead of jumping on a goomba you gave it a hug instead. Don’t kill things, hug them. Love everybody. Suddenly the game design started falling into place, even if a bit haphazardly. I had a mission. Of course, this mission would also lead to a far more complex project than I had realized/intended, but by the time the difficulty dawned on me it would be too late.

Coloring Between the Lines

It was around that time that the sketches of the characters were coming out. I made a doodle in a book of a little boy in a baseball cap.

The Dreamer about a quarter way through development, seen here with a very confused/upset Mr. Teeth. This was roughly the final state he ended up in at the concept stage.

A nameless hero, he was to go around the world trying to bring happiness to all he came across. The idea of him hugging horrific vicious monsters was an early one. I just found the notion that this little boy would hug these dangerous beasts absolutely hilarious. I also designed the little girl very shortly after as well, though digging up their original concepts is proving difficult. I have them boxed away somewhere, never to be seen again. The concept pieces in these entries are among the half of them that I can find.

After sketching out the two protagonists I had sketched out the father and an abandoned villain that would have been called Professor Pessimist, who was intended to be the final boss. However, the game proceeded to take a more interesting route not long after that led to Professor Pessimist’s omission from the final product. It was well into the stage concepts that I finally realized what direction the “story” to the game should take, which eventually lead to a redesign and retheming for the game on a whole.

Psychology and Symbolism

Initially the stage ideas were your standard fare. You had a forest stage, a haunted house stage, a water stage, a city stage, a fire and lava stage, so on and so forth. All in all, only a few stages felt interesting, and most of them featured uninteresting MOBs (I use the term mobs here because there are no enemies, only upset creatures in need of help). The current plot was that at the beginning of each stage, your father would come home upset about some sort of state in the world, at which point you would try to go out into the world and fix that problem. A few stages had pretty specific themes, and at some point it was decided to base the stages around negative emotions. I started polling people on what kinds of things make them sad, trying to compile a list of possible stage themes.

The “Lonely Sands” stage features cyclopean single celled organisms in keeping with the themes of ’1′ for the stage.

Then I got an idea to change the plot a bit. I decided on a more “realistic” approach, and simplified the story to a child unable to understand a parent’s suffering. The child would go to bed unable to help their mom/dad and then all the dreams would revolve around trying to understand how to help. When I shortened the stage themes list to around 8 or 9 I started researching conditions and symbolism connected to each emotion, creating palette themes for each stage to make them feel more unique and to bring out the emotions meant to be associated with them; blues for loneliness, yellows in the boredom stage because the goal is excitement, green with envy in the stage about missing pieces, so on and so forth. The mobs even were able to easily come together once the stage themes had been figured out.

The fear stage featured woods, a cave, a factory, and a haunted house / laboratory. It got divided into the Incomplete Machine, Cavern Asphyxia and Fear House stages.

If all of this seems very vague and shot from the hip, that’s because it was. In fact, the game was constantly evolving up until about halfway to two thirds through development. A boss encounter was redesigned because it sent the wrong message. A stage themed around “greed” was scrapped for being difficult to solve the problems for and sending mixed and easily misinterpreted messages. Happiness! was not going to be a soap box for political issues, nor was it going to promote unhealthy behavior by encouraging people to try to help others at the cost of their own health. And most of an overly complex stage got turned into three simpler and more iconic stages.

Fun for Everyone!

The most important question of the game was always going to be “is it fun?” Everything designed in it was to try to balance out what would be fun for as many people as possible. You don’t want to make the platforming segments too easy, but you don’t want to make it impossible to beat for casuals either. The solution for that was to give the players infinite lives. There was also the question of speedrunning, something I feel strongly about myself. However, I didn’t want to sacrifice the point of the game (spreading cheer) by saying “well, it’s okay to not help out others as long as you’re going for a good time.” The only way to beat a stage is to make at least one person happy, and the only way to record your time is to find all the special coins in the stage and solve all the mobs’ problems. As extra encouragement to help out, there are 3 endings depending upon how many mobs in the whole game you make happy. Ultimately, the goal of the game is to encourage kindness in the player.

To be continued…

I’ve done a lot of rambling in this entry, but that’s just kind of how the whole conceptualization process went down. A lot of ideas bubble up to the surface and then get refined and such. A lot of the game was a learning experience as well, and an exercise in “just finishing the damn thing”. That said, I hope it was interesting regardless, and I also hope that I can put a bit more of a sense of focus in the coming entries. Next time I’ll go into developing games with Construct 2, how Chris and I teamed up to develop the music with Famitracker, how I use the ancient Paint Shop Pro 9 to create all the graphics you see in the game, and how it all gets glued and forced together.