Ludum Dare 41

I took part in Ludum Dare 41 recently, the theme was “Combine 2 incompatible genres”. I went for “Monster Dating Sim” and created a game I’ve called “Monstrously Hunky”.


The game auto-generates names and descriptions for the potential dates, and then puts you into a question and answer scenario for the dating portion. During the questioning the correct answers are inferred from the descriptions of the monsters (traits like “Rage”, “Family” and “Comedy” are attached to each description behind the scenes) and then calculated per monster for each question.

It’s rather silly throughout, but it was a lot of fun to make and seems to be going down well over on the LD41 page:


Lost Wing – Win/MacOS

Lost Wing on Steam Early Access

Lost Wing is all about speed, guns, and points. Storm your way through brutally-challenging environments and destroy the mega bosses for a chance to top the leaderboards! Featuring a deep electronic soundtrack and stunning neon sci-fi visuals.

You’ll need quick reaction times and super-fast decision making to achieve a high score on the leaderboards.

Shoot, dodge or jump over obstacles, and slow-down time when it’s getting a little too close for comfort – just get ready for when the world goes for a spin!

Have a close shave with an obstacle and you may be lucky and escape with only losing a wing, but hit an obstacle head-on and it’s game over. Numerous pick ups are available in the environment to both help and hinder your progress.

Play on Windows or MacOS, and delve into the world of Lost Wing – where one false move can end in disaster!

VR Simulation for TfL


Working with Transport for London (The controller of London’s public transport network, and one of the UK’s largest employers) we created a VR simulation of Victoria Underground station to help test new digital signage to help alleviate crowding.

The VR simulation allowed TfL to test various concepts for new digital signage with the public for effectiveness without having to enter into costly and problematic real-world installations. Users were able to perform tasks such as moving signage, opening and closing ticket gates, and adjusting the timings of trains entering and leaving the station.

More information can be found here:

PerfectLine for iOS/Android

A short while back I released a game for iOS and Android as part of BoxFrog Games. I took the game from initially concept through to release, handling all coding and design and distribution tasks.

Tech-wise, the game has leaderboards (GameCenter and GooglePlay Game Services), IAP (Apple and Android, with some additional “anti-hacking” security added in to protect against local edits unlocking IAPs), Unity Ads integration, and flexible support for different screen ratios.


You can download it at the following links:

Get it on Google Play

Orbital Dancer: Progression of a Prototype

Some time ago, nearly a year in fact, I showed a screenshot of a little heavily-stylised space-game I had made a prototype for (link). At the time it was procedurally generated, not much going on, and it was little more than a floaty feeling game with a chilled-out soundtrack to to it.

Well, I’ve resurrected it, played around with it a bit a fair bit and I can now confidently say it’s looking a *lot* better now. It has moved away from procedural generation, and instead has developed into a multiplayer “arena” combat game – as such it’s now functioning as my little testing ground for the Photon Network platform.

More details in the coming days and weeks.

Orbital Dancer screenshot

Orbital Dancer screenshot

GSR sensing with Unity

So I’ve been waiting for a while for some complete GSR sensor units (That’s Galvanic Skin Response, in simplistic terms they measure how “sweaty” you are) to arrive at work. These are for an Undergrad Project team to use, so it’s rather frustrating for the supplier to be soooo slow.

Thankfully, a different supplier was really prompt in sending a couple of GSR sensor boards to us that use the Grove platform. Unfortunately I don’t have any Grove shields for the Arduino so I had to do a quick bit of tinkering with a breadboard to get it hooked up. Actually very simple in practice, theres a +ve, ground and analog signal wire that you need to set up with the Arduino – then it is just a matter of reading in the values from the analog pin.

Just about visible on the Grove unit itself (in the photo below) is a little potentiometer that you can turn with a small screwdriver to adjust the sensitivity range of the resistance being recorded.

GSR Sensor (Grove)

GSR Sensor (Grove)

Once that was up and running it was then a case of getting Unity reading information over the SerialPort (as the raw analog values were being sent via Serial Comms from the Arduino). Some really useful code for this was found here:

A quick bit of hacking with the Unity LineRenderer later as a means of visualising the data and there you have it – Unity getting biometric data from an Arduino!


Displaying Serial Data in Unity using a Line Renderer

Displaying Serial Data in Unity using a Line Renderer

iOS: TrackMe

A while back I posted a couple of entries about Swift (here and here) and I stated:

Despite my initial misgivings of Swift (these posts have been on the negative side), I know I’ll end up developing with it.

Well done smarty-pants me! I’m now actively using Swift for some iOS development.

I always like to approach using different bits of tech in a way that is either of some use to me personally (see LearnAWord), or just a bit of a laugh (see ILoveTwitterLamp). This particular app is mostly in the first camp, but a little in the second.

Being a biker, I like to go for rides and explore the countryside a bit – have a look at a map and just pick a general direction to ride in. I’ll put my proper Garmin GPS in my bag as a “just-in-case” measure, but it’s definitely more fun not having some device doing all the navigation for you sometimes. Of course this all goes out the window when you have somewhere specific to be 🙂

Often it’s annoying to come back from a ride and realise you’re really not sure where that great little off-the-beaten-track section of road was, or maybe you can only remember the route again if you were riding it, rather than being able to skip a bit out and head straight to the good stuff. This led me to start developing a little tracking app I can set running on my phone that stores my GPS locations as I ride – and I can view the routes I’ve taken (See the red line in the image below, of a route being simulated in the iOS simulator).

TrackMe Prototype showing a polyline being rendered at the tracked coord points.

TrackMe Prototype showing a polyline being rendered at the tracked coord points.

Admittedly, I can view a large amount of my route history on my normal GPS device, but I can’t really do anything with that data, other than view a cruddy pink line on a cruddy little screen. I have tried getting the data off the SD card, but even the export menu is next to useless.

With this system I can track where I go and (ultimately) share this data via iCloud docs too I hope. This means I’ll be able to create some sort of “Desktop viewing app” for all the routes I save on my iPhone. Of course I’ll add tagging for points of interest and the like to the app too.


You may be asking why I don’t just use my iPhone as my GPS unit on my motorbike. Simple answer: I live in the UK, Manchester no less. It rains here on the majority of days (I’m not kidding, see this post on the Guardian!) and I just don’t trust waterproof cases with my very expensive phone. I do however trust my specifically engineered Garmin Motorcycle GPS unit, that I’ve inadvertantly dropped-kicked across many a carpark, to do the job

Unity: SimpleGizmoDisplay

Recently I’ve found myself using a lot of Gizmos in Unity , to such an extent that it became worthwhile to have some quick and easy component to re-use rather than scripting up the same OnDrawGizmos call repeatedly.

So here it is, SimpleGizmoDisplay. It currently supports Cube, WireCube, Sphere, WireSphere, Icon and Line. It’s quick and bare-bones, but it can save a lot of time in pretty short-order.

The options available in the Inspector for SimpleGizmoDisplay.

The options available in the Inspector for SimpleGizmoDisplay.

Do with it as you wish!