Sunday, May 8, 2016

McGrimm's Time Trap

Last December I was on a plane returning from Cape Town to Durban and I spent the time contemplating game design ideas. The concept I came up with was a simple action-based evasion game where, instead of having computer-controlled opponents, it stores and repeats player-generated gameplay. Basically, you become your own opponent.

This evolved into a time-travel based concept where the player is cursed to repeat the same scenario over and over again (like in the movie Groundhog Day). Except, in my game, your previous incarnations would still be present. Occupying the same space as your previous selves would disrupt the space-time continuum, and so you must evade previous versions of yourself.

On the technical side there was a bit of work involved in order to store and replay the player's actions in a way that would not be too memory-intensive, but at a high enough resolution so as to be accurate. Fortunately it ended up working well without much hassle (basically I just store snapshots of the player character's state periodically and then, when replaying, use interpolation and extrapolation for generating state information between snapshots). The core gameplay was done over the course of the next few days.

Of course, adding polish and getting something that is bug-free and fluid enough to release ends up adding significantly more time to any project, and I (like many developers) tend to lose interest and thus neglect most of my projects after the initial creative proof-of-concept phase.

But I've been trying to be more disciplined and follow through on my projects, so I recently spent some time getting the game ready for release on iOS. It's pretty much done, I just need to push through that last cumbersome step of actually deploying it.

I struggled to think of a good name. I ended up going with "McGrimm's Time Trap". I  don't dislike the name, but don't think it's amazing either. It sounds pretty generic, but I can't think of anything better.