Thief in the Endless Museum

“Gotta collect those treasures in the weird place”

Quick Facts


Type of project:
Solo, Coursework
Date Produced:
early 2021
programs used:
Unity
Blender
Photoshop
After effects

Video


Key features


  • Thief in the endless museum features a thief trying to collect treasures from each floor in an endless building.
  • The floors are procedurally generated with multiple objects, rules and breaking limits.
  • Guards operate on finite state machines and enhanced detection skills to detect the thief.
  • Additional features like skipping levels, the minimap and invisibility powers provides better experiences with the game.

the full story


The second part of this module expects me to produce a game featuring at least two AI techniques with game context. the techniques must be my own creation with tutorials if needed. it’s also important that a working game build is submitted with well-commented code detailing the AI process. the game made featured two techniques: procedural generation and Finite state machines.

The floors are constructed using randomised Prim’s algorithm, which makes sure that each active node is connected with another from the start. This then goes through a series of modifications to fill the floor with content. walls are added and checked so that only one needs to be spawned in one place. Treasure rooms, starting room and guard positions adds context to the game with special rules, like being in a dead-end node or being adjacent to a treasure room.

The guards operate on a 3 state system: patrol, investigate and chase. This is determined by the suspicion meter which is fuelled by it’s surroundings. If a treasure gets stolen, then all guards are alerted and rises their level. If a guard finds the thief, guards in an area are alerted and also chase the thief. An invisibility powerup can evade the guard’s eyes, but for a limited time. The guards moved around an Unity A* navmesh, which caused a performance spike and needs to be made from scratch.

Finally, a minimap is added which dynamically scales with the floor size and appears to the player as surveillance footage. Other than the music (by Kevin Macleod) and animations (by Mixamo), all art and content was made by myself.

Testimonial


“tackles the open area of procedural level generation within a clear and well-suited game design.”

“They’re also successfully closed the basic gameplay loop demonstrating fully the feasibility of the techniques applied.”

Lecturer at Coventry University

additional resources


Repository link to “Thief in the endless museum” in Github:

https://github.com/TaylorRings-MagicEmporium/TitEM-AI-game