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.
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.
This post continues with the technical details of this project.
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.
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 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
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.
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:
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:
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.