A Pathfinding Algorithm Demonstration

A* Pathfinding Algorithm Demonstration with Heap Optimisation

2nd Year University Project
Semester 1
Games Engine Programming

For this Assignment I was tasked with Producing a Unity based Demonstration of any particular area of my choice from Camera Control to AI Pathfinding to Procedural Generation.

I decided to explore AI pathfinding and demonstrate and explain how the A* Pathfinding Algorithm can be used as well as Optimised using a Heap Data Structure.

The project works by generating a grid (Customisable within the inspector) upon play in the unity editor and upon pressing start, calculates a path between a user-specified start point and target point. The user is also able to define various obstacles within the grid via Vector Positions which the Algorithm can navigate around.

The Path is then coloured using various Materials setup in the project allowing for easy visual representation.

Alongside the Project we were also tasked with creating a video tutorial on the programming of the project.

Visual A* Pathfinding Demonstration with Customisable Variables
Heap Optimisation
Various Checks to Prevent Clipping when moving Vertically or Diagonally
Support for Obstacles
Pathfinding Processing Time Printout

Skills Demonstrated:
Understanding of A* Pathfinding Algorithm
Understanding of Heap Binary Data Structure
Experience in Working with Unity