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.

Download

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

Read on to find out more.

Continue reading

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

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.

Download

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

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

Credits

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

Recommendation

Tom Goodchild, Lead Designer of MotoGP 09/10, was kind enough to leave me this recommendation on my LinkedIn profile:

“Matt was a fresh faced student straight out of university when he first arrived at Monumental Games. I was a fresh faced lead designer at the time and we both had to grow into our roles while working together.

Matt instantly displayed a maturity and calm temperament that was head and shoulders above that of his student peers, in fact surpassing several industry “veterans” and even, after a year of working together, fooling our new game director into thinking Matt was a industry vet himself.

Matt has professional, considered, focused and careful approach to design that proved very successful at reducing project risk and getting work done on time. We knew that we could leave Matt to a task with minimal supervision knowing that we’d get a complete and fully tested piece of work that could slot into the game with minimum disruption.

Matt then returned to university after giving our company two solid years of hard work and (nearly) two full boxed current generation titles under his belt.

Highly recommended.”

Continue reading

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

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.

Download

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

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.

Download

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.