Portfolio

This is a collection of the larger projects that I worked on during University - either directly for the course, or in my spare time. Complete details of the projects, and those of smaller projects that I've developed are available from the menu on the right.

Damasca: The Conflicted Kingdoms

Open-source 2D online role playing game.
Screenshot of Damasca title screen.

Damasca is a community developed open-source online role playing game. I'm responsible for development of the engine - in particular the toolset and rendering layer.

Schools Content Management System

Screenshot of code.

As part of my work at Schools on the Net and Neon Dreams I developed a website content management system to allow easy design of pages, image galleries and downloadable items. To maintain a good experience for the user, AJAX and related Javascript techniques were applied where they were suitable, whilst ensuring the sites remained standards compliant and accessible.

Independent Study (Advanced Dynamic Light and Shadow Rendering)

A screenshot from one of my independent study sample applications.

My final year dissertation project, which was an investigation into (what was at the time) modern real-time lighting and shadow rendering techniques. As part of this investigation, I produced a device-independent rendering architecture which support multiple lighting models, light sources and shadow mapping techniques.

PubNet

Instant messaging server and client.
A screenshot from PubNet.

PubNet is a rudimentary - but capable - instant messaging server and client, with support for upto 62 simultaneous users, global and private messages, auto discovery of local servers and a unique "pub vote" mechanism.

Castles

Turn-based defend-your-castle-and-demolish-the-other-castles game.
A screenshot from Castles.

Castles is a simple turn-based game with upto 4 players each defending a castle with a cannon, with the aim of knocking down their opponents castles before their's is lost. Use of physics is applied in responding to collisions and simulating the motion of objects in the world.