SCRAPS
Class Project | Unreal Engine 5.5 | First Person Shooter
Role: Level Designer
Team Size: 3 Designers
Duration: 1 Month
Platform:
Tools: Unreal Engine 5.5, Perforce
Scraps is a post-apocalyptic first-person zombie shooter where players explore an abandoned research facility buried beneath a wasteland. I owned the Focal Point of the level, the Trolley Entrance section, which connects the loading & storage area to the research lab entrance.
Gameplay Showcase
Design
Goals
Goal
Teach new mechanics without overwhelming
Blend puzzle + combat
Encourage player choice
Prevent frustration
Solution
Created a practice version of the trolley puzzle before the research lab
Forced players to activate systems while under zombie patrol pressure
Designed the encounter so players can sneak or shoot
Added trolley auto-closing doors to avoid falling off the track
Blockout Snapshots
vs
Asset Complete
My Level Section – Trolley Entrance
This section bridges the opening area with the research lab and introduces an action-block puzzle blended with combat pressure.
This project was a collaboration between 3 level designers, including me. We used the World Partition feature in Unreal Engine to separate our level sections, then eventually integrate them into a single level.
My section covered the middle portion of the level, bridging the beginning and the end by introducing enemy encounters and incorporating a level mechanic designed to challenge the player to make meaningful decisions under pressure.
Player Flow
1. Enter the trolley station from loading area vent
2. Go upstairs to get to trolley
3. Press the trolley button to initiate transport to next stop
4. Fight or sneak past roaming zombies in the control room
5. Pull lever to initiate power to next trolley
6. Press the trolley button to initiate transport
7. Ride trolley into research lab entrance
Trolley Level Mechanic
Using the Primitive shapes, I quickly modeled a trolley transportation to create the Blueprint’s mesh. Most importantly, each door is an individual mesh, so I will eventually create a sliding-door animation for them using Timelines.
First, in my section of the level, the power to the trolley has been shut off. To make it functional, the player must first turn on the lever to restore power.
This is a simple lever that has an animation of it pulling downward, indicating the player has interacted with it. This then tells a button to turn green, indicating that the button can now be used to open the trolley.
This is the blueprint script for the button. Just like the lever, this specific button references the specific trolley, making sure it communicates with the right blueprint.
Again, here, I utilized Timelines for player interaction feedback, in addition to changing the color of the button.
Effectively, I’ve made the button able to make the trolley move in reverse, allowing flexibility in making different puzzle situations. This also helps, just in case the player is left behind, they can call the trolley back.
This is the Blueprint for the Trolley. Showing how the sliding door is opened and closed using Timelines.
The traversal of the trolley is also uses Timeline, with instance editable Vectors to edit its Starting and End points in the Viewport for easy editing.
I have also created safety measures to ensure that the trolley will not travel without the player inside. Reducing the chances of a soft lock.
Encounter Breakdown – Control Room
This is the section I am most proud of.
Two zombies patrol the control room using scripted routes
The player can observe patterns before engaging
Stealth path avoids confrontation
Combat path rewards aggressive play but risks damage while activating systems
This encounter trains players to read enemy behavior instead of brute forcing every situation.
Iteration & Playtesting
The level went through two major milestones: Alpha and Beta.
Playtests were conducted by classmates from other teams.
Issue Found:
Zombies not patrolling
Player falling off trolley
Forced jump at the staircase
Fix
Changed runtime navigation mesh generation to Dynamic
Added auto-closing sliding doors
Leveled geometry to improve flow
Blockmesh to Final
I blockmeshed the level using a modular kit and later replaced geometry with modular environment assets. When necessary, I combined modules to create unconventional shapes such as train ticket scanner.
Level & Technical Design
World Partition setup for multi-designer workflow
Button and lever action blocks controlling the trolley state
Scripted patrol routes for zombies
Using Blueprints to make the trolley level mechanic function
Conditional trolley logic preventing misuse
Reflection
This was my first collaborative level design project using World Partition, which taught me how to properly own and integrate a section of a shared environment.
The biggest takeaway was the importance of playtesting early. Watching unfamiliar players navigate my level revealed usability issues I would not have caught alone.
What I Would Improve
Given more time, I would push our mechanic through a full IPM cycle (Introduction, Practice, Mastery) instead of stopping at the practice stage. Production was limited to under 10 minutes of gameplay, so some mechanical depth had to be cut.