Escape Room - Prototype



Unreal Engine 4.22 / C++ / Blueprints
Game Developer & Designer
MacOSX
GitHub Code

An exhilarating puzzle and platforming game built upon the Unreal engine. It combines the best elements of both genres to create a short, fun trip to another realm where you’re trapped in an unknown place, how will you escape? Using a combination of custom C++ classes, standard unreal assets and landscape tools, I am able to bring together various gaming concepts, some of which are discussed below:

  • Custom C++ Classes — That when added on to an Actor or a Component create unique gameplay mechanics, like pop up UI and volume box based puzzles.

  • Use of UMG User Interface — A simple but elegant UI that reinforces tried and tested interfaces like; health bars, collectables and damage indicators to the user via an interface.

  • Modified Textures - With the use of Blueprints, textures were modified to give a specific effect, like the use of blends and panner modules to create moving water across a grass surface texture that was then applied to the landscape.

  • Unique Post-Processing Effects - From Lighting to Particles, each subtle effect was added from the sparks created from the fire to light enhancing effects like ambient occlusion.

  • Smart use of Sound - From activated switch to direction fire, ensuring the user is always grounded in their location and aware of their surroundings.

  • Blending of C++ & Blueprints - When necessary and for a much cleaner approach to game design, C++ Classes were exposed to Blueprints to allow design of levels to be tweaked.

  • Smart Level Design - The use of sophisticated placement of collectable objects that randomise with each play-through ensures a fun, challenging and unique experience.

  • Custom Character Controller - That is played from the first person perspective and has a non-cluttered interface when dealing with grasping objects in game.

  • Physics Controller - Customised Physics of objects to ensure that the user is able to grab objects/actors within the game but have the realistic physics and motions that they would come to expect from an object when placed.

It was incredibly satisfying to be able to create this prototype game in the Unreal Engine, I’ve had a lot of experience with working in C++ over the years and it was great to put it into practice, using industry standard programming patterns like; Observer, Event Queueing and Game Loop to name a few. The assets in the game were from Unreal Engine itself though I created and modified the textures when appropriate for specific materials.