In 2010 I graduated with a 2:1 honours degree in Computer Game Technology. I studied at The University of Abertay Dundee in Dundee, Scotland. The following are a selection of the projects I’m most proud of during my time there.
The University of Abertay Dundee hosts an annual game development competition called Dare to be Digital. Each year teams of contestants are given ten weeks to build a complete prototype game, which are then demonstrated and judged at the Dare Protoplay games festival. In 2009 I participated in the competition, developing Pollen as part of a team of five – two artists and three programmers.
Pollen is a 2.5D puzzle platformer in which the player takes control of a swarm of bees. The player navigates the bees through a number of obstacles to get to their new hive, keeping as many as possible alive. These obstacles can be overcome using one of the bees abilities, which include picking up and throwing objects in the environment, launching a bee like a bullet at enemies, and grouping together to form a shape – forming a key, for example, will allow the bees to unlock a padlock. En route the bees will have to fend off evil hornets, put out a fire, smash their way through spider webs, and, in the final encounter, defeat a bee-eating plant.
All interactions in the game are gesture based. Every action comprises of either circling objects or swiping. For example, the player could circle a rock to have the bees pick it up, and the swipe to have the bees throw the rock in that direction.
We developed the game using XNA, writing all of the systems and graphics effects in the game ourselves. In addition to lighting, we implemented both depth of field and a glow shader for indicating what the player could interact with.
Unfortunately we didn’t win the competition but we were all very happy with what we created regardless. We achieved a lot in the ten weeks – too much even! Our game was too long, coming in at around thirty minutes when the target was five to ten.
After developing Pollen over the summer before fourth year, we wanted to create an iPhone game around the idea. Due to this, we all decided we’d base our honours project on something that would benefit the game. I decided mine would be on the development and optimisation of a 2D physics engine for a mobile device.
By the end of the project I had a working 2D physics engine that included optimisations specifically for iPhone. The most important of these was the use arm assembly in certain algorithms, written for the iPhone’s Vector Unit. (The Vector Unit is not relevant now, but this was in 2009-2010 when the iPhone 3G was a popular device).
Some Assembly Required
In third year we developed a game as a team of ten: five programmers, two artists and two producers. We developed a 3D platformer about a broken robot trying to rebuild himself.
This was my first experience of working as part of a team, and it was an invaluable experience. I learned a huge amount, from working in source control and collaborating with others, to dealing with intra-team issues and disputes. The end result fell a little short of our very high aims but we were still very happy with the game.
Online Multiplayer Tank Game
For our fourth year Network Programming module we were to create a basic online multiplayer game. I developed this tank shooter, which supported up to 10 simultaneous players.
Direct3D Lighting and Reflection
In third year we were to create a simple 3D scene using the Direct3D API. I created this temple scene which included point lights and a reflective floor.
OpenGL Procedural Terrain
As part of the 3D Graphics Programming module in third year I created a scene with procedural terrain. The terrain is created using a number of techniques, including perlin noise.
PS2 Horror Scene
In our final PS2 development module in third year we were to create a 3D scene making use of the PS2s vector units. I created a simple “horror” scene that the player could navigate with a flashlight.
OpenGL Cartoon Game
Our final OpenGL module in second year required that we make a simple 3D scene using OpenGL. I created a basic game in a cartoon house. Each room contained a basic puzzle or task that the player would have to complete to earn the key to the next room.
PS2 Doom Clone
In second year we were tasked with creating a simple 2D game on the PS2. I created a simple Doom-like game by scaling and positioning sprites to give the illusion of a basic 3D scene.
Flash Space Shooter
One of our modules in first year required that we create a basic space shooter using flash.