Level Design

city park level design process

Game Scripting

interactables, switches, doors

Environment Design

guiding the player​

Project Overview

Unsettling First Person Exploration

The Phantom Metro is a first person exploration based game with light combat and puzzle elements. For this project, I designed, scripted, and did an art pass for the city park level in a six week period. The project was created in Unreal Engine 4.25 with art assets from the unreal store.

Level Design

Brainstorming

The initial goal for this project was to create a first person exploration game that left the player feeling uneasy. I started by brainstorming different environments and situations that leave a sense of dread. I settled on creating an environment that would on an ordinary day feel pleasant, but when dark and empty leaves an eerie and uncanny atmosphere. This is where I settled on creating a dark and foggy city park level for the game. I then created a set of design goals I wanted the level to accomplish.

Design Goals

Level Flow

1) Like BioShock, I designed the park entrance section to be open and explorable by the player which allows the player to view environmental details of the park in a comfortable area. As the player walks around, they will find cassette tapes that play an audio log. Eventually the player will find the closed off gate and look around for another exit or a way to open the door. The player will be drawn to the fountain landmark in the middle of the plaza and find the switch. When the player interacts with the switch a little animation will play signifying, they have done something to the environment. Both the switch and cassette tapes show the player there is stuff to find and promotes exploration.

2) The first forest path section tightens up the environment leaving the player to feel more claustrophobic, heightening the sense of unease. This section reinforces the concepts of switches by requiring the player to find two in differing directions to open the door. Before this section end the player will run into a bench that has a weapon for them to pick up and a new type of door with planks. The player needs to hit the planks with the weapon to open the door introducing combat.

3) The purpose of the parking lot section is to further introduction to combat by setting up the first enemy encounter. The parking lot is a visually open environment, but the cars and barriers are used to confined space and guide the player through. As the player makes their way through the cars, a cutscene will play zooming into the first enemy introducing them and starting the fight. The enemy runs straight at the player demonstrating an aggressive nature. The player will use their knowledge from opening the plank door to swing their weapon at the enemy. When the enemy is defeated, the cars move out of the way.

4) The second forest path goes back to the tightened environment of the first forest path. This section uses the plank doors and collectables to reinforce use of the weapon and exploration together.

5) The final section, the subway acts as a narrative end to the level and a transition to the next level.

Challenges

The first big challenge in this project is letting the player know what is interactable and what is a prop. I combated this be designing a system to highlight interactable elements in the environment when a player looking at it within a certain radius 

The second big challenge was pushing the player to areas of interest in the dark environment without them getting lost. This issue was especially present in the first forest path where I required the player to find two hidden switches. I landmark area to have a light pole which would contrast from the dark forest atmosphere. The light has a small radius to still force the player to explore, but it adds a landmark to not frustrate them.

Scripting

Scripting Goals

Interactables

When scripting for this project, I wanted to create a interactable system that was modular, easy to place, and room for new types of interactables. I started by creating a master interactable actor. This contained all the code that would be in every interactable such as a variable for the type of interactable. I then created a child actor for each interactable type: cassettes, weapons, switches, etc. The interactable child actors would each contain code and variables explicitly for that type. This system allowed me to make quick changes to one type of interactable or add a functionality to all of them at once. This was really helpful when I implemented a shader to highlight all interactable elements.

Doors & Switches

I wanted to create a door and switch system that was easy to place into the world and view what was connected without looking into the properties panel. I started by creating a door actor that would have a locked and unlocked state. I then implemented an array to attach switches, or wooden panels to the door. When a corresponding switch or panel was interacted with it would remove itself from the array. Once all the elements were removed the door would unlock. This made it easy to have multiple type of doors and different methods to unlock the door all from a single door actor. Finally, I added text renders that stated how stuff was connected when viewed in the editor, but would be invisible when played.

Environment Design

Environment Goals

Guiding the Player

When designing the environment and placing props it is very important consider player flow. The angle and location of environmental items can have a drastic affect for how the player navigates through the level.

The player starts outside the park gates and faces toward the interior of the park. The large globe and lights direct the player to walk in and towards one of the two staircases. The curvature of the floor also creates leading lines for the player. If the player goes to the right there is another light to push the player toward the bench and stumble across a collectable on the bench.

As the player walking up the stairs, they are guided by the lights at the top to reinforce they are progressing. The player will notice the large fountain silhouette and be drawn to it. As the player goes toward the fountain they will notice the door to there right. The curvature will push them to walk around and find the interactable switch. The player will recall the door and progress to the next section of the level.