top of page

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.

Tools Used

c-sharp-logo-2.png

C#

b3df8a6a-3a55-4331-b26c-08c889fde27d.jpg

UniRx

Unity-Emblem.png

Unity

logo3_72_edited.jpg

RealtimeCSG

kJBWq3T4_400x400.jpg

Zenject

msedge_boG8xOwTEa.png

MonoBehaviourTree

©2023 Variapolis

bottom of page