My game will go on

Creating your own computer game sounds like fun, but there's a reason why most good games take a year or more to develop, as Angus Kidman discovered.

Published in APC,
June 2000

At the heart of this story is a simple fact that has nothing to do with technology: I loathe Celine Dion. Nothing irks me more than her over-emoted, over-produced MOR schtick, except possibly the fact that it's so massively successful.

Moreover, I'm not willing to simply keep my hatred to myself -- I want to share it with the world. At first I was content with routine abuse of Ms Dion on my Web site, but with so many other people determined to attack the caterwauling human breadstick (Celine Dion hate sites merit their own category at Yahoo), I wanted a more individual approach. And so I decided to develop an anti-Celine Dion game.

I hadn't worked seriously on developing computer games since the late 1980s when, like many a geeky teenager before me, I spent hours in front of an 8-bit machine laboriously typing in and modifying magazine listings. From there, I progressed to creating my own games. In those pre-Net days, I had a relatively obscure machine (the Amstrad CPC 6128), so almost no-one, aside from my brother, got to play them. After he gave the thumbs down to a neatly designed but stupid game called Mountain (it included a sequence in which the player had to travel from one side of the screen to the other while avoiding a single bomb which didn't actually move), I decided to leave game developing to the professionals.

However, I was forced to reconsider my position when I found myself thinking that murder would be a socially acceptable response to hearing 'My Heart Will Go On' one more time. A game seemed less likely to get me arrested, and aside from the fact that I'd have to work on graphics of Celine's face, it might even be fun.

I didn't want to repeat the mistakes I'd made with Mountain. In my new software developing persona, I wanted things to be different, focused, even semi-professional. I wanted a game that looked halfway decent, that used fairly standard controls, that had zappy sound effects and that could be distributed easily over the Net. I eventually achieved the last goal, but most of the others eluded me along the way.

Selecting your tools

Despite my previous amateur programming experiences, I didn't want to do anything as drastic as learning Visual Basic just to have a go at Celine Dion. I toyed briefly with the idea of using Macromedia's Shockwave, which allows you to do all kinds of neat interactive stuff if you put in the hours needed to master it. In the end, I settled for a product called Klik & Play (K&P) developed in France (K&P is now known as Multimedia Fusion).

Unlike more general development environments, K&P is specifically designed for developing games under Windows. It doesn't rely on a programming language; instead, you create a series of objects (backgrounds, players, sounds and so on) and define the way they interact. The only major restriction is that you can't sell games created with it, but I wasn't in this for the money.

By the time I discovered K&P in late 1998, it was already three years old. This explains why it can still develop software that runs on any Windows platform from 3.1 onwards. No revisions had come out during that time, but the product continued to sell.

After reviewing it for a 1998 roundup of general game creation tools, I felt confident that this was the best platform on which to virtually eviscerate Ms Dion. At this stage, I had a number of publicity shots of Celine from her official Web site and venomous hatred coursing through my veins. What I needed was a concept.

My first idea (I'd hesitate to call it original) was to pursue Celine Dion through a platform/maze environment with a gun that never ran out of ammunition. However, I quickly abandoned this plan because of a restriction in the way K&P works; it doesn't offer any kind of lockable grid when you are placing objects in the game background, making it very hard to build environments with any geometric consistency. (This problem is apparent in some of the public domain South Park platform games built using K&P; all the scenes look like they've just been hit by an earthquake.)

The background editing tools in K&P were so limited (for instance, there was no easy way to vary the background from scene to scene while keeping the same fundamental gameplay rules) that I quickly abandoned the plan to design my own series of backdrops and opted for one of the built-in backgrounds. Sparing the world my undeniably dubious artistic talents was an added bonus.

K&P allowed me to easily assemble complete executables without having to worry about the niceties of compilation, but it restricted the way the game could be designed. This is an all-too common scenario in development: your choice of tools often dictates the form of your software.

For the background, I eventually chose one of the supplied images: a theatre with an uncanny resemblance to the Muppet Show set. I briefly contemplated giving Miss Piggy a cameo role, but decided that even in a non-profit game that could raise copyright problems. Instead, I added a ghostly image of the Dionster, created by applying a polarising effect.

After experimenting a little, I came up with a basic premise for the game, now entitled 'Escape The Killer Celines!' (ETKC! for short). The player is trapped in the theatre with a rampaging Dion, and has to avoid all contact with her -- touch her and you die. To add to the challenge, an additional Dion appears onscreen every 15 seconds (a none-too-subtle reflection of my feelings about on her mass-media dominance). While Dion bounces diagonally all around the screen, the player is restricted to the standard up, down, left and right keyboard commands have those keys.

In development terms, ETKC! was extremely simple to achieve, and only required four main elements on the screen: a timer, an indicator of how many lives were left, a figure for the user and Celine herself. The first two elements were supplied with the development environment (which is sensible; how many games have you played that don't include a fixed number of lives?). All I had to do was design the Celine and user graphics and program the behaviour of the objects.

The programming was done in the K&P event editor, which used a simple 'checkbox' interface to assign specific actions to given objects in the game. These actions included what happened when either the player or Celine hit the outer boundaries of the board (Celine veers off randomly, the player bounces back in the opposite direction); when a key is pressed (the player changes direction); or when a given period of time has passed (a new Celine appears).

Editing by mouse-click in this way was very simple, but I sometimes yearned for a scripting language, which would give me greater control. I wished even more frequently that the system had proper cut-and-paste options, so that I could copy similar behaviour and then just modify it as needed, rather than going through the entire definition process each time.

Cheat mode

I wanted ETKC! to have a built-in cheat mode, like any commercial game, so I added a feature to allow players to reset the number of lives in the game back to the original five at any point. As with many cheat modes, this was also useful during the development phase. Even though it's an extremely simple game, I'm not very good at ETKC!, and having an endless number of lives was handy for testing.

However, in an object lesson about the importance of maintaining good development documentation, I failed to note exactly what this keyboard shortcut was, and 18 months later, I've completely forgotten it. I know it was Ctrl and another key, but I can't remember which one. Editing the original source doesn't help, because K&P shows the key press as an invisible character between quotes, and only allows it to be changed, not displayed. Of course, I could create a new cheat key and recompile the game, but that would hardly be fair to existing users.

The graphics were much more difficult. It took quite a bit of work just to shrink down Celine's head and keep it vaguely recognisable. K&P allows you to change the appearance of a graphic based on the direction it moves in, but I soon abandoned this approach as it was impractical for a small photographic image; it just didn't look right. A cartoon caricature would have been simpler, but I lack any artistic talent and wasn't inclined to pay someone to come up with a drawing. I used a supplied icon for the player; I hadn't originally planned to make the character lime green, but it seemed the best colour to stand out against the backdrop.

Once the basic gameplay was completed and tested, there was only a small amount of tidying up to do. I wrote a simple rules screen that launched when the game began, and another for the inevitable moment of defeat. Using DoReMix (my favourite compositional tool), I came up with some generically cheesy AOR background music, which quickly became so annoying that I was reaching for the mute button on my toolbar. I exported the game in executable format and zipped up the files.

And that was that. In the space of a few hours of one weekend, I'd developed a playable, if far from earth shattering, game. I whacked it up on my Web site, where it has since received the occasional favourable email from fellow Dion loathers.


So, what lessons did I learn about games development? Probably the most important is that (surprise, surprise) it really isn't a one-person task. I think I'm up to grappling with logic and gameplay issues, but I definitely needed someone with artistic flair and patience to develop the look of the game. Extra animation would have given the package an edge; while it looks better than many of the mid-'80s 8-bit games I grew up on, it's like amateur night at the local RSL next to even the lamest commercial PC game.

The second lesson is that a full-blown development environment would better handle any game of more than moderate complexity. Although this might make certain tasks harder, the additional flexibility and control would probably be worth it. It would also give me new skills that might actually further my career.

Finally, the notion that expounding your hate is cathartic is a crock. Despite having written the game, I hate Celine just as much as ever.