Ships!
Experimenting with Pathfinding AI
About Ships!
University Project | Unity | ~2 Weeks
A series of experiments with various pathfinding methodologies that culminated in a small tech demo.
🔗 GitHub 🔗
































Notable Work
-
Standard A* pathfinding implementation.
-
Pathfinding heuristics calculated from flocking and steering rules to create a basic influence map.
-
Finite state machine AI for enemies and allies.
-
Self generating tile map, with functionality to automatically update the map if new tiles are hand placed.
Project Overview
Ships! is a straightforward technical demo that presents the player with a ship they can control on a hexagon grid.
As part of the game there are two enemy ships that seek to isolate and destroy the player while an allied ship will attack back. As you lack any offensive capabilities it is up to you to navigate the map in ways that forces enemy ships to enter the line of fire for your ally.
The aim of the project was to implement the classic A* algorithm but change the weights of the graph as part of the game mechanics to create the appearance of a more intelligent AI agent.
Craig Reynolds' steering behaviour rules (used in BOIDs) was a straightforward place to start, with the implementation of 3 common rules: separation, alignment and cohesion. Unbeknownst to me at the time, I had ended up creating another phenomenon - an influence map!