After more than two years in development, my latest bigass game project, Between Heaven and Hell, is finally complete. So just what the hell was I doing for all that time? If you're a game developer, an aspiring game developer, or if you're just interested in game development, you might be interested in hearing my extremely long answer. I'd recommend playing at least partway through the game before reading this feature if you want to get the most out of it, but it's not necessary. I've included a month-to-month breakdown of the game's development, as well as a "What Went Right/Wrong" section. You'll also have the opportunity to download early versions of the game, which will allow you to see how crappy it used to be. How many developers let you do that, eh? Anyways, our story begins at the University of Southern California in Los Angeles...
College was kinda frustrating for me at times. Not just the workload, but because I felt that the vast majority of the courses I was taking would never yield anything that could ever be useful to me, ever. I felt like I wasn't learning or doing anything of real value. So, how to combat this? Get started on a new game, of course! Though there were probably a few people out there clamoring for a sequel to my previous game AfterShocked! (and I mean literally a few), I didn't want to repeat myself and do another graphic adventure.
One of the opening scenes from Out of This World. I'd long been a fan of the PC game Out of This World, or Another World as it's called in most regions. It has incredible style and atmosphere, a simple but effective plot, and frustrating but rewarding platformer gameplay. Games like Prince of Persia, Flashback, and Blackthorne presented the same sort of realistic movement and cautious, slow-paced action, and are often lumped into the same subgenre of action-adventures as OOTW. However, I've always found it to be a vastly different experience. What set it apart from the aforementioned titles was that OOTW achieved a much greater "interactive movie" feel. Scripted cinematic events and non-interactive cutscenes were frequent throughout the game. Its "levels" weren't strictly defined, and each area was unique, with very few repeated elements.
A single person, Eric Chahi, was responsible for this fantastic detail and variety, and as a result, OOTW was very short. Like, 30 minutes short if you know exactly what you're doing. Yet, the game doesn't feel like it necessarily needs to be any longer-- It's a tight little package with no filler. Despite OOTW's critical acclaim and popularity, very few games since have attempted to follow the formula that it established, or have even attempted variations on the formula. Aside from the Sega CD-only sequel Heart of the Alien, Chahi's own Heart of Darkness is the only title that comes to mind as having been inspired to a large degree by OOTW's formula.
Without this game, there would be no Between Heaven and Hell, period.
So, that's where I come in. Mention of OOTW amongst PC gamers never fails to elicit an overwhelmingly positive response. So why is it that no one, not even indie developers, is creating games like it? Is OOTW a relic best left to people's nostalgic memories, with gameplay so antiquated as to be completely irrelevant today? In any case, I had the tools and knowledge at my disposal to create my own game of this style, and I couldn't pass up the opportunity.
Inspiration can come from odd places.
Initially, I had an idea for a storyline that would involve the main character falling into an pit in the desert and discovering an underground empire, which was kind of inspired by the NES game Legacy of the Wizard. Obviously, that didn't pan out. Oddly enough, my inspiration to set the game in Limbo came after watching the big-budget cinematic flop Monkeybone, in which Brendan Fraser is sent to Limbo and harassed by a stop-motion animated monkey.
After much procrastination, I finally began work on BHAH. Before anything else, I needed to ensure that three major elements were taken care of. First of all, I needed to create the basic workings of a platformer engine within the AGAST engine, which I has previously used to create AfterShocked!. Though AGAST was built to accommodate mainly graphic adventures, its versatility allowed users to create just about any kind of 2D game they felt like, so long as they were willing to put in the extra effort. Since I was already familiar with its scripting language, it seemed like the obvious choice. I was able to create a rudimentary 2D engine relatively quickly-- enough to convince me that AGAST would suit my needs. Now I'm going to give you the opportunity to see AGAST's scripting tool. If this is your first experience looking at the inner workings of a computer game, prepare yourself for excitement!
The second necessary element that needed attention was the main character's animation. It was extremely important to me that I get this right. The main character needed to move realistically around the screen. So, my roommate Aaron and I took his digital camera and recorded some footage of me running and jumping around like an idiot at our apartment complex. I used this footage to create most of the main character's animations. Sadly, according to several people who have played the game, the final in-game animation makes it appear as if I run like a girl. Click here to see some of our very first footage.
The third important element: How was I going to create the backgrounds? I'm not an artist, as AfterShocked! proved. What's more, where would I find the time to create the large number of backgrounds required of the game? Luckily, I know my way around Photoshop pretty well, and I found a process that allowed me to create cool looking backgrounds that resembled like paintings and required a fairly small amount of creation time. I'd create relatively simplistic backgrounds and then use the "Smudge Stick" filter to not only make them look nifty, but to hide my inadequacies as an artist! Though I'd love to be able to say that I had some deep artistic reason for making the backgrounds look the way they do, the truth is, it was just really convenient for me to make them that way. And with that nice comic book font completing the package, the game at times comes off like a graphic novel. There are probably a good number of Photoshop nerds out there who will immediately spot the massive and obvious smudge stick usage and shake their heads in disgust.
Before Smudge Stick
After Smudge Stick
As for the plot, I had a basic outline in my head, as well as a general idea of the locations that the player would visit-- but not much more.
After completing my sophomore year at USC, I shipped my computer back to my home in Massachusetts and continued my work from there. By the end of the month, my platformer engine was nearly complete. The main character could walk, run, jump, climb and traverse between screens, and I could create landscapes on which he could move around with ease.
June 2004 - August 2004
What's really behind all that complex scenery? A bunch of friggin' boxes!
I managed to complete the first couple of scenes during this period-- specifically, the opening demon chases, and the electricity obstacles. Feedback from my friends on these areas usually went something like "This is too tough." I figured that I'd have plenty of opportunity to fine-tune these areas later... But then again, OOTW was tough, right? No problem with this game being a hardcore challenge as well, right? Right?
At this point, the storyline was completely unimplemented. I planned to add in dialog and cutscenes after the gameplay was mostly complete. I started working on a script for the game that was extremely weird and jokey. It ended up getting scrapped pretty quickly because A. It didn't mesh well at all with the on-screen action and art and B. It sucked. Click here to read some of this wackiness.
August 2004 - December 2004
I shipped my computer to my new apartment near USC and once again began work. One thing I hadn't counted on when I had begun work the previous April was that school was about to get a whole shit-load tougher. I am one of the worst chemistry students of all time. Since computer science majors at USC are required to take two massive general science courses and I hadn't taken the required math yet to take physics, I was stuck taking the subject that had yielded me my lowest grade ever in high school-- a C+ (yeah, I was a real smarty-pants). It demanded a ridiculous amount of my time, and on top of my other subjects, I didn't have a ton of time for the game.
Yet, I managed to get a lot done this semester, as a I opted for a very hermit-like lifestyle for the time being. I completed everything up through the vertical section of the Robe factory, with the exception of the island boss battle. I also developed a standard technique for creating each of the scenes, which involved mapping out the events and puzzles in the format seen here. Pretty fancy, eh? At this point, the storyline remained nonexistent in the game.
I was very hermit-like during my junior year, which apparently means I became a decrepit Asian man.
January 2005 - May 2005
This ended up being my toughest semester academically yet, thanks in no small part to my second chemistry course, for which I ultimately earned a solid D. As a result, I got next to nothing done on the game. I completed the top floor of the Robe factory, the demon fighting scenes, and a tiny bit of the train. I also created a special pre-pre-alpha version of the game to present in a video games class I was taking. Our final assignment had been to create a game in a program called Game Maker, but given my course load, creating a new little game from scratch didn't sound particularly tempting-- especially when I had this giant mother of a game sitting on my PC. You can download this early version here, though I have to warn you: it's pretty rough. In case it's not obvious when you begin the game, you'll have to use the number keys to warp to different scenes from the title screen.
Shiloh, OMG Hottie McHotterson.
I also used the digital camera that I'd received the previous Christmas to take pictures and video of my friend Shiloh, who played Kathryn, for her in-game sprite and cutscenes. This marked the first cutscene content that I recorded. Click here to watch a video displaying my fine directorial skills and strong ability to get my actors to cooperate.
May 2005 - August 2005
This was without a doubt my most productive period throughout the course of BHAH's development. I had no job, and given that the opportunity to make any real money was nowhere in sight (plus I was back in my parents' house), I figured that it would be more worthwhile for me to get as much work done as possible on the game before going back to school.
With the exception of the final battle, all of the basic gameplay was completed by the middle of the summer. However, after testing the game with a number of people, it was clear that the controls needed to be tightened up a lot. In earlier builds of the game, the controls were far less responsive, and required the player to learn the very specific ins and outs of the controls if they wanted to get anywhere in the game. I now realized that no one really wants to be grappling with how to effectively use the controls, they just want to get through the damn game. For some insight into how sluggish the controls initially were, check out the alpha version described above. User feedback that I received around this time period also resulted in me putting a lot more checkpoints.
Toward the beginning of the summer, I began working on the version of the script that actually made it into the game. I knew that the dialog had to be kept relatively simple and to a minimum. There were a couple of reasons for this. First of all, I didn't want the game to be dialog-heavy. It's first and foremost an action-adventure, and while cutscenes are a nice break from the action, players will tend to get antsy if you're too long-winded. I think the lengthy scene between Vince and the Robe at the holding facility may be a bit on the exposition-heavy side, but even that, the longest cutscene in the game, is only a couple of minutes long. My second reason for keeping the dialog to a minimum was the voice "actors". I didn't feel like forcing my friends to read off dialog for hours with no fan or air conditioning during the incredibly muggy summer months of the east coast. Despite these conditions, I was able to get some high quality recordings.
While writing the dialog, I was fully aware of its ridiculous cheesiness. That was my intention all along. I consider the game to be sort of half-parodying big-budget action movies. Whether I actually succeeded in making the dialog appear "campy" as opposed to just "bad" is questionable, and depends largely on the individual player's view. Most of the dialog wasn't overtly humorous, but rather extremely earnest and straight, despite the ridiculous proceedings. I wanted the humor to stem from this campiness. People often chuckle at the in-game dialog, which is hopefully due to their "getting" the tone as opposed to just thinking I'm an idiot for writing such crap.
After tearing through the writing process, I planned out the camera angles and animations that I'd need for the cutscenes. I ran into a bit of a snag when my friend David broke up with his girlfriend Laura, the girl who played Anna, shortly before I was supposed to record her pictures and animations and record her dialog. It was a horrendous breakup that turned him into a pathetic mess of a man, but he reluctantly allowed me to use her in the game after about a month. I'm still a terrible friend, though. All of the pictures and footage were shot in my backyard and inside my house. Using these, I completed the vast majority of the cutscene art during this period.
David and Laura in happier times. I taunted him mercilessly about this suit.
By the end of my summer vacation, the game was playable nearly from beginning to end in a rough state, with most of the cutscenes and dialog in place. None of the sound had been implemented. Still, it was very satisfying to see the game coming together. I figured that I had a good shot at completing the entire thing by the end of the year. Seemed reasonable at the time...
August 2005 - December 2005
Back to school again, at yet another new apartment. I recorded all of my own dialog, got some more dialog and footage of other cast members, began splicing together the dialog, started timing the cutscenes appropriately, and created/found a bunch of sound effects. Once again as expected, school became a giant time sink, but I still got more work done than I had the previous semester.
Without the input of my testers, this is how it would feel to play the game.
School did yield one very good opportunity for me in regards to BHAH's completion. I started taking a video game quality assurance class, in which my professor Tim allowed me to use his students as beta testers in mid October. Many of them felt that the game was too difficult and frustrating, which I had completely expected. But, upon witnessing this large number of people play the game, I came to a certain realization: I was going to be distributing this game for free, and no one is expecting a massively time-consuming game. They'll be happy with a shorter, perhaps more enjoyable experience. So, I toned down the difficulty of some of the more frustrating areas. Sure, sections of the game can still be pretty challenging for most players, but there aren't as many that will keep players stuck for a maddeningly long time. Gauging how well players were really taking to the storyline and cutscenes was a bit more difficult, but they seemed to appreciate the cheesiness. If you want to play the rough version of the game that this class got to play, you're in luck, because I've made it available here.
January 2006 - April 2006
I spent a good portion of this time completing the game's soundtrack. It was written using the same software that I used to create the soundtrack for AfterShocked!, but I think the results are a bit more accomplished this time around. Using a program called Noteworthy Composer, I essentially plunked down every note with my enter key, since I don't have a digital piano or even piano playing skills. I wanted a lot of variety in the music, with new tracks for each gameplay scene, and cutscene music that would follow the dialog and action on the screen. All in all, I ended up creating nearly 50 minutes of music, which I find to be an odd mix of videogamey and film-score orchestral. For anyone who wants it, the entire soundtrack is available here.
I finally got around to adding in the final boss battle, but there was still a certain pressing matter that I'd been completely neglecting-- I had no idea how to end the game. I didn't want to go with a super-obvious ending, as I thought that would have been a little dull. So, my girlfriend Nathalie, who also acted in the game, helped me come up with the current ending. Though this ending will probably piss off a few people, I like it because it allows the player to interpret the events of the game in a couple of different ways.
Girls, if you want to act in a computer game, here's a hint: start dating the designer! P.S. There are too many prom pics in this article.
I also spent time tuning the game and fixing bugs based on the feedback I got from my previous beta test. Since I was now a teacher's assistant in the games QA class, I was able to test a near-final version of the game in April in order to get feedback for the final bits of tuning. I was pleased to see that the class seemed to be responding to the game better than in my previous test.
I stopped work on the game after this beta test. The reason: I was about to graduate college and I wanted a job at Blizzard, so clearly I needed to start playing World of WarCraft, with which I had no experience other than watching my friends play it and calling them massive nerds, to which they would respond "you're making a computer game".
June 2006 - July 2006
Having graduated from USC and gotten a QA job at Blizzard, I began work on BHAH once again from my new apartment in Irvine, California-- the fifth location from which I developed the game. This is a far cry from AfterShocked!'s development, which took place entirely in my parents' basement. The home stretch in developing any game can turn out to be a lot longer than anticipated. Sure, it doesn't seem like there's a lot left to be done, but the amount of small fixes that need to be made can be staggering. The little things that you ignored before have a habit of piling up. And the truth is, you can never really consider a game "finished" because there is no such thing as a bug-free software product.
AfterShocked! is a good game, but its lack of polish makes me shake my head in anger and disgust. Well, not really. Only disgust.
At the very end of BHAH's development, it came to my attention that AfterShocked! had stopped functioning on a lot of PCs, due to what I assume to be some incompatibility between the AGAST engine and a recent Windows update. Since AfterShocked! was built on an older version of AGAST and the newest release didn't have this problem, I began updating the game to run on this latest version. This was a more complicated endeavor than I'd anticipated, but it gave me a chance to look back and see how far I've come since the those turn-of-the-millennium days when AfterShocked! was developed. It's very clear that I'm much more of a perfectionist now than I used to be. AfterShocked! has a lot of rough edges that I would never have left in if I were releasing it today. Part of this stems from the fact that I'm a much more capable coder today. Whereas before I barely deviated code-wise from the examples that the AGAST developers included with the engine, most elements of BHAH were created from scratch. It ultimately ended up being a much more polished effort.
When the new version of AfterShocked! was complete, I began working on a BHAH website and preparing a strategy for releasing the game.
Continue to Page 2
Back to the Between Heaven and Hell website
Back to MadGames