Ben Whittaker

I'm Ben Whittaker

I am embarking on a hopefully long and fruitful career making games. This site will be a place to put said games, news about said games, and any other miscellaneous projects I happen to be working on.

Games I've Made

Posts I've Written

Fighting robots!

The latest project I’ve been working on is a robotic combat simulator, unimaginatively codenamed “BotFight”. Right now it just lets two players with preset bots rip each other to pieces in a preset arena, but my goal is to develop this into a game where you can build custom robots, enter tournaments, play against AI as well as your friends, etc. So far I’ve mainly been working on my custom damage and deformation system, which lets each part of each bot get individually bent, twisted, and broken.

You can download a demo from here.

Snake, but in 3D

So here’s something I made last year but never got around to putting up anywhere: a 3d version of snake. Nothing too fancy, but I might do more with the idea some time.

Snake 3D Screenshot

Empty Spaces Released!

Thanks to the talented composer Felix Arifin, Empty Spaces now has music, and as such I am declaring it officially complete. You get play it on my site or on your phone.

Empty Spaces 1.1 main menu screenshot

Empty Spaces (pre)release!

I’ve (pre)released my new game, Empty Spaces, based off my old game jam game of the same name. It’s all colourful and 3D and I think it came out very nice. The only thing it’s really missing is music, which I am looking into. You can check it out here, or play it on your phone!


Ground and Slope Detection in Unity

I was helping a friend of mine figure out ground and slope detection for his Unity-based platformer, and I whipped up this example project. It’s actually pretty simple, if you do it right.

You can download the project here, or scroll down to view the code attached to the player entity.


Embedding KPhotoAlbum Tags as Image Metadata

My Mother is an old Linux geek, and she has a lot of photos. In the past she’s mostly used KPhotoAlbum for her photo management purposes, but recently she’s felt like development is lacking, and she’s been experimenting with tagging her photos in digiKam. The problem with this is although digiKam will work with tags embedded in the images themselves, KPhotoAlbum stores it’s tags separately, and has no easy way of embedding them into the image files. This means that if she switches to using digiKam, she’s leaving years of careful tagging and organization behind.

To solve this problem, I made a script! is a python script that parses all the keywords, people, and places contained in KPhotoAlbum’s index file and embeds it in the images themselves using exiv2.

To use it:

  • Make sure that exiv2 is installed (sudo apt-get install exiv2)
  • Download from here
  • Place the script in the same directory as KPhotoalbum’s index.xml file
  • Run the script (python

It should be pretty non-destructive (which is to say, if any images have existing tags embedded, it will merge the new tags and the existing tags instead of overwriting them), but I still recommend backing up your collection beforehand. I’ve only really tested this once, on my mother’s 30000+ photo collection, but it worked fine there!

Empty Spaces 2.0

I decided I could use a Unity project for my portfolio, so I’ve been reimplementing one of my game jam games, Empty Spaces, in Unity. I’m also making it 3D now, which means I’ve had to learn how to model/uv/texture/rig/animate in Blender as I don’t have access to Maya anymore. It’s been interesting, seeing how things are done compared to what I’m used to.

Here’s what the game looks like so far:

Empty Spaces screen capture gif

Website Revamp using Hexo

I’ve revamped the website again!



So I’ve decided I might as well officially release Junglautomata, the shader-powered sandbox thing I’ve been fiddling with. Not only does it now have a page on this site, I’ve also submitted it to the Google Play Store. So yeah, check that out, maybe leave a rating on the play store?

More experimentation with cross-posting

So, given that I evidently can’t easily ensure that the content of a post will be survive the transition to facebook without losing formatting and embedded images and videos and stuff, I think I’ll just have it post a link to each blog post and let people click for the content.