Game Engine Investigations

I’ve always been interested in game development. Some of the first code I ever wrote was typing BASIC game listings out of books into my BBC Micro and modifying them to fit my own ideas. Then came Windows 3.1 and countless hours noodling around with Klik N Play, followed by DarkBASIC on Windows 95 or 98.

Ten years ago I entered the popular Ludum Dare game jam (creating a game in just 48 or 72 hours). I made a tiny Indiana Jones-esque temple escape game called Daring Do, which unfortunately isn’t playable today as I used ActionScript and Flash as my technologies of choice and we all know how that ended up. Nonetheless, I ranked #16 out of 90 entries which I don’t think was too bad as my first ‘proper’ effect.

Recently I’ve wanted to get back into doing some game dev as a hobby. I’m only really interested in 2D right now as it’s just where I have more interest. I’ve dabbled with Unity a couple of times in the past but I’ve never built anything of much substance, so I’ve decided to spend a couple of weeks getting to know what’s possible with some of the most popular game engines out there today:

I’m planning to take up to a week getting to know the basics of each engine, then build a very small 2D platformer – which can literally just be one or two screens. At the least I’d like to get an understanding of:

  • How good their 2D support is (and in particular pixel art support)
  • Creating a basic character controller
  • Importing assets, creating tilemaps, and animating sprites
  • Scripting and communicating between different components
  • Support for effects like 2D lighting, shaders, and particle effects

This first week I’ve been looking at Godot, and I’ve really been loving it so far. More soon!

Multitouch with Haxe NME

I’ve been getting really interested in Haxe NME recently. Haxe is an open source cross-platform language, and NME adds a display framework on top of that which is modelled very closely on Adobe’s Flash API. The beauty of it is that you can write one codebase and then compile it to native code for Flash, HTML5, Windows, Mac, Linux, iOS, Android and more.

Haxe NME screenshot

I was trying to get to grips last night with handling multitouch input using NME, and I struggled to find a decent example. I managed to get something working and so I put together an example myself which I’m sharing here. It’s a simple example which tracks each distinct touch point and displays a randomly coloured circle beneath that touch. I’ve tested it on iOS and Android.

Grab the source from Github