Battleship AI Pathfinding Project
Background:
This was a University Project where the terrain was generated using Perlin noise, which would then be navigated by AI ships which used a FSM to have different behaviours such as patrolling or attacking the player.
The player must collect coins and chests and/or destroy ships (red attacks the player, yellow flees from the player, with chances to act unpredictably), to gain score, the player must also keep collecting fuel to stay alive and maintain their health.
Features:
-
Finite-State Machine AI
-
Perlin Terrain Generation (Multiple Octaves)
-
Custom Navigation Grid Generation based on terrain
-
Custom A* Pathfinding through Navigation Grid
-
K-Means clustering for pickup distribution
-
Weighting for AI Behaviour
Learned:
All of the features involved in creating this project were novel concepts that I had to learn and understand to fully implement. While there are some performance issues in certain cases, the overall concept is fleshed out and this could easily be taken to the next level through some additional development to be made into a publishable game.
All of these concepts are ones that I was interested in learning prior, and am glad to have had the opportunity to explore them.