Binary 9 Studios

After the closure of Runecraft‘s Glasgow office, I took on a freelance position working for the producer of my previous game, Soldier of Fortune.

Pilot Advance

Establishing a new company under the name of Binary 9 Studios and securing a contract to publish Pinball Challenge Deluxe on the Gameboy Advance, he asked me to work on the studio’s second title. With the working title Pilot Advance, it was a space-based action game in the style of 8 and 16-bit classics, Thrust and Oids.

I had developed a working demo of the game complete with a tutorial and several example missions before the studio’s funds dried up and I was forced to return to full-time work.


I developed Pilot Advance using my personal GameBoy Advance, an EEPROM cartridge and an RS-232 cartridge writer. While it was more accurate to develop on real hardware than on an emulator, constantly writing new builds to a cartridge to test was tedious and debugging was difficult. To solve this, I developed a library that implemented the low-level GBA input, sprites and rendering systems using OpenGL and Win32. This allowed me to create a Windows version using the same game code that ran in the Visual Studio IDE and use all the debugging tools at my disposal.

The game made extensive use of particle effects and featured pixel-perfect collision detection, physics for a tractor beam that allowed the player to pick up and tow objects of different masses, and various types of gravity effects to pull or push the player around.

I also developed a Windows level editor, allowing the game designer to build complete missions.  Graphical tiles and a tilemap could be built from a PNG image of the entire level. Objects such as enemies, scenery, trigger points, etc could be created, moved, and have their attributes edited. Mission objectives could be created using complex rules.


Please excuse the programmer art and the temporary sprites that were ‘borrowed’ from Oids.

Main menu
Choose a mission
Get told
Choose a ship
Take that, graviton emitter!
That didn’t go according to plan
Objective spotted
Objective captured