LABRAT
​




ABOUT
LABRAT is a 2D top down Stealth that requires the player to toggle all tiles in the level before he can escape.
PROJECT DURATION : 1 Months
TEAM SIZE: 2 People
SOFTWARE: Unity (C Sharp)
ROLE: AI Programmer/ Level Designer
Programming
Scripting an AI enemy behaviour with FSM and coroutines
I intended to create an AI that could "spot" and chase the player. The AI must also wait to look for the player, as well as deactivate when injured.
-Co-routines were used to create states for the AI to go through
-Co-routines allowed for AI's to release control whenever they were waiting/idling/injured
-States were controlled by the FSM and communicated through helper functions which toggled targets and states.
Dijkstra's BFS Path finding and Tag recognized graph
​



Since Unity does not have 2D pathfinding, I set out to create my own using Dijkstra's Breath First Search.
- Each tile on the level corresponded to a node in the graph.
- The graph built at the start of the level recognized the tags set on a tile(movable) or a wall(obstacle) used in the level. This allowed fast iteration of level design and level creation. As the designer could move and re-set tiles and the AI will react to it.