Good Afternoon Everybody!

I hope you all had a good Monday! Today’s post is going to primarily focus on the development of the next room in Constricted VR! As I have explained in previous posts, this room is going to be a much more psychological escape experience, rather than a 35-60 minute long escape room. While it is slightly different from the Laboratory Escape room in Constricted VR, this room is still going to be focused on the players escaping but in unique ways that escape rooms have never ventured to before. Today’s post is going to highlight the current status, and post some “method behind my madness” in how this room is being designed and developed!

I think the best way to start this is by recapping the idea I had for this room. Essentially, players would be escaping from the same single room, yet they would be revisiting multiple instances of it throughout the experience. Starting from an isolated room with nothing in it, besides the player and a door, players must traverse through the room to the end of the hallway. They will see another door that they can go through. Upon entering the door, they will see a room with nothing but a window and another door. When the player goes through the second door, they will appear to enter back through the first door again. Essentially, this escape room is going to focus on non-euclidean geometry and other “tricks” to make the player feel psychologically challenged.

Each “loop” will be called a level, for the sake of this diary as well as how I am coding everything. My plan is that every level will have different puzzles that will allow the player to make progress and escape the “level”. When players complete the puzzle(s) of a level, the first door at the end of the hallway will unlock, play a specific unlock-sound, and it will symbolize the player’s completion of the level. This is not necessarily going to be 100% rule, because I have a few levels that will bypass this rule. If players don’t complete a required puzzle in the level, they will just continue to loop through the level itself until they do solve the puzzle(s).

In order for all of this to work properly, as well as feel realistic (not jittery, no load times, no frame loss, fully-seamless) there are a few things that need to be planned out and implemented (everything in this paragraph is already implemented in-game and working near-flawlessly!). The first issue that is prominent is making the levels interchangeable. What I mean by this, is being able to swap level 1 for level 2 for level 3 and so-on, efficiently without any performance loss. It would be impossible to have all of the levels exist at the same time without having any hit on performance. It would also be extremely inefficient to do this, because it would be more than difficult to teleport the player efficiently through each loop, without having any interference from the previous levels. It would also be difficult to have entire objects simply inactivated in Unity, because activating individual entire rooms will result in a slight load time as well. The best way to handle the interchangeable-levels is by creating multiple levels and asynchronously loading them while the player is progressing through each individual level. This allows levels to be loaded “behind-the-scenes” and appear to be seamless throughout gameplay. Aside from the main hallway levels, there are also going to be three *special* levels that are incredibly important in the effectiveness of the looping-design of this game. The first of these three is the “Player” level.

The Player level handles the level manager object and camera rig object for the player’s VR controls. This level is pretty self-explanatory, aside from how the level manager works. Essentially this object contains all of the scripts for asynchronously loading levels and unloading levels. The second special level is the “Start” level. The Start level is a single room that the player begins in, no matter what room they are currently saved in. Oh yeah, that’s another thing I forgot to mention – this room will allow players to save their progress after every room is completed. The reason behind this is to let players continue exploring the puzzles in the room at a later time. Sometimes there are things that require the player to leave the game for any reason, so it would only be fair to allow players to have their progress saved automatically. When the player loads the game up, they always begin in the Start level before entering the next hallway level they are on. The final special level is the “Transition” level.

The Transition level handles one of the key mechanics of the looping level design – the teleport portals. At the end of each level, the player goes through a door and arrives in a small room. The only option is to continue going forward and entering the door at the opposite end of the room. Secretly, without letting the players know this (of course), they are teleported from the room they are in, to another nearly-identical one at the start of the looping levels. When the player opens the door at the end of the room, they proceed to begin the next level. Explaining this appears relatively easy, but it is pretty difficult to implement properly! Currently, this entire system is working as expected, and this means that the design and development of each level’s puzzles and appearance can begin now! Since the overall design of the levels will be the exact same (with minor differences, added puzzles, rooms that may be sealed until a later time), the only difficult part of this process is going to be designing well-crafted puzzles that follow the overall story of the room. As I had mentioned in a prior blog post, this room is going to have a story of tragedy and I’m currently working on the story flow now. That being said, the ideas I have in-store for this room are going to be eye-opening and maybe even frustrating at times. But no matter what, this entire room will be solvable using only clues hidden within the room.

As always, I’m extremely excited to present this to you all, and I sincerely hope the puzzles are as difficult and mind-blowing as you are expecting!