top of page

Heirloom

First Person Horror Game

2 People

Team Size

14 Weeks

Work Time

UE5

Engine

Introduction

Heirloom is my ongoing capstone horror project—a first-person investigation game set in my original Kindred universe. You play as a GIA intern investigator sent to a suburban house right after a murder case. Inside, you use a camera to document anomalies and cross into an “inner world,” uncovering fragments of the past until the truth behind a 70-year-old curse finally surfaces. This project is built based on Out Of Frame, but pushed much further in scope and polish. My goal is to reach a high level of polish while also adding fresh twists on familiar linear horror pacing—so the experience feels grounded in what works but still has its own identity.

My Roles:

Heirloom is a solo project. I designed and implemented the full gameplay experience end-to-end, with occasional level design feedback and support from a friend.

  • Game Design: designed all core mechanics, systems, and the overall progression structure

  • Technical Design / Implementation: handled all technical work independently, including system architecture, player controls, camera mechanics, and interaction logic

  • Narrative Integration: adapted the story and setting from my Kindred worldbuilding into playable investigation beats and horror pacing

Technical Design

(Core System and Architecture)


The technical foundation of Heirloom is built around one core goal: delivering chapter-based horror that stays modular, maintainable, and scalable as the project grows.

For the world architecture, I implemented level streaming — inspired by Silent Hill — to dynamically load and unload different layers of the environment as the player shifts between the surface world and the inner world. Each chapter can maintain its own version of the house without conflicts. During transitions, I run synchronized world updates: swapping materials, repairing parts of the house model, and resetting chapter content, so the space feels consistent to the player while staying modular behind the scenes.


For real-time light detection, I attached the detection logic directly to the player character rather than scanning every light source in the scene — inspired by Visage. This keeps performance stable while still updating reliably in real time: if the player steps out of light, SAN begins to drain immediately.


On top of that foundation, I implemented the core gameplay-facing systems. A quest and objective tracking system chains events in sequence — completing A1 and A2 triggers the next objective and corresponding world reactions such as doors, cues, and unlocks — keeping narrative progression structured and easy to expand. A camera capture detection pipeline samples multiple screen-space points to confirm whether a target was photographed, preventing edge cases where the game fails to register a clear shot. I also rebuilt and upgraded the post-processing system from my earlier project Out of Frame, allowing camera states and transitions to switch effects dynamically, supported by timeline-driven animations for more polished feedback.

System Design

(Gameplay Loop / Sanity System)


Early in development, I prototyped a simple anomaly-detection loop inspired by The Exit 8. It didn't reliably create fear — it felt more like a visual spot-the-difference game than horror. After multiple iterations, I restructured the project around a linear-sandbox format that separates gameplay pressure from narrative exploration.


The surface world functions as a safe hub: stable, story-rich, and deliberately locked down. Most rooms are inaccessible at first, making it a space for reflection and context rather than threat. The inner world is where each chapter's core gameplay lives — completing it rewards a key, which the player brings back to unlock a new room in the surface world. This loop intentionally keeps survival and puzzle-thinking in separate spaces. In the inner world, players focus on threat and discovery. In the surface world, they can slow down, explore, and piece together story clues without pressure. For horror, that separation matters — it keeps players emotionally present instead of turning every moment into logic homework.


As a final layer, each unlocked room contains a fragment of a password. Collecting all fragments and combining them unlocks a hidden dark room containing the game's central twist. It's one of the moments I'm most satisfied with — where system design and narrative genuinely click together, and players arrive at the revelation through exploration rather than a cutscene.

SAN is designed as a negative feedback loop — part HP, part countdown timer — that activates the moment the player enters the inner world. The director system runs in parallel, continuously selecting nearby props and environmental elements to trigger anomalies: lights shutting off, disturbances, environmental shifts. From the player's perspective, it feels like an intelligent threat is actively hunting and cornering them, creating forward pressure without scripted jump scares.


To keep the experience intense but fair, I built in protective rules — lights currently illuminating the player carry a degree of protection, so the director can't instantly eliminate the player's only safe spot. I also use paranormal events as subtle navigation cues: sound design and lighting changes guide the player toward their next objective without breaking immersion. The result is a loop where players are never just walking to the next marker — they're constantly managing safety, reading the environment, and being pushed forward by a threat that feels alive.

Narrative Design

(World Layers and Chapters)


One of the central design decisions in Heirloom was to give narrative and gameplay their own dedicated spaces, rather than asking players to process story information while simultaneously managing threats.


Active gameplay happens in the inner world: players complete chapter objectives, survive the pressure of the director system, and earn keys that unlock rooms in the surface world. Each unlocked room then shifts focus entirely to exploration and environmental storytelling, where the player can absorb the 70-year-old curse at the heart of the game without any mechanical interference.


The reasoning is straightforward: when horror games layer complex narrative over active threat, both experiences suffer. Players either miss the story because they're focused on surviving, or they lose tension because they stop to read. By separating the two, each element gets the player's full attention at the right moment.


This structure also drives the game's overarching mystery. Every surface room contains its own narrative layer and a fragment of the larger final puzzle. Only when all chapters are completed and all rooms are explored does the house give up its secret — a pacing structure where neither narrative nor mechanics compete for attention, and every individual chapter contributes to a single, unified revelation.

UX & Code Architecture

(Performance Optimization)


To keep Heirloom's codebase clean and scalable across a project of this scope, I built the architecture around two core principles.


First, I implemented a Blueprint Interface (BPI) system to eliminate hard references between actors. Rather than having objects communicate through direct dependencies, all cross-actor communication runs through interfaces — reducing load overhead and making the project significantly easier to extend without introducing fragile connections.


Second, I designed a component-based architecture to isolate specific systems from one another. A Dialogue Component handles all conversation logic, while a Task Component manages mission data transfer. Any standard interactable object can be converted into a task object simply by attaching the relevant component — no redundant blueprints required. This keeps individual systems self-contained and the overall project easy to maintain as new content is added.

bottom of page