phone +(44) 7542909753


I have made or helped make five games homebrew and was part of the Front End team for the development of Championship Manager 2010 for the PC.

All of the games/applications below are available in my downloads section of the site.

SingStar Dance

SingStar, the international best selling karaoke game brings the boogie to the new PS Move controller. SingStar Dance allows singers to dance their hearts away to their favourite tracks using the PS Move. Combined with an exciting partner, coop and battle modes, this is the most exciting SingStar yet.

For this game I integrated the PS Move into the SingStar code base using the PS3 libgem library. I developed the system to score dances including gesture recognition, the different scoring modes and the markup of the dances. As part of the content creation I developed several facilities including dance recording & playback and debug UI feedback for the content creators to allow them debug their marked up dances. I also assisted in developing several UI components such as the off-camera display and the scoring displays.

A screenshot of the single player SingStar Dance game experience.

Championship Manager 2010

It's taken Eidos and Beautiful Game Studios five games to do it, but they've finally produced a well rounded football management game that gives as good as it gets against its high profile rival. Not only are there a wide range of original ideas in this latest Champ Man title, but the game also recreates levels of addiction that we haven't seen in the series since Champ Man 03/04. Bravo, BGS.

For more information on my role in CM10 see my ChampMan page.

A screenshot of the match day GUI which I programmed entirely. For more screenshots and information about CM2010 see my ChampMan page or the official CM2010 site.


Revelations is a religious first person shooter game made for the XBox with another student, Niall Cusack. The goal of the game was to save the City of David in Jerusalem from demons sent to destroy the Temple Mount. The gamer plays as St Michael, who can fire lightning bolts from his hands. It was developed using RenderWare Graphics 3.7 API which is a state of the art graphics api using C. The project used RenderWare along with the XDK on a chipped XBox to make use of the hardware features of the XBox. The game was programmed entirely by myself with the art being provided by Niall. The game features AI techniques such as pathfinding and simple FSMs for enemy decision making. The game also used Potentially Visible Sets (PVS), particle effects, collision detection and response and animation using bone and skinned models.

Unfortunately we don't have any in-game action screen shots from Revelations but he is a screen-shot taken from 3DS Max which shows up what the level looked like


Rac'em is a 3D Futuristic Racing Game created using DirectX and C++. The player races against two other AI controlled flying crafts around a barren racetrack. Speed, health and rocket pickups can be collected as the race progresses to aid the drivers. The AI follow pre-defined racelines, collect pickups and fire rockets at each other to gain advantage in the race. This was my first DirectX project and demonstrates such features such as DirectX Effects, DirectInput support, 3D sound and music, particle effects for explosions and thrusters, 2D HUD and menuing system, picking, basic planar shadows, collision detection and response and rigid body dynamics.

Below is a screen shot of Rac'em which shows off some in-game action.

Physics Simulation

This application is a simple physics simulation where you can add balls to a box. They bounce off one another and the walls before coming to rest. It is quite a simple simulation but works nicely enough!

Below is a screen shot of simulation in-action.

Blok Wars

Blok Wars is a Lego-based RTS game developed that I helped develop along with five other students at Abertay. It was developed using Ogre3D's engine over a period of 6 months. I created the core AI components: the group and master AI elements which control the strategy and construction managers of the AI opponent. Programmed the influence map used by the Master AI to direct groups of units and reason on current strategy. Created the pathfinding nodes used by A* and implemented the unit and building construction logic used by both the player and the AI. I also worked on the  selection, health bar for units and the HUD used by the player. Click here to read the post-mortem for the game as hosted by

Below is a snippet of some action from Blok Wars.

Spaced out

Spaced out is a 2D spaceship landing simulator created using DirectX and C++. The goal of the simulation was to test out some classical AI techniques and how they can be used in a practical game situation. The spaceship can be landed by the player or by Fuzzy Logic or Genetic Algorithms. The parameters for the genetic algorithms such as the population size, the mutation rate, the crossover type(multipoint or single point) and rate, the selection type(Roulette or Tournament selection) and the selection rate. 

Here is a screen shot from Spaced out.


Helicopter is a game developed for the PS2 inspired by the popular flash online game also called Helicopter. While the flash game is in 2D I decided to make a 3D version of the game developed using the Linux Development Kit for the PS2. The game itself like the original is very simple and just provides a series of changing obstacles for the player to hover in-between. The player uses the X button to move up(gravity takes it down again) and the analog stick to move left or right. If the player crashes into a wall or block they have to start again and try to beat their previous high-score.

Below is a screen-grab from the PS2 game, Helicopter.

Master's game

For my Master's I am creating a 2D version of Unreal Tournament's Double Domination(possibly other game modes time allowing) where I will test two AI techniques against one another. I will be testing my own Goal Oriented Action Planning(GOAP) against FSMs. I will develop both the AI techniques which can have squad behaviour turned on and off. The two techniques will be evaluated against one another in various ways: extendability, flexibility, results from being pitted against one another, unexpected new behaviour and ease of development and unexpected issues encountered. 

Its not pretty but below is what I have so far for my UT2004 simulation.