This will showcase my work as a level designer/scripter in an university project. We were tasked to create a game from scratch in 3 months. This was the first time I had a designer role in a project. The game was developed in Unity and we used collaborative tools such as Github for version control, Trello for project planning and Discord for communication.
What I did
Planned and sketched all the levels.
Wrote a level design document where I wrote down everything about the level design, including a list of furnitures and their dimensions for the artists.
Whiteboxed three levels in Unity using the tool ProBuilder
Placement in the levels; everything from enemies, triggers, key objectives, furniture
Scripted a checkpoint-system and trigger events for opening doors.
Worked closely with the other designers discussing the overall design.
Communicated and cooperated a lot with the artists about what assets needed to be done, how to improve the layout and lighting for the levels.
Playthrough of level 1
Playthrough of level 2
Playthrough of level 3
Designing level 1, The Apartment
This project is large, so I cannot showcase everything, instead, I will narrate the design decisions that went into the first level, hoping it will convey my design thinking overall. This is also the only level where I did everything, whereas the other levels were a lot more complex and I had to delegate some work to other members of the team.
My initial questions when approaching the level design was:
What mechanics do we have and when/how do I introduce them in the game?
What setting/environment should be used?
What scale/size should everything be?
What should the progression look like?
How should the pacing be?
For the first level I wanted to start in a smaller environment so we could introduce the basic mechanics in a controlled way. I began looking up a lot of pictures of apartments, both top down view and the interior. I created a moodboard with the images that I liked the most, then I sketched on paper. Using the sketch, I quickly did a whitebox in Unity using ProBuilder. I used this whitebox as a foundation and did a lot of iteration. I like to begin working in Unity as soon as possible because I can use the cat as a reference point and test a lot.
I also had to decide what should be introduced to the player. First, I made a list of what mechanics that I needed to teach:
Basic movement and camera control.
How the enemy mechanics works.
How to distract the enemy.
The grappling hook.
I decided to leave out the grappling hook in the first level and mostly focus on teaching basic movement. Because I did not want to introduce the grappling hook in level 1, I thought it could be a good idea to let give the player a mission to build the grappling hook by finding and collecting all the parts; a yarn, a knife and a hook. Because the level was so short, I only put the yarn and knife in this level and saved the hook for level 2.
View from starting position in level 1
I put the first objective in the first room to start the mission. I also wanted the player to start in an area where it is safe, so no enemy spawns in the first room. Instead I put a trigger on the first objective to trigger the door opening and an enemy walking in, forcing the player to make a decision.
View when taking the yarn and triggering the door to open
I deliberately pathed the enemy towards the player/objective so that if the player did nothing it would be gameover and the player learns that the humans are hostile. To avoid the enemy, I put a desk between the player and the enemy with the purpose of inviting the player to hide underneath it, teaching that there are hiding spots. When the player leaves the room the door closes. This is because the player cannot really remove the enemy, so l wanted to make the player feel that the last room was finished, and not feeling the threat of an enemy coming up behind. This would keep the game linear and keep the player moving forward without any backtracking.
Second room, the living room
In the second room I wanted to teach the distract mechanic. I placed the enemy close to the balcony door that is open, guiding the player to the next exit. The enemy is placed so that the player could never get past the enemy without using the distract mechanic. I put the sofa in the middle of the room and left space on both sides, giving the player at least two ways to approach it. With UI we introduced the distract mechanic and it is up to the player to meow behind the sofa, making the enemy walk to one side and then the player could go the other side and out through the balcony. Once again, the door closes behind the player. Here I wanted to give the player breathing room. Up until now the player had never been forced to use the jump button. I made the next step to jump from the balcony to the window ledge, forcing the player to both know that they can jump and learn how they jump.
Window ledge, look into the third room
From the ledge you can look into the third room and I used the window frame to actually frame the next objective. I purposely put it on a kitchen island with space underneath it, a similar space to the one in the first room, signaling to the player that there is a hiding spot. I also let the player see a closed door to the left, hoping the player would connect the dots from the first room where taking an objective means 7 Simon Sundström triggering an enemy opening the door. So, the player has to take the objective, hide underneath and walk out from the door that the enemy walking in opens. This time the player ends up in the living room again, but a new door has opened. Once again, I let the player breathe a little and give the player familiarity.
The next, and last room shows the exit (a vent) and a little platforming to get there. I wanted the focus to be on how to exit, rather than introducing more enemies. In the beginning I wanted to have vents between every room because I wanted the cat to traverse through a way that humans cannot. But having vents in every room made it hard for the player to understand where they ended up. Entering the vent completes the level and a cutscene is played.
What I learned during the process
During playtesting the level, I noticed a huge problem; the spaces were way too small. The third person camera was colliding with the furniture and walls. The design team did not want to change the camera as the player needed to be able to easily observe the environment. The first thing I did was to make the rooms bigger, which meant sacrificing the realistic scale of the environment. I also changed where the gameplay should take place. The initial gameplay had a lot of elements where the player walked alongside the walls. So, I tried to design it so that the player would stay away from the walls and be in the middle of the rooms. I did this by making the shelves unreachable and putting a lot of kill zones along the side walls. I learned that if you are going to use a third person free look camera it is important to keep that in mind from the start and actually test with the camera in the scene as soon as possible.