Battleship Fight Simulator

Platform: PC
Tools Used: Unity, Visual Studio 2019, Behaviour Machine plugin
Role: AI Developer and Gameplay Scripter


Battleship Fight Simulator is a small game project that I built for a college assignment. The purpose of the assignment was to create unique AI agents which acted differently from one another so that they could be easily distinguished. Being something that really interested me, I decided to push the limits of what I knew about AI development at the time.

Players control a scout plane and direct it where to fly. The scout plane ties directly into the AI agents. The simulator has 3 different types of ships which all perform their own tasks on the open ocean. These ships are:

Work Boat: Searches the surface for oil geysers and, upon locating one, moves over it and begins harvesting. Upon harvesting maximum oil capacity, returns oil to central oil rig

Submarine: Actively hunts work boats with a periscope. Will fire torpedoes at a single work boat until it destroys it. Must resurface every now and then for oxygen

Battleship/Scout Plane: Two agents in one. Hunts down submarines, using the scout plane to spot them. Will fire at submarines when they are spotted. Patrols the edges of the map

Design Challenge

The simulator was built as my first ever assignment to truly delve into the world of AI development. Going into this, I wanted to make something that could be playable by a player in some capacity.

Using a Unity plugin called Behaviour Machine, I put together 3 different agents with their own different personalities.

Overall I believe I learned a lot from this project, specifically in AI development processes and behaviour trees. I learned how to make AI agents interact with each other and the player.

Simulation Preview