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.