Engine: GameMaker | Genre: Stealth | Platform: PC | Timeframe: 4 weeks
Overview
Escape Room is a project I developed from the ground up in GameMaker, with the goal of implementing game AI in a unique and dynamic way. The concept revolves around an adaptive AI system that reacts to the player's presence. If the enemy sees the player, it begins to chase them. However, if the player escapes and breaks the line of sight, the AI makes an educated guess on where the player might be and there is a good chance they will check within that vicinity.
To achieve this, I built a custom tile graph system to facilitate pathfinding and implemented the A* algorithm. Each tile in the graph represents a node, with its validity determined by the map's layout. For example, if a wall is placed on a node, that node is marked as invalid, preventing movement through it.
One aspect of this project that I am particularly proud of is the AI's ability to make informed decisions when it loses sight of the player. If the player disappears behind a wall, the enemy uses a raycast to determine its last line of sight. Based on this information, the AI decides whether to check left or right side of the wall. I wanted to make the player feel as though based on their previous decision they would see the AI make an informed decision on how they might track them.
The Tile Graph:

The Game:

Comments