Game jam retrospective or: how to finish that side project

14 Mar 2020

Categories: Retrospectives Side projects Tags: Games Motivation

Last November I participated in GitHub’s Game Off 2019, one of the many game jams hosted on

The idea of a game jam is similar to a hackathon: participants have a short amount of time to design, develop, and release a functional game. Often, they specify a theme that submissions should adhere to or be inspired by. There can also be a competitive element whereby games are judged and rated against each other.

One evening in late October, I saw a “Game Off 2019” call for submissions on Twitter and decided it would be fun to try out. I have never participated in one before, nor am I a game developer. Luckily the competition wording was very welcoming, featuring a prominent “Help—I’ve never created a game before” section, so this did not seem to matter.

A month later, following some weekends and weeknights of poor Photoshop and even poorer Python, I debuted my creation to the world: get dem nuts1, a squirrel-themed, 2D, tile-based survival game.

Screenshot of 'get dem nuts' showing the red squirrel protagonist in a tree, with a grey squirrel and fox NPCs running around the grass below

Ultimately (and despite the adorable premise) get dem nuts didn’t do particularly well, coming 216th out of 234 entries. This wasn’t particularly unexpected and I’m grateful that even a couple of people took the time to download and score it. However, this retrospective is not about what I could have done to improve that score, but rather the lessons I learned from the way I approached this as a side project, and how I can apply those lessons in future.

Screenshot of 'get dem nuts' score on ranked 216th with 2 ratings (Score: 1.069)

Goals and approach

My motivations for taking part in “Game Off 2019” were twofold.

First and foremost, I wanted to have fun by building something that is very different to the kind of things I normally work on. This I undoubtedly achieved. I had an absolute blast. The overall experience reminded me of hacking together similar games in QBasic almost 15 years ago, the genesis of my journey in programming, computer science, and my career in general. I found Python with pygame to be very similar in spirit to the QBasic environment: a blank canvas, ripe for projecting one’s imagination directly onto. It brought back floods of nostalgia and memories of a simpler time.

My second goal was to ship something usable by a deadline. Like many people, I have problems finishing side projects. Often once the initial novelty of an idea has worn off, or I’ve developed a sufficiently working prototype, I get bored and move on to something else. I felt that having the external competition deadline imposed on me would help me maintain motivation. With this in mind I realised that a different approach was needed. I had to treat it more like a focussed work project than an open-ended side project.

What does this difference mean?

Applying these lessons in future

The techniques above are not new to me: I use them in various forms every week at work. The problem is finding the motivation to use them to see a project through to the end.

At work, motivation for completing projects is in no short supply as there are consequences—both good and bad—for hitting or missing deadlines. At home, less so. In self-help parlance, this is the distinction between extrinsic and intrinsic motivation. I believe that the external deadline of the game jam, even in spite of its low stakes, provided just enough extrinsic motivation to trigger a change in mindset. A positive feedback loop then ensued, keeping my intrinsic motivation “topped up”, and enabling me to complete this project.

So, the question is: how can one emulate that extrinsic motivational trigger when the stakes are even lower for the next side project that is not being judged in a competition? Some ideas:

Once that initial motivation has been sparked, use the techniques above to maintain momentum: plan, prioritise, retrospect, and iterate in response to feedback and insights.

Finally, remember to be pragmatic and prepare to adjust expectations as the project evolves. Trying to stick to clearly unachievable goals can be highly demotivating.

  1. get dem nuts can be downloaded on and its source code is on GitHub↩︎

  2. I used the fantastic PyInstaller to create stand-alone “get dem nuts” executables for Windows, OSX, and Linux. ↩︎