Home

Commercial projects

I've worked as a programmer on a number of video game projects, first as a full time employee at Infogrames Sheffield House and then Sumo Digital, and more recently on a more independent basis.


Contract/freelance/independent work


2014 - LittleBigPlanet 3

Latest iteration in the much-loved LittleBigPlanet franchise.

I helped out with some end-of-project polish work on PS3 and PS4: general bugfixing, I/O optimization, additional multithreading where appropriate. Also helped integrate some of the UI screens I wrote for LittleBigPlanet HUB.


2013-14 - Forza Horizon 2 (Xbox360)

Xbox360 version of XboxOne game, developed concurrently, using the Xbox360 engine (as used in 2012's Forza Horizon) and XboxOne assets.

I created data conversion and cleanup tools, a combination of 3D Studio Max scripts and C# tools, to turn XboxOne artwork into Xbox360-friendly artwork, ready for immediate use in the Xbox360 engine and later touch up by the artists.

I also created and maintained level editing tools, again in 3D Studio Max, and maintained existing data conversion tools. This was a mix of C#, MaxScript, and C++. Forza Horizon 2 is a much larger game than Forza Horizon, and a number of the old tools needed changing to cope with that.


2013 - LittleBigPlanet HUB (so far unreleased)

A free-to-play version of LittleBigPlanet 2, with in-app purchases.

I wrote code for Facebook and Twitter integration, created new UI screens for new game modes, and created new screens and backend code to show off character costumes available for in-app purchase.

(This project was announced publicly, but has not been released, and I don't have any special knowledge about its status.)


2010-13 - Dashy Crashy

A free-to-play game for iOS. Take a pocket road trip on an endless highway!

As the sole programmer for much of the development, I created all the gameplay, engine and tools code. We were a distributed team, mostly part time, with me working full time when possible, so the emphasis was very much on providing easy-to-use data-driven tweakability with short iteration times, so design and art development could take place without requiring my involvement. (Virtually all game parameters could be edited in real time, and the worst-case turnaround time for substantial art changes was under 30 seconds.)


2011-12 - Sonic and All-Stars Racing Transformed

A sequel to 2010's well-received kart racer Sonic and Sega All-Stars Racing.

About half of my work on this was some code maintenance type tasks: rebasing and resynchronizing outdated branches, and updating Visual Studio projects to Visual Studio 2010 (and latest SDKs while I was there).

The other half was new core tech functionality the game required: a new cross-platform file I/O layer, and optimization work on the data build tools (general code improvements, support for concurrent builds, automated dependency tracking system) to reduce project build times.


Sumo Digital


2009-10 - Split Second (PSP)

PSP version of then-upcoming Xbox360/PS3 driving game.

I wrote art tools: conversion tools to do a first pass conversion of Xbox360/PS3 art assets to PSP format (ready for manual touchup by an artist), and a PSP renderer plugin that displayed models on the PC during editing just as they would be displayed on the PSP.


2009 - Doctor Who: The Adventure Games

Third person adventure game based on the popular BBC TV series.

I designed and implemented a Lua-based scripting system that made light work of exposing C++ functionality to Lua. I also added a few extra features to Lua (new syntax constructs, new concurrency features, more compile-time checking) intended to make life easier for its users.

I also worked on the game engine and its MFC-based level editing tool, fixing various bugs and improving its support for plugins.


2008-9 - Virtua Tennis 2009

Arcade tennis game, with a range of multi player-friendly mini-games as well as the more traditional style of play.

I was lead Wii programmer, which involved keeping on top of Wii-specific aspects of the product (performance, memory use, debugging, and so on) and creating Wii-specific code - mostly graphics related - as required.

Also wrote tools for more general use: a networked GUI debugger for the UI scripting language (with a C#-based UI similar to Visual Studio), and a networked model previewer allowing the artists to quickly see their work on the target platform.

(Please don't play the Wii version of this game on an emulator at 1080p. It was designed for 640x480.)


2007-8 - Sega Superstars Tennis

A tennis game featuring your favourite Sega characters (and, if you're me, some you'd never heard of).

Wrote 3 minigames for Nintendo DS version, wrote the graphics code for a 4th, and created various tools for the game designers so the game settings could be changed in real time without needing programmer intervention.

Also helped out with some UI and artist tools programming for the Xbox360, PS3 and PC versions.


2007 - TOCA Race Driver 3 (Skillground)

Race against other players for cash prizes.

Lead programmer. Wrote technical design, decided on breakdown of tasks, helped get contractors set up.

On the programming side of things I created a standalone headless server for the game, suitable for running multiple instances of on a server-type PC in their data centre.


2007 - unreleased

Created prototype of multiplayer online game destined for Xbox Live Arcade.

Lead programmer. Created technical design, planned task list and schedule.

Programming work on scripting system, network code, and tools for use by game designers.


2007 - Super Rub-a-Dub

A pastel-hued family-friendly game of ducks and bathtime, sporting somewhat unusual (at least, in pre-iPhone days…) tilt-based gameplay.

I helped out with general debugging towards the end of development, and introduced a system that let the game designers configure gameplay parameters quickly and with instant feedback.


2006 - core tech work

Engine programming work. Wrote vector maths library, memory manager, and spherical harmonic lighting support. Fixed numerous issues in tools and engine.


2005-6 - Broken Sword: The Angel of Death

A point and click adventure game, fourth in the famous series.

Lead programmer. Created technical design, initial task list and schedule, and generally oversaw the technical side of the project.

In terms of code: maintained and extended game scripting and translation system, adding new features and improving workflow for game designers, scriptwriters, and localization/voice recording teams.


2004 - Outrun 2

Xbox conversion of the arcade game.

Wrote Xbox Live code, created all Xbox Live UI and numerous network gameplay screens. Also worked on Xbox-specific memory and graphics optimisations.


2003-4 - England International Football (uncredited)

Add Xbox Live support to an existing game.

I did the Xbox Live-specific networking code and the UI work.


2003 - Broken Sword: The Sleeping Dragon

A point and click adventure game. Third in the famous series, and the first in 3D.

I added various UI screens, created the PC installer, and did some polish/TRC/general bugfixing work on the Xbox version.


Infogrames Sheffield House


2002 - Micro Machines

A reboot of the popular franchise.

I did some UI and polish work, worked on the tutorial mode and a couple of the minigames, and added some Xbox-specific graphics and memory optimisations.


2001-2 - Slam Tennis

A tennis game for Xbox and PS2. I don't know if anybody actually ever bought it! - but it got some nice reviews, and rightly so.

I was responsible for the Xbox port, which mainly involved graphics and systems code and PC-based data conversion tools.


2000-1 - unreleased

My first job as a full-time professional programmer: creating Maya-based level editing tools for an upcoming Playstation2 game.