Assignment 2: The Game

As implied by the name of the game, this was created as the second assignment for the CGSD module "Games Entertainment Technology 2". Using OpenGL and a very limited starter project based on the work done in lectures, a full 3D First Person Shooter was to be created, which featured a number of different enemies, the concept of a level, some pickups and the standard FPS controls.

The theme was open, so in order to have full control over the graphics (aside from the sky, which was provided and used in order to demonstrate texture loading) this FPS is incredibly abstract: with projectiles being cubes; map geometry made up entirely of cuboids; pickups being tetrahedrons and enemies being made up of cuboids, spheres and tetrahedrons. All maps use a base layout, which is seen as the background to the main menu flying camera scene.

The main focus here was gameplay, with fast paced movement, four enemy types that each fill a niche, platforming, score-based objectives and interesting maps. Enemies fall into two categories - turrets, which are stationary, and spheres, which patrol the map in a circuit, attacking the player when they get close. If the player runs away, the spheres will eventually lose interest and find the nearest path node in order to resume their patrol. On top of this behaviour, stair climbing is implemented, which for the spheres means they can climb on top of each other. This can lead to huge batteries of spheres flowing over obstacles almost as one large entity. There are two weapons in the game, both of which the player starts with. Black projectiles simply travel at a constant speed in a constant direction until there's a collision, and are weaker than the purple projectiles, which are affected by gravity.

There are two game types, both accessible from the main menu. One is the standard game, where the player must kill all enemies and get to the top of the centre of the map and collect the goal pickup in order to succeed. The other is Spherocide, which is essentially a sphere invasion scenario, where the player starts in the centre against constantly respawning spheres. The aim is to survive as long as possible, killing as many spheres as you can to get a high score. Each game type has a different map, suited to the scenario at hand.

The download features a readme, a .doc format instruction manual and a folder labelled "Executable". The instruction manual has fairly in-depth information on all enemies, pickups, game modes, controls and credits. To run the game, simply double-click the .exe file located inside the "Executable" folder.