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

Some… art?

Having spent a lot of time recently doing marking, I needed a little “creative release” to get my head back into development.

The following is all made in Unity. No effects, just basic rendering and a bit of code to spawn coloured blocks/spheres. I’m using the HSV colour scale to set my colours according to their coordinates.


Orthographic views can do interesting things :)

Orthographic views can do interesting things 🙂


Perspective Blocks

Perspective Blocks


Diagonals Radial HSV

Diagonals Radial HSV


Vanishing Point

Vanishing Point

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!