Below is a list of various game demos and applications that I have written. An archive of my demonstration CD containing all of the below projects can be downloaded here. Alternatively, each item can be downloaded individually below.

My Curriculum Vitae can be downloaded here.

I have also placed a copy of my dissertation on here too, mainly for storage. The title is "Building an Advanced Particle System" and if you wish to read it you can download it here.


AstroWar

(C# and XNA)

This game was entered for the warm-up phase of Microsoft's Dream Build Play competition. However, I am still actively developing it so it is not yet fully finished. For the warm-up phase a game had to be created originating from the SpaceWar code or assets. The only part of SpaceWar that this game uses is a few of the assets. It is also the first game to really use the particle system that I wrote for my final year project.

Most of the game is finished now but it needs tidying up. Because it uses my XNA Particle System the Observer pattern that I'm using for error message callbacks needs to be implemented.

Note: To run this application you need to have version 2.0 of the .NET Framework and the XNA Framework installed. Links to both are provided below.

.NET Framework 2.0
XNA Framework

To download click here.


XNA Particle System

(C#, XNA and XML)

Since I have started doing a lot in XNA I decided it would be a good idea to port my particle system. This is still a work in progress but most of the work is there. Currently, only basic points are supported and the Observer that I'm using for error message callbacks needs to be implemented properly but it's nearly finished.

This version contains multiple emitter support and a new parameter called AlphaLoop which the original particle system doesn't contain. I am yet to port the Particle System Designer but this doesn't really need doing because any effects created with the original will work with this if the AlphaLoop parameter is added.

Note: To run this application you need to have version 2.0 of the .NET Framework and the XNA Framework installed. Links to both are provided below.

.NET Framework 2.0
XNA Framework

To download click here.


Tetris

(C# and XNA)

Microsoft have recently released an SDK which allows independent developers to write games which will run on the PC and Xbox 360 called XNA Game Studio Express. As one of my ambitions is to write for games consoles I started to play around with the XNA framework.

This game was written with Beta 1 of Game Studio Express. Beta 1 of Game Studio Express didn't have a content pipeline so it made 3D games quite difficult to make. Because of this, I decided to write the obligatory Tetris clone as it is something I have never done.

Note: To run this application you need to have version 2.0 of the .NET Framework and the XNA Framework installed. Links to both are provided below.

.NET Framework 2.0
XNA Framework

To download click here.


Particle System

(C++, OpenGL, SDL and XML)

For my final year project I researched and built an advanced particle system. I created a library which developers could use to add particle effects to their applications.

The library was written using C++ and OpenGL and I used SDL to ease the creation of the OpenGL window as eventually I would like to port my Particle System to other platforms.

I have also used XML to store the particle system parameters such as velocity, colour and emit rate. This way, it makes the Particle System totally extensible and just changing the XML files can generate a completely different effect.

To download click here.


Particle System Designer

(C++, QT, OpenGL, SDL and XML)

The Particle System Designer serves two purposes. Firstly, it is a demonstration of my Particle System in action. Secondly, it is a GUI for creating and editing the XML files which work with the Particle System.

As well as a GUI it also has an OpenGL view to allow you to interactively see how your changes will affect the Particle System. Once you have created the desired effect, you can save it and use it with the library in your own application.

There are a number of preset XML files in the Binary directory.

The Particle System Designer was written in C++ and QT. As with the Particle System, I used QT because it is a cross-platform library and eventually I would like to port my Particle System to other platforms.

To download click here.


Original Virtual Bar

(C++ and DirectX)

During the second year of my degree one of my modules was Games Programming. Our assignment during this module was to develop a game using C++ and DirectX. This is the game I wrote.

I have listed this mainly as a pre-cursor to the following Managed Virtual Bar because my software engineering skills have improved significantly since the second year of my degree.

To download click here.


Managed Virtual Bar

(C# and DirectX)

On my placement I was developing applications in C# and during this time I wondered how effective the C# language, and managed code in general, would be for games. I decided to rewrite my original Virtual Bar, object oriented with C# and managed DirectX.

This project is far from completion however, as when I started my final year of University I put this aside to finish at a later date. Also, managed DirectX has been deprecated with a view of replacing it with XNA. My current plan is to port this across to XNA in the near future.

Currently, the scene is set up and you can navigate using the arrow keys but that is all.

Note: To run this application you need to have version 2.0 of the .NET Framework and the DirectX End-User Runtime installed. Links to both are provided below.

.NET Framework 2.0
DirectX End-User Runtime

To download click here.


Case Studies in Software Design Assignment

(Java)

During my final year of University I developed a Java application for my Case Studies in Software Design module. This is my assignment.

I decided to list this to demonstrate my skill with object oriented code. It is one of the biggest applications I have designed and written. There are two UML class diagrams in the directory too, the first is my design of the program before I started coding and the second is a class diagram of the resulting application.

Note: If you wish to run the code you will need to add the SecuritySystem.mdb as an ODBC data source named "SecuritySystem". The entry point for the application is in the MainMenu class.

To download click here.