Building an escape room with UXPin

At the start of the lockdown, I really started to miss escape rooms. I've always wondered how far I could push the limits of prototyping, so this is my log of building an escape room game using UXPin.

Plot and puzzles

A good game needs a plot. Trying to stay away from anything too complicated, I set the scene to be my flat. Fitting with the lockdown situation, the end goal is “going outside”.

To move the game forward, the player must collect and use different things. They also need to interact with people and puzzles in the environment, to unlock more items and rooms.

  • Goals need to be completed to get out of the flat.
  • Agents are things the player can use or interact with. Items in their inventory or in the environment are used to complete goals.
  • Puzzles are the bulk of the gameplay. Although I was limited by the tech, I still wanted to make them fun.

Once I knew what components I needed, I started writing down as many as I could think of. Having them on Post-It notes meant that I could move them around and fit them together like a puzzle piece.

image

This stage was very trial-and-error. Ideas that worked in my head didn’t make sense once I put them in the context of the whole game. The hardest challenge was making the story linear, but not too fixed. I didn’t want someone to feel railroaded but they should feel like there’s a logical sequence of events.

As long as it’s solvable, I told myself, it doesn’t have to be perfect. After pacing around my desk for thirty minutes, I had a loose structure, which I sanity checked with my partner. The groundwork was done.

Mapping it out

Once I had an idea of what would be in the game world, I started sketching the game interface.

image

On the diagram, I added annotations for things like flavour text and interactive areas. This would help me later on when it came to plotting layout and clickable objects in the game.

Game architecture

Starting with a blank file in UXPin, I sketched out areas for each room and important object with grey squares. The main idea at this point was to implement the core logic and make sure the 'story' made sense.

Here, I discovered why game testing is really important. Whilst I was building, things that made sense in theory felt lacklustre once I'd built them. It was also tough to make the game feel like a genuine escape room without it feeling too scripted.

image

Illustrations

Grey boxes aren’t the most exciting things. Although I didn’t want anything too complex, I added some basic graphics to the game. These were drawn in Sketchable then added as images into UXPin.

image

Some of the elements had more than one state. Visually, I achieved this by using different sprites and swapping them every time a state changed.

Putting it all together (sort of)

Although this project isn't done - and it likely never will be - I thought it'd be good to share where I got to with it. I have a game that works from start to finish. Honestly, it's further than I thought I'd get!