Penitentiary 77

Introduction

I wanted to create an immersive and holistic first person experience, inspired by Half-Life. The level should be fun and easy to navigate. The player should be immersed by scripted events, environmental storytelling and sound. I also wanted tension to build over the course of the level and end in climax.

You are an inmate in a mining prison, far away in the galaxy. You wake up one day, and something real bad is going down in the prison…

Project Breakdown

  • Solo project spanning 6 weeks 4 hours/day
  • Unreal Engine 5
  • Blockout Tools Plugin
  • A mix of my own blender meshes and marketplace meshes
  • All scripts made by me

Level Overview

Walkthrough with commentary

TOPDOWN

FLOWCHART

Escape Cellblock

Find Flashlight in Locker room

Foreshadow Train on Skybridge

Foreshadow Zombies in Messhall

Chased by Zombies in Security Ward

Find weapons in Armory

Foreshadow Sentry Guns in Loading bay

Activate Sentry Guns to clear Zombies from Courtyard

Jump onto the passing Train to finish level

TENSION GRAPH

Process

I think it becomes so much easier to create a level when you have a clear idea about what you are trying to make. For me it´s important to let this process take some time, even though I am working on a deadline. I believe that in the end, you save time and get a higher quality level by doing this. I can get so many great ideas for my level by watching a movie in a similar setting, for example. When I felt that I had a good idea, I started writing down what I wanted to achieve with the level in a text file. I also wrote down everything that would have to go into the level, like scripts, mechanics and gameplay beats.

 

After that I collected reference pictures for all the different rooms and environments in the level, or just cool images to get the mood I was going for. It helps out with inspiration when making the blockout.

I also drew a paper sketch of the level, mostly just to get a starting point. For me, the paper sketch usually goes out the window pretty fast when I start to blockout.

Player gym

I created a player gym, where I tested the scale of doors, stairs etc. I also made proof of concept blueprints for all my events and mechanics to make sure I didn´t overscope the project.

Rough blockout

I made a super quick blockout to get a sense of scale and figure out important sightlines before beginning work on the actual blockout. I find it really useful because you can find problems with the level thats not evident on your sketch/idea, by just walking around inside it.

Blockout progress

Opening Vista

Playtest and iteration

I love to playtest and get feedback on how a level plays, and it´s where most of the improvements comes from. You can get great ideas that you would never have come up with yourself. But it is equally important to just watch someone play it, and get a glimpse into the mind of someone who hasn´t played the level before.

After a playtest I usually have a long list of notes that I want to implement, and when all the changes have been made, you can playtest again!

Design Techniques

Guiding the player

Progressing through the level, the goal is repeatedly shown to the player. This is to ensure them they are on the right track, and to help them build a mental map of the level.

Level loop

When encountering the zombies for the first time, the player is unarmed. I force the player to flee into a nearby room with a one-way drop into a dark basement, creating tension. The player then finds weapons and a door leading them back to the original encounter. This time they can fight back, and the tension releases.

Immersive scripts and invisible tutorials

Several scripted events play out in the level, but in locations where the player can ́t directly interact with them. This is to immerse the player in the level, but they also function as tutorials. When the player encounters a new mechanic, they already have a basic understanding of it.

Foreshadowing and interconnectivity

The level has several locked doors and windows that the player can look through, foreshadowing upcoming level sections and giving the player their next goal. It also makes the level feel like a ”real” place and not just rooms and hallways with no connection between them.

Design Techniques

Guiding the player

Progressing through the level, the goal is repeatedly shown to the player. This is to ensure them they are on the right track, and to help them build a mental map of the level.

Level loop

When encountering the zombies for the first time, the player is unarmed. I force the player to flee into a nearby room with a one-way drop into a dark basement, creating tension. The player then finds weapons and a door leading them back to the original encounter. This time they can fight back, and the tension releases.

Immersive scripts and invisible tutorials

Several scripted events play out in the level, but in locations where the player can ́t directly interact with them. This is to immerse the player in the level, but they also function as tutorials. When the player encounters a new mechanic, they already have a basic understanding of it.

Foreshadowing and interconnectivity

The level has several locked doors and windows that the player can look through, foreshadowing upcoming level sections and giving the player their next goal. It also makes the level feel like a ”real” place and not just rooms and hallways with no connection between them.

Reflections

Overall I am very pleased with how the level turned out. Since I knew I was going to work on this level for a long time, I put alot of effort into pre-production. By having a very detailed plan and idea, it helped me through all the stages of creating the level.

However my initial idea also included the player riding the train to the hangar, finding a spaceship and get off the planet. Reluctantly, I had to cut that section, but I wasn ́t sure if the level would reach the tension climax I was going for without it. Having the player run from the zombies and escaping the prison with the train still felt like a strong ending, and the decision to cut the section was the right one.

I learned so much during this project, especially grid-based blockout and how to guide the player with shapes in the level.

Thanks for reading and thanks to everyone who playtested and gave feedback!