top of page

Heirloom

First Person Horror Game

Introduction

Heirloom is my ongoing capstone project: a first-person horror investigation game set in my original Kindred universe. You play a GIA intern investigating a suburban murder, using a camera to document anomalies and cross into an "inner world" until a 70-year-old curse comes to light. Built on top of Out of Frame, pushed further in scope and polish, with fresh twists on familiar horror pacing.

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: 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


  • Level streaming (inspired by Silent Hill): loads and unloads environment layers as the player moves between the surface world and the inner world; each chapter keeps its own version of the house, and transitions sync material swaps, house repairs, and content resets so the space stays consistent while staying modular

  • Real-time light detection (inspired by Visage): runs on the player character instead of scanning every light source, so SAN drains immediately when the player steps out of light without hurting performance

  • Quest and objective tracking: chains events in sequence, so completing A1 and A2 triggers the next objective plus world reactions like doors, cues, and unlocks

  • Camera capture detection: samples multiple screen-space points per shot to reliably confirm a photographed target

  • Post-processing: rebuilt and upgraded from Out of Frame, with camera states and transitions switching effects dynamically, backed by timeline-driven animations

System Design

Gameplay Loop / Sanity System


  • Iterated from an early anomaly-detection loop (inspired by The Exit 8, but read more like spot-the-difference than horror) into a linear-sandbox structure that splits gameplay pressure from narrative exploration

  • Surface world: a safe, story-rich hub, mostly locked down until the player earns access, space for reflection and context

  • Inner world: hosts each chapter's core gameplay; clearing it rewards a key that unlocks a new surface-world room, keeping survival/puzzle tension and story exploration in separate spaces

  • Unlocked rooms hide password fragments; combining all of them opens a hidden room holding the game's central twist, reached through exploration instead of a cutscene

  • SAN system: a negative feedback loop (part HP, part countdown) that activates in the inner world

  • Director system runs in parallel, picking nearby props and environment pieces to trigger anomalies (lights cutting out, disturbances, environmental shifts), so the threat feels like it's actively hunting the player, no scripted jump scares

  • Lit areas give the player some protection, so the director can't eliminate their only safe spot; paranormal events double as navigation cues, with sound and lighting guiding players toward their next objective without breaking immersion

Narrative Design

World Layers and Chapters


  • Narrative and gameplay get their own dedicated spaces, so players are never processing story while also managing threat

  • Inner world: active gameplay, players push through the director system's pressure and earn a key on completion

  • Surface world: pure exploration once unlocked, the player absorbs the 70-year-old curse through environmental storytelling with no mechanical interference

  • Every surface room adds its own narrative layer plus a fragment of the endgame puzzle, so the mystery builds chapter by chapter

  • The house gives up its secret only once every chapter is cleared and every room explored, so the final revelation lands as one payoff instead of scattered reveals

UX & Code Architecture

Performance Optimization


  • Blueprint Interface (BPI) architecture replaces hard references between actors with interface-based communication, cutting load overhead and making the project easier to extend without fragile connections

  • Component-based architecture isolates systems from each other: a Dialogue Component handles conversation logic, a Task Component handles mission data transfer

  • Any interactable object becomes a task object just by attaching the Task Component, no duplicate blueprints required

bottom of page