HOME About NCOT Documentation Social Media Mastodon Support Me

Drink tea and make things

Blog Electronics Labs ZX Spectrum Next Computer Science Z80 Homebrew Computer Arduino and Microcontrollers

GMTK Game Jam 2019


It’s been a long time since I entered a game jam, the last ones being the One Game a Month jams back in 2014. This one was the GMTK Game Jam 2019

Friday Night

So the challenge was to make a game around the theme Only One. At first my idea was to have some sort of arena shooter where you’d have only one life, and there’d be only one level or something. It seemed like an OK idea at the time. There could be one baddie and I’d figure out the rest later.

To stop me farting around and wasting time, I chose Pico 8 to make my game in. I’ve recently found some more tutorials online and have been following along with them for the past two weeks, so using it was still fresh in my mind. The Jam started at 8pm, so after watching the intro video and having a think I… sat back, stuck some TV on and ate some food. Coding can start tomorrow.


I woke at a reasonable time, did the various things adult humans have to do in their lives, and then sat down to start making whatever it is I was making. Step 1, get the player on the screen and moving around in a fun way. I didn’t want to make a twin stick shooter, you would only be able to walk and shoot in the same direction - think Berzerk rather than Robotron.

It took most of the day to get an outline of the game working, but something felt wrong. Sure, I had a player, I even had some enemies but the game felt sterile and lifeless. It was a fine tech demo, but not a game. Hoping the “gameyness” (which is totally a word) would appear later, I carried on.

There’s a game here somewhere…

There’s a game here somewhere…

A few hours later I got annoyed, it just wasn’t working so rather than waste the rest of the day fussing and making the code worse, I stopped and went off to do something else. This is supposed to be fun, the second it stops being fun, there’s no point continuing.


I spent most of Sunday sat around doing anything but game development. I just didn’t like the game I was making, it didn’t feel like something fun to play. There wasn’t a core concept or anything compelling for the player to actually do. In a fit of irritation I did the one thing you’re not supposed to do in a jam - gave up and started again. It was mid-day, submissions didn’t need to be in until 8pm, it’s Pico-8 so it’s not like I needed to create a thousand high quality assets or get stuck messing with a sound editor for an hour.

And then, I had a better idea - I’d make pool, but there’d be just one ball. You’d have to get the ball in a pocket to win, get the cue ball in the pocket and you lost. Try to do it in as few shots as possible. At one point I wanted to turn it into a golf game instead, but decided to stick with Pool.

I’d like to tell you I spent hours trying to figure out decent ball physics and collisions, but this is 2019. If you want to know anything like that, just go on YouTube and there’ll be a tutorial. I found one and followed it and within an hour or so had a decent basic concept working. Hit the ball, ball bounces around, ball goes in hole. Job done.

This was really nice, I had a core concept that was somewhat entertaining to play with, all I needed to do now was all the fluff - title screens, sounds, winning/losing, a state machine for the game itself, etc. This wasn’t particularly hard either. By half 7 I had something worth submitting.

Itch.io exploded

Yeah so, here’s something unexpected. The game had to be submitted to Itch.io, which is fine, I have an account there already. Problem is, 2,000 other people were also hammering the site to upload their entries, and the poor servers couldn’t manage. It took until half 8 before I could upload my game, and then another 20 minutes before I realised I’d not told Itch my game was a HTML 5 game.

The results

This jam was fun, I think I learnt some useful things for the next time

  • There’s no need to rush at all, a weekend is loads of time
  • Have an idea first that involves some sort of random outcome
  • If it’s rubbish, start over, don’t persevere with something you hate
  • Don’t fall at the last hurdle - have a half working demo or something submitted before the deadline, just in case.
  • If it’s a 48h jam, think up something super simple, something that almost feels boring to play

Had I come up with the pool idea from the beginning, I could have added some extra polish and maybe a bit more gameplay. Time really was on my side, I just needed the initial idea quicker.

Make a fun game

This is something I realised after a few hours. The game needs to be “fun”, which is pretty obvious… but what is “fun”? To me it means the game isn’t predictable, and doesn’t feel lifeless and dead. So the entire outcome of the game shouldn’t be dependent on the player’s inputs. You see this in games where nothing happens unless the player walks over trigger zones; it really breaks the immersion in a first person game if you run away from an enemy, thinking it’s chasing you, but you then run over some magic boundary that the enemy won’t go past. That goomba that’s walked off the screen isn’t coming back, and its friend on the other side of the screen won’t come and get you until you activate it by making it appear on the screen.

Yeah the pool ball in my game doesn’t magically move by itself, and it follows predictable lines along the screen because of physics, but once you’ve set the thing off, there’s no further control required from the player. It requires your skill to hit the ball, but afterwards, you could miss, you might win, or your own ball might roll into a pocket. It’s the same thing that makes Tetris fun.

Related Content