Joe Bain - Curriculum Vitae

07708 413 751

I am a intelligent and hard-working games programmer with great attention to detail. Combining a first class degree in Computer Science from a top-ten university with 7+ years professional programming experience, 3 years in games dev.


Freelance Work (Joe Bain Limited)

May 2014 - Present

I am currently working as a freelance developer focusing on web development and games. A non-exhaustive list of my clients and projects:

Pool Panic - November 2016 - June 2017

Unity gameplay programming and level design for a 2.5D arcade pool game. Hand-drawn art mixed with 3D physics. Created many custom levels and scenarios involving unique gameplay code and graphics solutions. Working under a lead programmer and with a small art team.

Unit 9 - November 2016

I worked on tools and support for a Unity-based VR/AR app, involving an Occulus and custom camera solution to produce an mixed reality driving simulation with an advertisement as the final product. [youtube]

Ingenico - October 2016

I created an HTML5 game to run on Ingenico card payment terminals. The game was made with the Phaser engine.

Mucho - September 2014 - August 2016

I worked with Mucho to deliver an API for use in their iOS app. It uses PHP/Laravel and a MySQL database together with ElasticSearch and Memcached to provide a responsive experience. The app is deployed on AWS, using Elastic Beanstalk to manage deployments.

OMG Life

Senior Software Developer, April 2011 - May 2014

I had a range of responsibilities at OMG Life. My main focus was a photo management app for use with the Autographer wearable camera. The app is a C++ base with frontend and GUI in HTML and Javascript. As well as programming the app I was heavily involved in the UI design, from functional flow and wireframes to some of the graphic assets (icons and animations.) I was mainly involved in the Javascript/HTML front end, for which I was the sole developer, but also contributed significant features to the C++ backend.



Software Developer, June 2010 - March 2011

At OpenBet I worked on online slot machines and other ‘fixed odds games’, which were Adobe Flash apps, these were programmed using ActionScript 3. I worked closely with designers and animators, taking their designs and attaching the game logic to them. We used the PureMVC framework to organise and reuse code across games.

Realtime Worlds

Junior Software Engineer in Test, September 2009 - June 2010

I worked on MyWorld, an unreleased MMO game based on real world mapping data. I was responsible for writing and maintaining software tests and helping and encouraging colleagues to write them. I also worked on an in-house art tool for adjusting the lighting within the game and controlling day/night cycles.

I used C# and Visual Studio and Perforce for source control.


BSc Computer Science & Artificial Intelligence, First Class, Edinburgh University, graduated 2009.


Yucatan is an arcade racing game featuring innovative gravity mechanics, Metroidvania elements, and a bold low-poly style. I have been working on since August 2016 and it is currently estimated for release in 2018 on PC and PS4. The game is made in Unity, with coding in C#.

I have been collaborating with Ethan Redd and Dicky Moore on the game.

(Demo available on request)


Uprok is a game designed for 5 players playing with 1 foot pedal each. Originally started at a game jam, it was expanded for entry to the Experimental Gameplay Project's 5 BUTTONS competition and was shown along side some of the other entries at the Stattbad Gallery in Berlin.

Pole Riders & Uprok

Uprok has also been at the Wild Rumpus live games event in London and 2012's GDC after-party All Other Parties Are Trite And Dull. Most recently, in April 2014, it was shown at the Norwich Gaming Festival.

The game is a timing-based racing game, where slower players drop out until only one remains. The gameplay is influenced by Tiny Wings and Twang. All code, music and art is by me. Uprok was written in Javascript and uses HTML Canvas for procedural graphics and WebAudio for reactive sound. You can play a single player demo on my site (Chrome only).


Kaptilo is a 2d puzzle game for Android phones. Game design, UI design and programming was done by me, art, music and sound effects were by friends. The game was programmed in Java and uses OpenGL accelerated sprites. The game design is inspired by Sokoban games and, uniquely, the Windows Solitaire win animation. Try it on Google Play - Demo version, Full version.