My 2013

View The Trip in a larger map

Well I promised that I would talk about what I would be up to this year now that I have quit my job. Well as the above shows I plan on doing quite a bit of travelling. 7 months of it to be exact.

The first few months of the trip are nailed down but the rest of it is currently in a state of flux. Over the next few weeks the aim is to nail some of the rest of it down so expect the map above to change.

The whole thing starts in London on the 7th of May where I fly out to Washington DC there ill spend a few days with a friend before I fly up to Toronto where I plan on seeing the Niagara Falls among other sights. After that ill scoot across to Chicago where ill meet up with another friend and explore the city.

After a few days in Chicago ill fly south to North Carolina where ill spend a nice week with some other friends. From there ill fly to L.A. where I have a 45 day Trek America trek booked. A group of 15 of us will be travelling on buses or local transport down into central america on what looks to be an incredible journey.

The trek finishes on the 17th of July which I then have a few days of respite in San Jose Costa Rica before I make my way down and across to Panama City. From there I have a flight to Bogata Colombia. There im meeting a friend and we are going to journey together north to the coast of Colombia.

After that things start to get a little hazy. I have a month or so by myself where I think ill explore some more Colombia, Venezuela and perhaps head north to the islands of the Carribian. Late September I plan to meet a friend in Cuba and spend some time exploring the island.

From Cuba I am going to head south to Peru were im going to take another long tour this time with STA Travel. They are going to take me up the Inca trail and other parts of Peru, Bolivia, Argentia, Paraguay and Brazil.

To end it I may end up meeting another friend in Brazil or Argentina Late November / December time. Then I am going to fly out of Rio back to the UK in time for Christmas!

So there are a lot of ifs and buts in there but that’s the rough plan. Im going to take a cheap laptop around with me so I can post updates here and show off some pictures of beautiful places :P If you don’t hear from me for a few months its either because there is no internet around or I have been kidnapped or put in a prison somewhere!



Ectoplasm, a Game Made in 24 hours (ish)


Just before leaving Playdemic we had a company-wide ship-it-day. If you haven’t done one of these before they are great and work very similar to game jams like Ludum Dare. Basically you have 24 hours to create something related to the company then you have to present it.

I decided to team up with Laura Whyte a rather excellent artist colleague I have have worked with for years. I knew I wanted to make a quick mobile game using Adobe AIR and Richard Lord’s Ash framework but I didn’t really have any idea of what game specifically I wanted to make. She had the brilliant idea of making a clone of the classic “helicopter” game that you control with your voice.

So that’s what we made. Check out a video of my playing it below:

You will have to excuse the fact I do sound a little like a drunk owl at some points in there.

By the end of the 8-hour day we pretty much had a working game. Since then I have spent a few more evenings here and there tidying up the source code and fixing a few bugs and submitting a build to Apple and Google. In total I would say that 24-hours is a fair time frame for the development of the game.

As previously mentioned we developed the game using Adobe AIR and Ash. The reason being was that I had previously experimented with cross-platform game development with Mr Nibbles which was coded in Haxe and NME and I was keen to see how AIR would compare.

Im pleased to say it held up very well. Where I had a little difficulty was with the Ash Framework. Its a great framework however its still rather new and there aren’t many examples out there for how to do certain parts of the game development such as menus and event handling. For this reason I have decided to open source the game so that others can have a look at how I went about constructing parts of the game in Ash.

Ectoplasm source:

I plan on refining the source as I have discussions with others on the Ash Mailing List about how best to go about implementing some of the features, so I suspect that source code may change over the coming weeks.

Because the game is cross-platform that means that it will be accessible on the Apple App Store and Google Play store as soon as it gets approved, for now however you can play the web version over at:

You may want to toggle your microphone settings (or disable the microphone entirely ;))

PostToTumblr v3.18 – Fixed Tumblr oauth change



Just a quick update to say I have now fixed the authentication issue my PostToTumblr that quite a few people contacted me about.

What was going on was that Tumblr appear to have changed the format of the data they return from a token request which was causing a library that PostToTumblr relies on to fail.

Before PostToTumblr can post content on a users behalf it first must get an “access token”. This token is given to PostToTumblr as part of the authentication flow.

When PostToTumblr first starts up it checks to see if it still has a valid token (they can expire over time and other various reasons). If it doesnt it must go through the authentication flow. Firstly it redirects the user to the grant permission dialog:


When the user clicks allow Tumblr then returns an “oauth token” and an “oauth verifier” to PostToTumblr, which it can then use to get an “access token” which is used to do the posting.

The problem that this update fixed was that the “oauth verifier” that was returned from Tumblr changed:


You see at the end of the query string there is now a “#_=_” well this was causing havoc with the URL parameter parsing code in the Google oauth library I was using.

My solution is quick and dirty, just strip out the “#_=_” from the url while parsing:

// MIKE HACK!!	  
	param = param.replace('oauth_verifier=','');
	param = param.replace('#_=_','');		  
	decoded['oauth_verifier'] = ChromeExOAuth.fromRfc3986(param);
	var keyval = param.split("=");
	if (keyval.length == 2) {
		var key = ChromeExOAuth.fromRfc3986(keyval[0]);
		var val = ChromeExOAuth.fromRfc3986(keyval[1]);
		decoded[key] = val;

Well I hope this helps anyone else that may encounter this issue too!