Alright. Ready for freaking ancient history? My very first piece of location-aware software was a game called Madman. It was something I built at university with a bunch of friends (Atif, Trent & Christine) way back in the technological dark ages… 2003.

You see, the Madesen building that housed our computer science department had a floor plan that kinda looked a bit like an old Pacman level. We spent hours in this place, down in the basement computer labs working on assignments. Rumour even had it, that during the war the Madesen building had served as a backup for Bletchley Park and even had a secret escape tunnel. Needless to say we spent hours procrastinating searching for the ever elusive secret escape tunnel.

Enter Aaron Quigley, our teacher for a class on pervasive computing. I think he may have figured out that we were spending way too much time hunting for secret tunnels and so he gave us an assignment. One of the best, it was completely open ended and Aaron wanted us to pitch to him what we wanted to build.

So we cooked up the Madman concept. We would use your physical position within the Madesen building as the location of your character within a game of Pacman.

A screenshot of the madman computer game

We had a little pocket PC handheld that we used to sniff out the signal strength to the various wireless base stations they had around the building.

We spent hours wandering around the Madsen building with a pocket PC, building up a map of signal strengths for various wireless base-stations. We would walk to a location, tap on the map to indication our position and move onto the next spot. This dataset went into a neural network that we were training to automatically figure out the position of players based off the signal strength to wireless base stations. It was a neat little concept, but the first version worked terribly. We walked around the place, measuring signal strengths and firing it off to our neural network to tell us where we it thought we were. It wasn’t looking good, sometimes it wasn’t even able to correctly tell us what corridor we were in.

This was 2003 and we rarely found more than one wireless base station around the place, we simply didn’t have enough information to triangulate a position. It was only when we were sitting around glumly that I realised we didn’t really need a precise two dimensional fix. This is a grid of straight corridors! We only need to know what corridor we were in, and how far along that corridor the person is, we should be able to figure that out if we can only see one base-station at a time! Trent went into crazy code mode and had hammered out an implementation in an evening.

It worked! Well, kinda. Some corridors had huge black spots. No wireless reception at all, meaning that we had nothing to get a location fix from, and of course no connection to talk to our server that ran Trent’s neural network. But we all learned a ton from the process, and had heaps of fun. The one lesson I wish I had figured out back then, and am only just figuring out now, I really enjoy building these kind of projects.


You can join the conversation on Twitter or Instagram

Become a Patreon to get early and behind-the-scenes access along with email notifications for each new post.