Monday, 2 December 2013

#SpeccyJam is over - Nimble Jim submitted!

Finally got my #SpeccyJam game packaged up and submitted. What a week!

Took me a while, but finally came up with a name, Nimble Jim. I think the name fits perfectly for a tongue in cheek ZX Spectrum platformer. I also took some time out from coding to knock up a cheesy loading screen:

I thought some of you might be interested in how I put this together so here's some screen grabs of my steps. As you can see I'm no pixel artist, I'm just a coder. Instead of asking one of my talented artist friends to collaborate, I wanted to keep as authentic as possible as so many Spectrum games where made by 1 man bands.

You can see that initially I just flushed out roughly the elements I wanted and the composition. When it came to drawing Jim I wanted him to be full of action, so I Googled a cartoon character running, dropped on to a layer in Photoshop and roughly traced the shape. It actually came together surprisingly well. With the text I used a couple fonts and turned off anti-alias settings to get a true pixelated look. I did still have to go in at pixel level and tidy up any dodgy letters.

It felt very odd to put a domain name on the splash screen, I almost didn't, but if domain names were about in the old days I'm pretty sure they would have had them on the loading screen so I kept it in.

I left the colouring towards the end of the process, you'll see that I used many guides to block out 8x8 pixels. As we all know the limitations, only 2 colours were allowed per 8x8 block. If I had more time I probably would have moved/redrawn some of the items to take advantage of the colour blocks. I also would have improved the ghosts, but hey.

Cramming in features like there was no tomorrow

As I got closer to the deadline, my brain was exploding with new ideas to add to the game. Knowing the time limits I had to be strict! Stuff I HAD to nail:
  • Finish full game flow, and make sure it was water tight.
  • You can see from above that I managed to get a cheesy loading screen in to the game.
  • The ZX Spectrum border, yes I got this in, even flashed with game play events.
  • Sounds! OK so I started with a native computer BEEP sound, but this wasn't compatible with platforms other than Windows. So I downloaded a BEEP wav, put it in to Audacity and made some simple sound effects. These were dropped in to the game and played on events, e.g. enemy spawn, killed, pick up item...

Anything else is a bonus

Having got in the above anything else was a bonus, here are some other features I managed to get in:
  • More maps! I was able to knock out 5 basic maps, my code just reads a text file, so it's so easy to produce new maps.
  • Enemies, I wanted to expand the enemy types and make each level interesting, even though the ghosts are cool enough for a basic game ;) So I added:
    • Spikes which are static items, but over time the spikes raise and lower to make the player think about their timing.
    • Bats were also added which just have a simple horizontal path, they seem simple, but they do catch you out!
    • A BOSS! Yup I managed to squeeze in a basic boss level, he's big and all he does is jump in your direction. Sounds easy enough to beat, but you have to time your running and jumping!
  • Scrolling text, yup I went there.
  • ELEVATORS!! I was so happy I crammed this in, ability to add elevators to maps. Not only does it change how the player navigates the map, but also the ghosts!

Lets take a quick look

Here's a video of what I submitted. To make it more watchable, I used cheats to move through the levels quicker ;)


Here's a link to download the game I submitted to the #SpeccyJam:


Only available on Windows, extract the 2 files then launch the EXE file.



Please check out all the other entries here:, there really are some great games here.

... and you can check out Nimble Jim's very own page here:

OK Nimble Jim isn't the greatest game in the world, it's just a tongue in cheek effort, however I've been really inspired making it. It's been great working with limitations, and seeing all the other efforts for #SpeccyJam. Looking through Google + YouTube for ZX Spectrum games has brought back so many amazing memories, and I'm sure it has for everyone else.

30 years on, I spent a lot of my childhood playing games on the ZX Sepctrum, it was only until this week that I realised the Spectrum only used 15 fixed colours. I think this is proof that the games created back in the day had so much fun, engagement and creativeness.

What's next??

There's some unfinished business here... I had so many ideas I wanted to get in the game, now the jam is over I really want to try them out. That's right you haven't heard the last of Nimble Jim! My aim is to put together 50-100 levels, and then launch the game on Android, iOS, Windows Phone and the OUYA.

Something I would love to do is actually port Nimble Jim to a true ZX Spectrum, yup learn machine code for the awesome machine and get Nimble Jim running where he belongs! Then... maybe produce Nimble Jim 2 in the style of an Amiga game?! Watch this space!!

Please download my game and let me know your thoughts, be honest! Comment here or get involved on twitter: @rich_lloyd


  1. Very nice. I'll test it right now. BTW, are you planning to release the source code? It is a pretty nice project.


  2. Just wanted to let you know that I couldn't execute the binary. I did install the .NET framework, but the game crashes. In case you release the source code, I'll try to compile on a linux box, using MONO.

    1. A couple of people have had problems launching it, do you happen to have any error messages?

    2. Just the typical: "Windows has encountered a problem and needs to close [...]" Let me know if I can be of any help to do further tests.