Shift (itch) (Liam Blair)
About
A simple and short top-down maze escape game created as a University project which explores the use of goal-oriented action planning for use in designing reactive enemy agents.
Game Details
Collect key pieces scattered around the level to unlock the gate to escape the maze, but watch out for the enemies that patrol the maze within, who will use every resource available to them to stop you from escaping. Collect all the shiny yellow key pieces to open the gate that serves as the exit.
Collectible items can be found around the level at random, which can be used to hinder your enemies! Projectile items can be found and can inflict one of three debuffs (Stun, slow or blind) while a rare placed wall item can be found to block your enemies path.
Enemies within this level utilise the GOAP (Goal-Oriented Action Planning) planning strategy to determine what they should do next, and have access to items, like the player. These enemies will reactively plan out their moves constantly during the game and will utilise all the game mechanics at their disposal to take you down. They can even dodge projectiles you throw at them and, in the right circumstances, will call upon the other enemies to swarm you!
The game is situated in a single small maze-like level, enveloped in complete darkness save for the flashlights held by you and the enemies. Additional enemies can be generated in the enemy view, described in the Debug Controls section.
Source code is available at: https://github.com/The-Liam-Blair/Advanced-Games-Engineering-Project
Controls
ARROW KEYS / WASD - Movement.
SPACE - Use item, if held.
Escape - Quit the game.
Debug Controls
0 - Swap to/from player or enemy view.
, - (Enemy view) View previous enemy.
. - (Enemy view) View next enemy.
In each respective view is debug information which can be used to view information such as an enemy's current action plan and has clickable buttons such as testing status effects on the player or spawning more enemies. The function of each button or piece of text is provided in-game.