Project Rooms
← Back to ProjectsProject Overview
Project Rooms is a small puzzle game inspired by The Room that I created for my Intro to Level Design class at DePaul through Unreal Engine.
Concept & Goals
Project Rooms is a first person single player puzzle game set in a dark, abandoned medieval house.
Inspired by the mobile game series The Room, the player starts the level inside the house,
with no
memory of
how they arrived and must solve a series of interconnected puzzles across four rooms in order to
locate keys, unlock doors, and ultimately escape through the front door and complete the game.
The core design goal was to create a puzzle experience where each room builds on the last,
with items and clues carrying over between spaces to reward exploration and careful observation.
Environmental storytelling was also done through a series of in-world notes written by a seemingly
former resident of the house, guiding the player without directly explaining puzzles. The intended
mood was tense and
atmospheric; a cold, dark space that feels lived in but long abandoned.
Key Challenges
The project presented several design and technical challenges throughout development.
The most significant early challenge was scope management. Coming into this project with limited
Unreal Engine
Blueprint experience, the original vision was closer to the complexity of the original game, with
object focus mechanics and more in-depth
puzzle interactions. After exploring Unreal and figuring out what I was comfortable doing, the
design was scaled to what was achievable for me, a
decision that led to a more focused and polished final product.
On the technical side, one recurring challenge was Unreal's separation of an object's visual and
physical state.
Hiding an actor using Set Actor Hidden in Game does not disable its collision, which caused issues
where invisible objects still blocked the player's line trace and prevented key pickups. This
required specifically pairing every visibility toggle with a Set Actor Enable Collision block as
well.
Another problem I encountered was that plugging array search results directly into Branch
conditions produced incorrect/unexpected
results due to Unreal's integer-to-boolean conversion, where -1 was being read as True. The
fix required simply comparing the array search results to -1 using a Not Equal node.
Playtest feedback also brought important readability issues for my level. Players could not clearly
distinguish
between a locked and unlocked door due to similar sound effects, and spotlights left behind after
key pickups were misleading players back to empty spots. Both issues were identified and resolved
before the final version of the project.
Design & Technical Solutions
The puzzle structure was designed to increase in difficulty, starting with one simple puzzle for the
first two rooms, and two chained puzzles for the final two. Later a decision was made to include
items in the level to make things feel more like the inspiration. This change allowed me to do more
interesting things like
make the player backtrack between the bedroom and the
closet to find an emblem needed to open the final chest. This gave the game a sense of complexity
and made earning the final key feel more earned.
A central Puzzle Manager Blueprint was built to act as the brain of the entire system, handling
puzzle state, array sequence tracking, actor visibility toggling, and reset logic across all rooms.
This kept individual object Blueprints simple and communication clean. Blueprint Interfaces were
used to connect interactable objects to the player's existing line trace interaction system without
requiring heavy modification of the player character directly.
The UI was implemented using Widget Blueprints with a dedicated title screen camera pointing at the
main table with the note in the first room, and a win screen triggered by a box trigger volume at
the front door,
complete with a camera fade transition. Audio was added as a looping ambient Sound Cue playing
through the entire level to reinforce the eerie atmospheric mood.
Level readability was improved through deliberate lighting decisions, spotlights attached directly
to key objects so they disappear on pickup, warm candle lighting to eliminate sourceless ambient
light, and distinct floor materials used to differentiate doorway spaces from room interiors.
Conclusion
Project Rooms was a valuable learning experience that taught me a lot about puzzle design, level design, and Blueprint scripting in Unreal Engine. I'm proud of what I was able to create, and I'm excited to continue learning and growing as a game developer, moving onwards from my Minecraft projects.