Eleanor Gregory's Portfolio

View My GitHub Profile

Stage 3 Gaming Simulations

Video

Introduction

In this coursework I was given the basic framework of a 2D arcade game and tasked with completing its physics engine and AI. Gameplay consisted of the player navigating a robot around a map to pick up and lead ‘Collectable Robots’ back to a base to score points. Collectibles could also apply bonuses such as an increase in movement speed. Enemy robots were present on the map that would patrol, chase the player, and guard collectables to add difficulty.

Programming was entirely C++, with the use of a data file to load map tiles from.

What Was Learnt

This project really highlighted to me the importance of optimising physics engine calculations such that the game can continue to handle increasing amounts of entities without noticable lag, especially important in calculations relying on time. I also considered methods to reduce this number of entities to manage in the first place, such as combining individual wall tile colliders. The importance of appropriate data structures was also made clear as traversing these can be a timesink.

Implementation

Included physics elements:

Included AI elements:

Possible Improvements

A restructure of the collision volume handling could allow for a more centralised collision detection system with less repeated code. The project can also be further extended with the integration of additional gameplay effects based on the physics engine calculations.