Watching (Escape Room)

For our final project, we ultimately decided on creating an escape room. In the beginning, we were undecided in the identity and feeling that we were trying to convey and we looked at multiple different assets. After some discussion, we agreed to create an escape room based off an eerily creepy hospital room. We wanted the hospital room to resemble a mental asylum and that you the user, would wake up in. Additionally, we wanted to create an escape room based off of someone in a wheelchair and the disabilities you would face. This also added into the creepy feel because you know that something is wrong with the character. It also adds a sense of curiosity since you do not know how you became disabled. This adds into the entire narrative because you want to escape the room but also find out who you are and what happened to you.

Figure 1: Character on wheelchair

The space is divided into a few different areas. Firstly, there is the ward in which you wake up in. There’s a bed next you with an album, a cart blocking your path, a chair, and a sink.

Figure 2: Starting ward

Once you exit, there’s a hallway that connects to the rest of the space.

Figure 3: Hallway view

From there onwards, the user can explore the space and there’s a room on the right side with a table.

Figure 4: Room

If we go forwards from the hallway (refer to figure 3), we enter the operating room. There’s a bunch of miscellaneous objects, a recycle bin and surgical equipment.

Figure 5: Operating room

If you turn left, there’s another hallway and it leads to another part of the hospital. If you turn left from that hallway, there is another ward. In this ward, there’s two beds and a drawer.

Figure 6: Ward with two beds

On the right side from the hallway, there’s an empty room with a box.

Figure 7: Empty room

The last part of the hospital is the exit where there is a large metal door and a broken screen.

Figure 8: Exit

The objective of this escape room (other than to escape the room) is to piece together your past. To create this “storyness” we threw the user directly into a ward with little to no backstory. On the bed next to where you wake up, you notice an album and upon clicking, it displays an image that showcases four missing images (Refer to figure 2). The main mode of interaction is a click and a long click. We designed this with some restrictions in mind: this was designed for a Google Cardboard. This meant that we only had one click to interact or move. The process of this escape room requires one to click certain objects and explore via long click. In figure 9, the user would move the crosshair over the album and click to show an image. From this, the user would understand that the objective was to find photos.

Figure 9: Clues

The user then goes around the hospital looking for clues.

Figure 10: Clue 1
Figure 11: Clue 2
Figure 12: Clue 3
Figure 13: Clue 4

On each of the photos, there’s a number on them. These are used in the end when you have to enter a password on the keypad near the exit.

Figure 14: Exit and keypad

Once you enter the correct password into the keypad, the doors slide open and a cut scene plays.

Figure 15: Beginning of cut scene

Through this, we hoped to create an environment that resembled an escape room but in the context of someone trying to leave an abandoned hospital. The motivation for the user to continue exploring to figure out the character’s past. The interactions are simply clicks that would display an image or clicks to enter in the password. Furthermore, we wanted to paint a picture of a futuristic world in which our actions are being watched (hence the final scene with the security camera) and humans were research subjects. However, this is all up to the user’s imagination and how they perceive this.P

The brainstorming process was quite straightforward when we were creating it. The bulk of the planning process was coming up with the idea and what type of feeling we were trying to convey. We had various different types of hospitals (Figure 16), but we felt we wanted one that was creepy but not gory.

Figure 17: Different hospitals

While we were play testing (in both the actual and the paper prototype), we received lots of helpful feedback. This included adding a motivation to escape and highlighting the interactions. We tried adding a motivation by discovering your past. The album in the beginning was also to indicate what the user should look for in the game. To increase immersion, we added audio that simulated an eery feeling through baby cries, rolling wheels, distorted radio sounds, and whirling of surgical tools.

Figure 18: Paper prototype

Keyin was the creative genius behind most of the design decisions while Ben and I provided our thoughts and feedback. From the beginning, we needed implement a first person view and we decided that we wanted the user to be on a wheelchair. To implement this, we combined the wheelchair asset with the character model (the character looks like a zombie). We then added a character controller script that had the ray-cast, first person camera view, and interactions. If the player is close to an interact-able object and clicks it while the ray-cast is hovering it, an image will display.

I spent the bulk of my time animating the door and writing the script to open the door. I animated it via Unity and incorporated a simple script to test it out in the beginning (press space to open door). These largely adhered to the tutorials that Sarah posted. Once I made sure the animation was working, I added the keypad via GUI. I followed a tutorial on Youtube to complete this part: https://www.youtube.com/watch?v=ne41wItQmdo.
The script can be described as follows: when the user approaches the box collider of the door, it tells the user that if the user clicks one more time, a keypad will appear (this is done via onTriggerEnter and onTriggerExit along with boolean values).

If the user clicks, it opens the keypad (clicking turns a boolean variable keypad to true). The user can then hover and click on the buttons. The password is set in the code (“35296”) and there is a variable called input that is initially “‘. When a user presses a button, input = input + “x” with “x” being what number they press. Once the input is equal to the password, the door opens (another boolean variable is set to true). Pressing the “?” button will prompt a GUI interface to show writing “Enter a 5 digit password.” Pressing the “x” will turn the keypad boolean variable to false, closing it, and allowing the user to move again.

Originally, I had an issue where the user would not be able to click on the keypad because it followed the user’s camera. I resolved this by this line of code:
“Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;”

This allows the user to move the cursor without the camera moving.

Sarah raised an issue where the cursor detracts from the immersion of the story since it wasn’t similar to the crosshair in the game. I tried to resolve this by changing the cursor to be the same as the crosshair, but that wasn’t shown in the build.

Another issue I faced was a nullExceptionError but that was due to me not capitalizing the “s” in void Start().

When animating the door, I had an issue in which the door would slide over the wall. This was resolved by adding another wall over the first wall so that the door would slide in between those two walls.

I felt like we definitely met our expectations in creating an escape room that had a “storyness” to it. I felt like there was also a motivation for the player to explore and try to escape. I am very proud of the work that we produced and I had a lot of fun making this. I was so absorbed in making this that I lost track of time and was 45 minutes late to a class. However, there are definitely some things that we could improve on.

Firstly, in terms of performance, there are some issues with the door. When I was coding it, I used onTriggerEnter and onTriggerExit to create this interaction. This would sometimes lag the user when they entered the box collider. Additionally, it was a bit clunky since you need to click to move and it would interfere with it. If I had more time, I would love to polish this up.

Secondly, in terms of aesthetics, there are some things I would like to improve. The keypad on the door does not really fit the overall feel of the hospital. Additionally, the text is quite small and the size of the keypad should be bigger. I tried to fix it before the deadline, but the changes weren’t big enough. The text on the keypad should also be a bit bigger.

Thirdly, in terms of “storyness”, I felt like this could be improved upon if we had more time. The objective was to explore the hospital, try to find out about your past, and escape, however there wasn’t much background information given to the user. Additionally, when the user went around looking at photos, it doesn’t add much information. Perhaps, some text at the back at the photo would aid in telling the story.

I also felt like there wasn’t much clarity and some controls aren’t that intuitive. One thing that was difficult was identifying what were clues and what we could interact with. We also didn’t know what we were looking for. Adding clarity such as when you hover over an object you can interact with, it lights up, would help.

Lastly, in terms of interactivity, there is a lot more we could improve upon. As of now, the only interaction are with objects that act as clues or the keypad. Adding different interactions such as being able to hold objects and using this interaction as a key component of finding clues would make the entire experience more interactive (and probably more fun).

There are a bunch of things we could spend time on improving, but for the given time frame I am extremely happy with the work that we created. In the summer if time permits, I intend to work on it. I’ve shared this with many of my friends and I’m asking them for feedback. Overall, I loved what we created and I hope to continue working on game projects in the future.

Final Project Development Journal: Wheelchairs?

May 10, 2020

It’s been awhile and there have been numerous updates for this project. We each worked on different things and there is still a lot to do. Keyin wrote the story in which the escape room would follow. She also illustrated some of the photos that are used as clues in the game and created the environment. Ben worked on character movement and the physics in the game.

As of now, this is what our escape room looks like.

Figure 1: Environment

The movement and physics are show in the links below:
(Movement) https://streamable.com/gs96wb?fbclid=IwAR2KHC1-RPg-UoJsrxnpihHjj8crV-yYtwkCyq2GxCcdt10PNLL4WC6ohIE
(Physics) https://streamable.com/1ae7el?fbclid=IwAR2dNoTDX2IRfwa5JZGAW4Jj6P7e9qWQGbA6AmRELT0Q3lU9LeQvJaFk-vg

One important thing that we wanted to implement was the view from the wheelchair. We are aiming to create something like this:

Figure 2: Wheelchair View

I primarily worked on animating the door and writing the scripts for it. As of now, I have only implemented something simple: if you press the spacebar, the door opens. This was a similar script to the tutorial that was shown in animation. I intend to complete the password script soon. However, I did encounter an issue with the door animation. When the door was sliding over, it would slide onto the wall. To resolve this, I removed the entire wall (one wall covered the entire side of the environment) and filled in planes separately. After doing so, I added another layer on top of where the door would slide over to cover it (kind of like a sandwich in which the sliding door slides between the two walls). An animation of the door is shown below:

Figure 3: Door Opening

We have also created an ending scene and I intend to write a script that connects the ending. The ending scene is shown below:

Figure 4: Ending Scene

April 10, 2020
For our final project, we (Ben, Keyin, and me) initially decided on the escape room/apocalypse prompt. However, Ben later on raised the suggestion of making an escape room based off of someone in a wheelchair. We all took a liking to this idea and started brainstorming for potential background stories. Keyin brought up the idea of the user trying to escape from an abandoned hospital or a retirement home. We are yet to fully decide on what our story should be about.

We spent the bulk of our time discussing the mechanism of how the wheelchair would work and what are the possible interactions with the Google Cardboard. We decided that when the user was moving, we wanted the user to be able to see part of the body and the hands/arms as he/she turns the wheels to move. The way to move would be to point the Google Cardboard in the direction you want to go and to press the button on the side. This would then allow the user to move as an animation of the user spinning the wheelchair is shown. In terms of interacting with the world, we thought that the two methods we had are a long click and a short click. We would designate one as the movement while the other would be the interaction with game objects.

Figure 1: Brainstorming and Wheelchair
Figure 2: Wheelchair Sample Scene
Figure 3: Abandoned Hospital 

Invisible Cities Response

This was an absolutely splendid read and I thoroughly enjoyed the experience of traversing through the various cities. There were simply too many cities that stood out, but I’ll do my best in narrowing down my favorite ones. Octavia, the city of spider webs, hovering over the void, captured my interest right away. The life of its inhabitants relied on the net to continually support them. However, as time progresses, there is a sense of uncertainty that exits because the net won’t last forever. I thought this sense of uncertainty connects to our unease and uncertainty we face today. With how COVID-19 is panning out and the multitude of disasters, uncertainty seems scary. I also loved Valdrada with its reflections and Esmeralda where there is no repetition.

Although these cities did not remind me of a particular city in real life, Armilla and Zenobia reminded me of fictional places. Armilla, the city of water pipes, reminds me of the game Super Mario Bros. In the game, Mario travels through pipes and I loved how people Armilla did the same. Zenobia, the city of heights, reminds me of Fortree city in the game Pokemon Emerald. In Fortree city, there are numerous ladders and people travel across platforms and hanging sidewalks, just like Zenobia.


Despite the vivid details, much of the cities encapsulated more than just objects and descriptions. For example, Zaira, a city that contains its past, cannot be simply described by what it has. The line, “the city, however, does not tell its past, but contains it like the lines of a hand written in the corners of the steets, the gratings of the windows, the banisters of the steps, the antennae of the lightning rods, the poles of the flags, eery segment marked in turn with scratches, indentations scrolls,” encompasses this concept of history and the passage of time. These conceptual details would largely depend on who’s creating it in the virtual world, but if it were up to me, showing little wears of time in the buildings and having various statues and monuments would aid in creating this abstract concept. In this city, since it is about the past, being able to discover and read up on its history would help tremendously in exemplifying what Zaira would be like.


Throughout the novel, the use of time was used to convey an impression of the city. Most commonly, it was used to give an ominous feel of uncertainty or destruction. In the case of Octavia, time represented a sense of uncertainty and impending doom. In Leonia, time conveyed the message of innovation and eventually the destruction from excess garbage and its own innovation. Time also represented a loss of morals and decay as shown in Clarice and Eutropia.

Documentation for Project 2: Switch World

The activity we used as the basis for the interaction was the action of turning on and off the light. To put this interaction into use, we needed an environment in which such an action would be normal. Thus, we came up with a simple room/kitchen with two light switches on the side. One light switch was completely normal: flipping it on and off would turn the light on and off. The other light switch however, would prompt fireflies to appear from the plants. This is our primary alternate world activity where turning on and off a light switch would create something unusual. The light switch also controls the fireworks that the user can see outside the window.

When brainstorming, we wanted to create an environment that incorporated our daily interactions in the real world. We started off with actions such as turning off the alarm in the morning, waking up and opening the door, turning on/off the light, and grabbing a cup of coffee. In the beginning, we assumed that we were using the Vive system, however due to outside circumstances, we had to stick with Unity only. We ultimately decided to choose turning on/off the light as the main interaction. We felt that this action could create more possibilities for us to explore an alternate reality. By turning on/off a particular light switch, we could have different events show up. In our alternate world, most things were just like normal. The interaction itself was also ordinary, but what happened from the interaction was not necessarily ordinary. Unfortunately our main mode of interaction with the world was the keyboard, the interaction was just simply pressing ‘e’ on the keyboard when the user was near the light switch.

Figure 1: Initial Idea with 3 interactions
Figure 2: First take on kitchen

The steps to implement the interaction were quite simple. We primarily used the onTriggerEnter and onTriggerExit to determine whether or not the user was near the light switch. Once the user was within the box collider of the light switch, simply pressing the letter ‘e’ would result in the light switch being turned on or off. For the fireflies, they also fell under a similar script but we used the particle system to create the effect.

I definitely feel like we did achieve our goal of creating alternate world. Turning on the light to generate fireflies or to start fireworks in the middle of nowhere is not something we see in our world. The design was supposed to create a serene experience in which the user was just there to observe. There’s no real goal for the user; the user has freedom to explore the room and check out the effects of the lights. In an attempt to guide the user, there are GUI’s asking the user to press the ‘e’ on the keyboard when they are near the light switch. Additionally, there’s a light on the light switch to prompt the user to explore. I felt like the end result coincided with what we originally envisioned. We created an everyday interaction and turned it into something unordinary. However, I felt like the medium itself took away from the implementation of the idea. The motion of turning on and off the light switch is quite distinct; it is something we’re familiar with. We couldn’t quite encapsulate the action with our medium as we could only use the mouse click or the keyboard. Perhaps if we were using the Vive, we could make the action much more realistic. Pressing ‘e’ on the keyboard and seeing a change doesn’t create the same sense of bewilderment if the user were to actually flip the switch.R

Our primary action was to turn on/off the light switch. We gave the user freedom to move around within the room and there is nothing else the user can do except from move around or turn on/off the switch. To prompt the user to carry out the action, we had GUI on the top left corner of the screen when the user approached the light switch. Additionally, there’s a light on the light switch that would curate curiosity

Figure 3: GUI when near light switch
Figure 4: Completed look of kitchen
Figure 5 : Fireworks
Figure 6: Fireflies
Figure 7: Lights turned off

Project 2: Development Journal

March 2, 2020

For the second project, my group ultimately decided on creating interactions that occur in our daily lives. The first three interactions that we discussed were turning off an alarm, grabbing a coffee cup, and turning on the light. After some discussion, we landed on the theme of actions we do in the morning.

At first, we wanted to have the user wake up in bed and then turn off an alarm. However, after discussing this with Sarah we realized that it would require a lot of work as we would need to align the height difference and have props. We scratched that idea and went for interactions that we would do while standing. These then included opening the door (after you get out of bed), turning on the light (since it’s dark outside), and pouring coffee into a cup.

The story proceeds in this manner: the user first notices the door and we visually cue the user to open the door via the handle, then the user is in a darkroom with the light switch on the side of the wall, and lastly the lights on and the user heads towards the coffee machine to grab a cup of coffee.

March 13, 2020

Due to COVID-19, our plans for the project had to change. However, our core interaction still remained the same: to turn on/off a light switch. Ganjina finished up most of the indoor decoration and I worked primarily on the script that would turn on and off the lights. At first, I couldn’t get the onTriggerEnter to work, but Sarah helped me out there. Ultimately, I got the light switch to work and I designated the light source as sun for now.

Room
The lighting when the light is on.
The light switch when the light is turned off.
The lighting when the light is turned off.

Responding to Response as a Medium

To fully immerse in a VR environment, any small discrepancy disrupts the entire experience. Fundamentally, any type of response in VR should make sense and correspond to the performed action. For example, in a VR environment that includes a battle system, swinging an arm should not result in your leg kick out. Additionally, to respond intelligently, a response in VR must be able to take into account various different behaviors and to distinguish them. There should be consistency in determining behavior and the response.

VR presents an opportunity to explore beyond what is possible in this world. As an avid gamer, an intelligent response in VR in the context of games should be able to tell which action you are choosing and correctly affect the game. Take the example of Beat Saber: when the user slices from up to down, the response in VR should be a slash from up to down as well.

Documentation for Project 1

For my first project, I attempted to create an environment that was peaceful and calm. The inspiration for my project was loosely based upon the game Human: Fall Flat. In the game, there was always a sense of serenity, and this was something I hoped to recreate. Additionally, when traversing through levels, your character would fall from the sky while surrounded by clouds. I wanted to incorporate clouds in my project. I was particularly drawn to one of the levels that had a medieval feel. I also loved the low-poly objects and I utilized low-poly assets to create my project.

The image I associate with serenity and calmness is one that is filled with greenery and nature. I also thought that having clouds surrounding your character adds to this calmness and presents a heaven-like feel. I wanted to create some sort of isolated island in the middle of the sky where one would be able to just relax and indulge himself/herself in the scenery and tranquility. To do so, I situated the camera so that the first thing you would see would be trees, the sky, clouds, and a grass field (Figure 1). On the sides, one can observe a mountain on the right and a house on the left. The reason behind is that I wanted to curate a sense curiosity so that the user would turn around and try to explore the terrain (Figure 2 and Figure 3).

Figure 1: First view
Figure 2: Left side view from centre
Figure 3: Right side view from centre

In my project, I also wanted to incorporate a medieval feel to it. I originally intended to create castles in my project, but I felt like it disrupted this calmness that I tried to create. Instead, I utilized other objects that one would associate with medieval times. The first was the well in the centre of the screen in Figure 1. On the right side in Figure 1, there is also a church while the left side has a building with a water wheel. Lastly, there is a washroom directly behind the user that reminded me of the medieval times and also the movie Shrek (Figure 4).

Figure 4: Back view from centre

Across the various photos, one can observe that there are numerous clouds. In this project, to create a close proximity between the user and the clouds. This can be seen in Figure 2 where the cloud casts a shadow over the water. I also wanted the clouds to be everywhere to create a sense of living in the sky. In the project, the user is not situated directly in the centre of the space. From Figure 4, one can tell that he/she is close to the edge of the land. I wanted create the illusion that the user is suspended in the sky and that he/she could fall off. In Figure 5-7, one can observe that the user is surrounded by clouds everywhere.

Figure 5: Right bottom view
Figure 6: Left bottom view
Figure 7: View from bottom to top in centre

This world is an alternate world due to the fact that one is situated in the middle of the sky. The objects are also low-poly and the buildings are outdated in today’s world. There is also not a living object other than plants/trees in sight.

Looking back, I definitely feel that my implementation fits the identity that I picked. It evokes a sense of calmness through the trees, clouds, and grass. The idea that one is situated in the sky is also something that aids in the identity that I’m trying to create. However, there is a discrepancy between the clouds from the skybox and the clouds that I utilized to surround the land. This somewhat breaks the sense of immersion. Although my initial idea had more buildings and castles, I felt that I still achieved the identity I was aiming for. I also felt that Unity was great in rendering this type of environment. The asset store also had numerous assets that fit with the identity that I was trying to create.

Development Journal 1: Humans Fall Flat

February 17, 2020

After looking through the Unity Asset Store, I found many low poly nature objects such as trees and grass. I did not find a castle that fit with what I had in mind so I switched a few things. The two main points of focus was to give off the feel that one was situated near the edge of a platform with clouds surrounding the user and to create a sense of peace and serenity. I tried to create a medieval feel by having a church and a building with a water wheel. There is also a water closet directly behind the user. In the Human Falls Flat scene, there is a catapult and a bundle of rocks. In response, I just created a pile of rocks. The sun is situated in a way that everything is lit up and bright, with the clouds casting shadows to indicate proximity. Ultimately, I wanted my space to instill a sense of calmness: the entire space is just nature, buildings, and clouds.

February 11, 2020

For this project, I drew inspiration from the platform-puzzle video game Humans Fall Flat. This was a game I played with my friend last semester and I really enjoyed the art style. The game utilizes low poly for its objects and scenery. The feeling I get from this game/scene is one that is peaceful and serene, but also with a tinge of loneliness.

In this project, I hope to incorporate the scene where the character is falling through the sky as he/she is traversing through levels (Figure 1). I intend to have a character situated near the edge of a platform and behind the user is just space and clouds (Figure 1). I’m aiming to create my own interpretation of the medieval like scene from the game which may include objects such as the castle, bridge, and catapult (Figure 2 and Figure 3). After yesterday’s class, another approach that I thought of separating the various objects (castle, bridge, etc.) and placing them on different islands. By doing so, one would be able to better observe the sky/clouds from all angles.

Figure 1: Character Falling Through the Sky
Figure 2: Medieval Scene
Figure 3: Medieval Scene (Different Angle)

Reading Response 1: Hamlet on the Holodeck Ch. 3

There are so many things happening around us and each encounter and action all entail complex intricacies and details. When reading the chapter, I realized that I’ve never really took the time to analyze and break down some of the technological advancements we see and use everyday. The chapter documents numerous advancements and the ingenuity that goes behind each of them. I loved the example of Zork and how it was similar to the game Dungeons and Dragons. Prior to reading this, I would’ve just described Zork as something that is cool and fun, and I would not have analyzed the game and understood its concept. Whether or not a technology was additive or expressive or whether or not something falls under a digital environment are concepts and questions I have yet to ponder.

In regards to this, VR fulfills the property of a digital environment being spatial. VR perfectly embodies this property in that it’s an entirely new world or reality. One is able to fully immerse himself/herself in a different space and navigate across the environment. One also has agency in this world and is able to have various experiences. In the example of Zork, the book tells a story of a character walking into a dungeon that “someone is sealing shut behind you.” This experience could be further amplified in a virtual reality where one’s senses can fully immerse in the situation. There is a power of navigation that exists in virtual reality.