Broken Glass - More Details

The Project Outline

The primary goals of this project was to create a stealth platformer, using Unreal Engine 5, that could provide players with an enjoyable immersive experience of a prison escape, while trying to develop skills in terms of Level Design, Enemy AI State Trees, and Sound Effects , while developing more understanding and a wider skillset for future games.

My personal hope for the project was to compile some of the techniques I had learnt over the course of my university career, and try to use little elements of everything to make a game I had always wanted to attempt; a stealth game that could take inspiration from platformers I have loved forever, primarily the Sly Cooper series by Sucker Punch.

The AI and sound

The AI systems in this project were designed with the idea in mind that both sound and sight could affect their decision making and actions, so that players could use an item to distract them and get into the next room if they felt it necessary. To do this, after some research I opted to use State trees for my AI system, as I had used Behaviour trees before on another project with more basic AI, so this was an opportunity to learn about the most up to date systems in Unreal, and create an AI that reacted consistently to sound triggers, but prioritise sight if the player is spotted.

Learning how the sound could be implemented in multiple ways also offered a brief peek into Unreal's Metasound system, so that I could have designated types of sound that played for player footsteps dependent on the floor material, the sounds that alerted the guards, as well as the ability to access and adjust volume for them separately from the options menu so that players could reduce music audio but still hear the sound effects if preferred.

UI and Level Loading

The game also challenged me to extend my UI knowledge in order to be able to have a Main Menu, Pause and Options menu, all while ensuring that the options that were changed would persist across the level loads. While not too visually distinct, it was a good opportunity to learn how to make it intertwine with variables and game instances behind the scenes, and my next projects can hopefully be built much faster and look even better.

Additionally, this was one of my first solo projects where I learned to incorporate level streaming, to ensure that game was more optimised, as well as allowing my to create a working checkpoint system hidden between the screen transitions, only needing to reload parts of the level on death. Because of this, it helped make the game feel more polished as it can be played from start to finish, exited at any time and also will offer to loop back to the main menu upon completion.

Return to Homepage