Gauntlets of Recursion (+3)

Times, trials, and turbulence.

Ludum Dare 22

I decided that I would enter Ludum Dare this year. I made a game about refrigerators falling from the sky. It’s a physics-based platformer called, “Alone in the Rain”.

The world is ending. Destruction is raining down upon the world. It will all be over in four days. We all saw it coming — nobody is really all that surprised.

What is surprising is the manner in which the destruction is raining down: refrigerators? From the sky!?

There is an underground shelter that people are gathering at. Families and friends are attempting to reunite there in order to spend the final days of the Earth together.

Nobody wants to be behind. Nobody wants to be left alone..

Alone in the Rain was written in 72 hours, from scratch, in C++, using the lovely Allegro game library and the powerful Chipmunk physics library. The game has been (painstakingly) ported from OS X to Windows and Linux (don’t hold those four (4!) hours against me). cfxr was used to produce the delicious 8-bit sound effects. GIMP was used to create all of the graphics. This game features my first attempt at a human sprite and walking animation — huzzah!

There are five areas in total. The game is surprisingly challenging and unmerciful, although (in this author’s opinion) quite fun to play and experiment with. I am absolutely thrilled with the final result, and cannot wait to see what fun games everyone else has come up with!

Download Alone in the Rain

GunDown debuts on the App Store.

So it’s been a painfully long time since my last post. Over the last few years my steadfastness to maintaining an online journal of my development adventures has slowed down. Or, perhaps, the overall amount of game development that I’ve been doing has dwindled instead. Such are the quirks of getting older and shouldering more responsibility. Still, it’s important to me that I chronicle my work, so I intend to be making a solid effort to get back into the routine of posting here.

That aside, I have a lovely announcement to share: GunDown is now live on the App Store! Believe it or not, this is actually somewhat old news. GunDown 1.0 went live right near the beginning of August, and its corresponding promotional website (link) was put up shortly after. Web design, not being one of my fortés, was done by the talented Kristina Foster (link), while I cobbled together the necessary tidbits of HTML, CSS, and minor graphics manipulation. It’s a bit slow to load — grumblegrumblelargePNGsgrumble — but on the whole it’s pretty easy on the eyes and I think it does the game justice.

As of yesterday, I pushed out the first update to GunDown, version 1.1, to the App Store. It includes several bug fixes as well as a cleaned up HUD and some tightened-up controls. The free version, GunDown Lite, has been submitted to Apple, and is just awaiting their thumbs-up before going live as well. Interest in the game has been fairly low, but I expect the relase of a free version will garner some degree of interest amongst the legions of iOS gamers out there.

Barring some adverisement here and there, and maybe a few bug fixes, I more or less perceive GunDown as a finished product. Its development was definitely an enlightening and horizon-broadening experience, but I’m ready to move onto something new after a year and a half. So yes: I am definitely ready for a brand new, exciting project. Several ideas are incubating in my head; expect more from me when I have something a little less ephemeral ready to share. Thanks for reading!

GunDown on its way to the App Store!

It's done!

I have a really hard time fully grasping just how long ago it was that I began a little game named GunDown. The prospects for it were actually pretty slim, actually. I believe my original thinking for the game was: “something small, based upon a gameplay style I’m already comfortable with, that will take 2 or 3 months to complete and release”.

*snerk* Yeah, that happened. What was supposed to be a short iPhone project to get a taste for the App Store ended up being a little bit more than ambitious. Weighing in at 13,968 lines of Objective-C, 469 commits to my Git repository, GunDown is finished and on its way to being published world-wide on the App Store!

According to Git, my first commit to the project was on February 18th, 2010. I have sunk an ungodly number of hours into this game (several hundred at least), and not only that, but I managed to suck in two other talents: one for his pixel art and musical talent, and the other for her sublime digital artwork. Without either of them, there is absolutely no way GunDown would have become the completed, polished, fiendishly addictive game that it is now. Thanks, you two. I’m going to have to pop open some champagne for us when we go live on the App Store. =)

Despite the code being written, the game being balanced, and the menus all spruced up, work is not quite yet complete in the world of GunDown. Now that I’ve shipped off the binary to Apple I need to refocus my efforts on some areas that I am sorely inexperienced in. Namely, the game needs a website, and to be marketed and advertised. I am admittedly much less worried about the former than the latter. Kristina has already designed me a bitchin’-lookin’ website which just requires a bit of HTML and CSS from me. The domain ( is purchased already too, so the plan is to spend this week (while Apple is busy reviewing the game) getting the website up and to start building some hype. More news on this as it progresses. But don’t be shy: tell your friends about GunDown!

Silence != Slack.

I have been waiting far too long to make this post (read: six months), but yet here it is.  Let’s quickly recap on what happened on yesteryear’s episode of, “I’m that guy who likes making games”:

Stephen: Wow, I’m working for local start-up X doing iPhone development!

Stephen develops iOS software and learns much about iOS, Objective-C, and OS X.

Stephen: This is sublimely grand.  I should get my own hands into this.  This mobile market is going to be huge!

Stephen purchases a MacBook Pro, an iPhone 3G, and an Apple iOS Developer License.

Stephen: Wow, I’m bloody broke!  But that’s okay; I’ll whip out a quick iPhone game based on one of my simple existing games, GunDown, and make back my expenses lickity-split.

Stephen works on GunDown, as he has free time, for ten (10!) months.

Stephen: Holy macaroni, it’s been nearly a year and this blasted game still isn’t done!  Sure, it’s real pretty-like, but still not finished.


Missile time!

And so here is where I now stand, with GunDown approaching a year of development, and my iOS Developer License gearing up to expire as of this March.  That’s no good.

What’s the problem?  I mean, GunDown — I’m going to assume that you’ve either played it or took a good long look-see — is ostensibly a simple, straight-forward game.  When I first started the iOS port, it was just that: a port.  As close as I could get to a 1:1 mapping of the desktop version to a touch screen version.  Heck, at one point the “port” had virtual controls and looked much more like the (admittedly hideous) original:


Rockin' the virtual thumb controls.

So one might say that I took GunDown to the next level: professional artwork, vastly improved controls that just work with a touch screen interface, smooth animations everywhere, a killer soundtrack, and lots and lots of attention put into the details.  The devil is in the details, they say.  Goodness knows how true it is.  I feel like the last half-year has been details without any sensation of “major” accomplishment.  The pay-off: this game feels nice and sleek to play.

There is not a whole lot left to be done before I can flag the first release of the game as “complete”.  The last 10% does have a way of taking 90% of the time though, so innocuous-looking items on the todo list like, “balance enemy waves” can easily take a fortnight to get just right, since there is really no way of testing this other than playing the game through over and over again until it just “feels” right.  Why oh why did I commit to having thirty levels? *grin*


Why I’m Hugely Excited.

The future.  And, by extension, the possibilities.  Oh goodness the possibilities.  When GunDown is ready for release, I will have the (entirely pleasurable) experience of marketing my game to the (literally) millions of iPhone and iPod Touch owners out there, getting heaps of feedback (the good and the bad), and, maybemaybemaaaaybe, all or part of my initial investment (MacBook, iPhone, license, etc.) back.

Then comes the even more exciting item: I get to start on a new project.  Rapture!  I have a list of possible/exciting iOS games a mile long that has been growing in my game development notebook for the last ten months.  I cannot wait to get cracking on them.  Of course, this will be nicely tempered with the release of updates for GunDown as well.

One more fun item full of promise: the iPad.  I realize that I’m a year late to the party, but this is a really hot and powerful device that utterly reeks with potential for amazing and immersive games.  Of course, many developers have already demonstrated this with great skill.  Assuming GunDown does well enough, I would love to get my hands on one of these and experiment with all of the possibilities that game development on it presents.

There is also Android, which is another really exciting topic that I wish to drone on explore at length.  My goodness, what a fantastic time to be a game developer. =)

Until next time.

Diagnosis: Not enough game development?

I had originally begun scrawling out a very different, far more long-winded entry that dug rather deeply into the nitty gritty details of what I had been up to for the last several months as well as where I am now. However, it struck me that it would likely be much more interesting for everybody if I stuck to the cliff notes version of my tale for the time being.

The short of it is the usual student/hobbyist game developer tale, tempered with woe and time mis-management: “school, co-op, and even a semblance of a social life have been consuming my waking hours, and have been doing a darned good job at it”. That would be the typical, “oh, have pity upon me!” sort of excuse, and it’s not really one that I stand for.

A more fair and accurate depiction of the last several months is: “yes, I have certainly been busy, but the real thing preventing me from working on game development is myself”. What began as, “whew, these courses are tough, let’s put gamedev on hold for a week or two” grew into a month or two, and eventually grew into several more. However, game development being something rather near and dear to my heart, has nevertheless been on my mind this whole time, just something that I had somehow conditioned myself not to bother acting on.

It’s such an odd and disturbing realization when you sit down and think, “golly, I honestly cannot remember the last time I sat down and put an honest few hours into working on a game”. That might not be a big deal to everybody, but after completing several [decent] games over the course of several years, and having been used to almost always spending chunks of free time coding, it’s been really *weird* not having it integrating into my weekly regimen. I want to make more games, darnit!

Into a challenging marketplace.

Presently, I am on my fifth co-op term along my route to graduating from the U of Waterloo’s Computer Science program. I have been working for a small start-up company in Waterloo that specializes in social networking apps for the iPhone and iPod Touch.

Without jumping into too many details — and evading NDA-induced unpleasantness — it’s sufficed to just say that I’ve had a most wonderful opportunity to do a lot of work with Objective-C, iPhone app development, as well as finally learning my way around the Mac OS X operating system.

Given that, I’ll pose the question that I’m sure hundreds of wide-eyed developers have asked themselves since the iPhone’s inception: “gosh, wouldn’t it be well if I wrote a game or two for the iPhone?”. Sounds too perfect, right? I have full access to the Macs at my university, own an iPhone, have two months of experience in working with Objective-C and Xcode, and experienced folks at my place of work who have no qualms with answering any development-related questions I might have. Plus, it’d sure be nice if I could accrue some profit from the ordeal. The App Store is a pretty saturated market though, so I’m not holding my breath on that last point.

Point of entry.

Anyways, some kindly gent during a previous Summer of Code wrote a very good beginning to a port of SDL for the iPhone. It supports 2D and 3D (via OpenGL ES) rendering, accelerometer support, multi-touch support, and does so all within the same interface of SDL that I am rather familiar with. Perfect! That lets me simply work in pure C and use a library I already know, as opposed to getting to heavily immersed in Apple’s development dogma.

Right now, it seems like my best option is to test the waters. I want to get a game or two out there just to gauge how the market reacts. How can I get something out there fairly quickly? Let’s port some of my existing games. That will allow me to evade most of the usual necessary design and graphics work, and simply focus on writing the code and polishing out whatever rough edges were left over the first time through. If I manage to make back my initial investment for the Apple Developer License, that would be perfect.

For simplicity’s sake, I’d really like to get the ball rolling with Gundown, a small, fairly addictive game that takes a bit of a twist on the typical arcade shooter. I really think that it would lend itself nicely to accelerometer controls, and is small enough scope-wise that it shouldn’t take long to port.

Meagre beginnings.

It feels really nice to have something “on the table” again after so long — especially since I get the opportunity to work on an embedded system. More than that, the chance to revisit the original concept and design for Gundown, and being able to tweak and improve gameplay and artwork and polish is a really enticing notion.

Until next time.

An update.

Of Life

Whew, it’s been a while.

Exams are long since finished — which went well, to all parties who are curious — and I’ve been ‘vacationing’ back home until the end of the month. It’s nice to see the family, but I’m eager to get back to uni and get rolling on my co-op position this fall.

Of GameDev

I’ve been project-hopping pretty badly for the last few weeks, which means that lovely screenshot of that dungeon crawler in my last entry is probably the last that will be seen of it. I need to cut the ambition down a few notches.

I’ve been toying with the idea of a small not-too-ambitious little Wolf3D-like game, which I think grades nice and low on the ambition-o-meter. According to my “research”, this might fare well:

The Ambition-o-Meter

The Ambition-o-Meter

I figure if I embark on a project that’s pretty darn simple, motivation should be a plentiful commodity, since there’s less tricky stuff (like networking :P) to get caught up on. Membrane Massacre began much the same, and it resulted in a completed game. We’ll see where this one takes me.

Humble beginnings.

Humble beginnings.

Pillar Dungeon

My first two finals are tomorrow, and I am once again up too late working on “certain things”… 🙂

No monsters? No lighting? No problem!

No monsters? No lighting? No problem!

Rise of the GP2X; Fall of Skirmish; Legacy

GP2X Arrives!

Several days ago a little bundle of joy arrived on my doorstep. No, not a baby, my precious little GP2X. It’s every bit as groovy as I had hoped, and after acquiring a 2GB SD card I’ve already installed a ton of software. The community has already matured enough to have produced many emulators, so I’m playing Genesis, SNES, NES, and GameBoy games on this thing like nobody’s business. Not to mention ports of other excellent PC games, such as Duke3D, Quake, Cave Story, and CDogs.

I’m not sure if I’ll be getting into the homebrew gamedev scene for this device, but for now I’m more than satisfied with just being a gamer. 🙂

Fall of Skirmish

No, Skirmish isn’t dieing, I’m just making a pun. I’m still really busy with studying for exams, and simply just haven’t been in the Skirmish mood lately. I’m slowly working on a side project at the moment, for the month of August or so. I want to pick Skirmish development back up in September, thus making it the “Fall of Skirmish”. Ho ho ho, get it? Sorry.


The code-name of my side project for August. I don’t think it will be finished within the confines of a mere month, but I just felt that I needed a change for a little while after a year of working on Skirmish. I’m not sure exactly where it will go, but I’m satisfied just with working on it for now.

The viewstyle, as you can see, is a sort of 3D-rotatable-isometric type. I’m not sure what other game it’s comparable to, so for now it feels sort of unique.

The original plan was to use voxels for the map components and draw them in real-time, which fell through as I became less interested in writing tricky rendering optimizations and more interested in actually making a game. So I’m currently working on moving it over to use OpenGL and 3d models for rendering, after which things should be a lot easier to work with. This is particularly interesting, since I’ve been looking for a chance to play with 3D programming in OpenGL and 3D modelling for a long time.

We’ll see where things go, but I’m leaning towards a sort of fantasy hack ‘n slash adventure, which the existing tiles might suggest. 🙂

Back online — already.

I have my new development journal set up now on the free webspace. It’s not as fancy as before, but it’ll do for the time being. Unfortunately I wasn’t able to migrate my post attachments with everything else, so all of my posted images/screenshots will be vanishing sometime soon. I have them all on my harddrive still, so I’ll have to see about getting a gallery set up.

Progress on Skirmish has been deathly slow as of late, since final exams are just around the corner. I finish these around the middle of August, so I expect progress to leap back into action somewhere around there.


I finally ordered one of these awesome handheld gadgets, and am impatiently awaiting its arrival. I just learned that manufacturing has just recently been discontinued, :(, but I’m happy that I will at least be getting one of the last ones left.

These things are geared really strongly towards homebrew developers, and I’ve always dreamed about developing on limited non-PC hardware, so this will be a huge adventure. No doubt this will suck up a good chunk of my development (and exam studying 😉 ) time as soon as it arrives!

Dual 200mhz processors of FUN.

Dual 200mhz processors of FUN.

Announce thyself!

I’m very curious if anyone managed to find my new journal location amidst the sudden and spontaneous host change. Please take a moment to place a comment, if you wish to help sate my worries. 🙂

A year of toil…

Happy Anniversary Skirmish!

Whew, it’s hard to believe it’s been (a little over!) a year since I started this wild ride of Skirmish. Why, I can still remember how crude my early engine work looked. Actually, it looks frighteningly similar to what I have now. 🙂

While the ‘dream’ of Skirmish started many years ago, the work that has led up to what I have today began during lengthy train commutes to-and-from my first co-op position downtown. It started as an engine over OpenGL, gradually became a ‘tech demo’ of sorts, grew to have a map editor, then a master server, then networking of its own, and heck, by now it’s just about at the point where it could be called a ‘game’!

Although any reader can go back and see my several tangent project attempts through the year, none of them were able to draw me far away enough from Skirmish for long. I’m incredibly proud that I’ve manage to stand the test of time on this project, and genuinely feel that now that I’ve survived this, nothing can stop me from taking Skirmish all the way to prime-time. 🙂

Ahem. Progress?

Ah, yes. I haven’t updated for a little while, but it’s not from lack of getting work done. The vast majority has simply been in the category of miscellaneousness. Bug fixes, GUI/HUD tweaks, minor additions, code refactoring, and all of the other things that nobody likes to hear developers talk about. It’s not the glamourous side of game development, but it’s definitely a necessary one.

That said, fun is waiting just around the corner. The ‘major’ feature that I’ve been working on between bug fixes is reloading, which is more or less done. With just about all of the small-scale work done, I’m finally free to slide into the bread and butter of this milestone: health, death, and respawning. At last! Skirmish is almost a real game! 🙂

Just a little more code…