C#, Unity
September - November 2017 (5 weeks)
Unity application where 4 survivors must defend against waves of zombie enemies, which progressively becomes more difficult. Survivors are not controlled by the player; instead they are controlled by an Artificial Intelligence (AI), where I designed each survivor’s behavior using behavior trees and pathfinding with the goal of trying to survive the longest.
Functional Features:
Survivors utilize pathfinding to determine an optimal path from current position to destination:
Strategically placed Points of Visibility (POV) throughout the map
POVs are used by survivors to create custom paths to reach desired destination
Survivors take into account path of least resistance (number and type of enemies) when creating a custom path
Utilizes A* search to determine which target POV to move to
Survivors have several behaviors that they follow through a behavior tree:
Enemy Avoidance - using POVs to help navigate around the map
Weapon Handling - conditions when a survivor should use a certain weapon
Item Seeking - appropriate opportunity to pick up an item based on survivor stats
Attack - which enemy to target based on priority of enemy types and distance to survivor
Flee - direction to flee based on distance from enemy to survivor
Movement - calculate where to move based on pathfinding results