Presentation: Anti-Aliasing

As another part of the “Advanced 3D Graphics Programming” module assessment, each student had to give a 20 minute presentation to the entire class about a given graphics-related subject, which we could not choose ourselves. Also, we only had one week’s notice to prepare our talk. My subject was “Real-Time Anti-Aliasing”, and I discussed the causes and effects of aliasing in computer graphics, along with the techniques used to address the problem.


Real-Time Anti-Aliasing – Presentation (.PPTX, 800 KB).

Read on to find out more.

Continue reading “Presentation: Anti-Aliasing”


Networked Battleships

This was a final year university assignment for our “Network Programming” module. We were required to produce a simple network-capable application with a suitable programming language such as C#. I chose to make Battleships in Java, a language that I was unfamiliar with and therefore had to learn as I went along. I received a “B+” grade overall for my work on this module.

A screenshot of the Battleships game.

This post continues with the technical details of this project.

Continue reading “Networked Battleships”

DirectX 9: Particle Effects

For the “Advanced 3D Graphics Programming” module in the final year of my university degree, we were given an open-ended assignment whereby we could choose to create a tech-demo of any graphics technique that we wanted, and attempt to enhance it in some way (in terms of performance, quality, or by combining it with other techniques). After some deliberation, I chose to create a particle effect system using a traditional “billboarding” technique in DirectX 9 with C++. I then demonstrated the performance benefit that could be gained by reproducing the exact same effect with “point sprites” instead, and wrote a report to document my findings. My work received a “B+” grade overall.


An x86 (Windows) executable of this application is available from the following link if you’d like to try it out.

Particles App – x86 Executable (.ZIP, 25.8 KB)

Read on for the technical details of this project.

Continue reading “DirectX 9: Particle Effects”

MotoGP 09/10

From 2008 to 2010 I worked on  MotoGP 09/10 in a design role with Monumental Games Ltd. The game was released for Xbox 360 and PlayStation 3 on the 19th of March, 2010, and was published by Capcom.

MotoGP 09/10 PS3 Boxart

“MotoGP 09/10 takes the series in an exciting new direction rewarding players for their racing style as well as skill on the track.

Gamers will get all the riders, tracks and teams from the official 2009 MotoGP season AND free downloadable content from the 2010 season as it unfolds. The free update means gamers will be able to play the most up to date MotoGP season content earlier than ever before.

MotoGP 09/10 delivers a racing experience like no other. The blistering speed and intensity of race day will be just one of the challenges as MotoGP 09/10 will add many new modes and features for the best in offline and online racing.” – Capcom


The credits can be found here.

Design Responsibilities

  • Gameplay balancing
  • Vehicle handling/dynamics
  • Scripting
  • AI behaviour
  • Dialogue
  • String-table localisation/management
  • Downloadable content
  • Achievements & rich presence
  • Replay camera system
  • Track data editing
  • Menu layouts & flow
  • Research & documentation
  • Testing & bug-fixing

Continue reading “MotoGP 09/10”

PSP: Flocking Boids

For our “Console Development” module in the second year of my university degree, we had to produce a tech-demo for the Sony PlayStation Portable using industry-standard development kits.

I wrote a “flocking” algorithm in C, optimised to use the PSP’s VFPU (Vector Floating Point Unit) for increased performance with inline MIPS Assembly. The boids have a simple 3D wireframe mesh, but their movement is limited to a 2D plane. My coursework was awarded with a “B-” grade.

PSP Boids

The algorithm is based on Craig Reynolds‘ steering behaviours, a widely published article from GDC 1999. Here’s a video of it in action, recorded directly from the VGA output of the development kit:

Read on for the details of this project.

Continue reading “PSP: Flocking Boids”

Gamebryo: Space Trading & Combat Game

This is another of my second year university assignments for a module called “Applied Game Development”. We were grouped into teams of 5 or 6 students, and tasked with producing a space trading and combat game on the PC using Emergent’s Gamebryo engine. Our game was called “Exosphere“, and our team was called “N²O Studios”.

Within our teams, we were expected to assign ourselves specific roles, such as Project Manager, Programmer, Audio Engineer, and so on (although all of us contributed to the code-base). The Project Manager, for example, had the responsibility of scheduling our project using a Gantt Chart. I was the Designer for my team, and produced the design documentation for our game along with the GUI. I also programmed many prototype gameplay features.

We were required to use industry-standard tools like source control, and provide input using an Xbox 360 controller. Besides that, the assignment specification was kept deliberately vague – instead, we were given frequent feature requests, which we had to implement and demonstrate as milestone deliverables on a weekly basis.

The format of this module was intended to provide us with a sample of what to expect when working in the games industry (since we had not yet been on placement at this point). To keep track of which team members were developing what, we organised bi-weekly meetings and produced a wiki where we could document our progress. The team’s attendance and attitude to this assignment was of a very high standard, and we received an “A-” grade for this coursework.


The design documentation that I wrote for Exosphere is available for download from the following link:

Exosphere – Design Documentation (.ZIP, 1.3 MB)

Unfortunately, I do not have an executable of the game available at this time. Continue reading to find out more about the features of this project.

Continue reading “Gamebryo: Space Trading & Combat Game”

Unreal Tournament 2004: Total Conversion

In the second year of my university degree, I was tasked with producing an Unreal Tournament 2004 total conversion mod for the “Game Development Techniques” module. The mod had to be based on one of Enid Blyton’s Famous Five books.

The level was created in UnrealEd and scripted with UnrealScript. It features a high-quality skybox, dynamic fluid surfaces, many prop objects and decal layers, in addition to terrain generated from a heightmap. The scripts simply define the custom collectible items and trigger the cutscenes, etc. I received a “B+” grade for this coursework.


You can play my mod for yourself, simply download it from the following link, extract it to your UT2004 installation directory, and run the “MattMod” shortcut.

Unreal Tournament 2004 – Total Conversion Mod (.ZIP, 93.9 MB).

Further instructions can be found in the .zip file if you need them.