🕯️ Project Story – House of Arkanum 🎃 Why I Decided to Build a 3D Horror Game

The Kiroween hackathon gives complete creative freedom. That immediately pushed me to ask myself what the most immersive and atmospheric experience I could build inside a browser would look like. I didn’t want to create a traditional web app or a small utility. I wanted to challenge myself creatively, emotionally, and technically.

I realized that Halloween themes naturally invite mystery, tension, and psychological depth. So I set myself a goal: create a fully interactive 3D horror experience that lives entirely on the web, using Three.js and Kiro as my main tools.

The idea grew into House of Arkanum, a project that blends horror, memory decay, and a narrative twist that redefines the entire experience.

🛠️ How I Developed the Concept

At first, all I knew was that I wanted the experience to unfold across multiple rooms. As I explored memory psychology and cognitive decline, the concept became clear: each room could represent a different failure of the human mind.

Looping intrusive thoughts False memories Missing information Corrupted data Reconstruction of a lost identity

From this basis, the mechanics practically wrote themselves. A ghost during a loop. A candle puzzle for false memories. A 404 room for missing data. A corruption chamber for broken cognition. And finally, a workshop where the truth becomes unavoidable.

The twist emerged naturally: the player believes they are the father trying to remember a son who never existed, but they eventually learn that they are the son reconstructing the father’s fading mind from the inside.

Every mechanic and environmental detail supports this misdirection.

🤖 How I Used Kiro

Kiro acted as a full production partner throughout the entire project.

Vibe Coding

I prototyped rooms by describing them naturally: “Make a ghost that is only vulnerable inside a light radius.” “Add WASD movement with pointer lock and subtle parallax.” “Build a snap-to-socket system for attaching body parts.” “Generate a vertical parallax scene for memories.”

Kiro produced clean, iterative code that I refined room by room.

Spec-Driven Development

Once each mechanic was defined, I wrote structured specs detailing game states, triggers, lighting logic, performance limits, and interaction flow. Kiro transformed these into reliable modules that made development fast and consistent.

Steering

I used steering to keep everything within the tone and constraints of the project: low poly, moody lighting, lightweight shaders, a target of 60fps, and a psychological horror aesthetic.

MCP Tools

MCP allowed Kiro to read and update project files, inspect GLB models, verify scene hierarchies, manage the /.kiro directory, and keep the codebase synchronized. It kept the workflow stable as the project grew.

Kiro allowed me to build five distinct rooms with unique mechanics on a tight timeline.

🏚️ The Experience Inside the House of Arkanum

Each room represents a different kind of memory failure, disguised as a supernatural puzzle.

Room 1: The Loop Room

A ghost that can only be harmed when inside a circle of light. Representing looping intrusive memories.

Room 2: The Null Candle Library

Three candles, only one real. A puzzle about identifying true memories among false ones.

Room 3: Room 404

A vertical parallax-scrolling scene revealing a life that never happened.

Room 4: Memory Leak Chamber

A sequence of corruption repairs symbolizing damaged cognition.

Room 5: The Mirror Workshop

A large dark room with an incomplete animatronic body on a table. The player walks around with first-person controls, picks up missing body parts scattered around the room, and attaches them in order: leg, arm, hand, and finally face.

When the final piece locks into place, the animatronic sits up and speaks. The voice reveals the truth: the player is not the father fixing the memory of an imaginary son. They are the son trying to put their father back together one last time.

This is the emotional core of House of Arkanum.

🎓 What I Learned

I learned how to build multi-room environments in Three.js, optimize WebGL scenes, structure specs for Kiro, and design mechanics that support narrative misdirection. I learned how to balance performance with atmosphere and how to use minimal dialogue and environmental storytelling to deliver emotional weight.

Most importantly, I learned how powerful a story becomes when the player gradually realizes they misunderstood their role from the very beginning.

💀 Final Reflection

House of Arkanum is a psychological horror experience about memory loss and the love between a parent and a child. Every room is a metaphor, every mechanic is symbolic, and the final twist reframes everything the player thought they understood.

The father wasn’t rebuilding a fake son. The son was rebuilding a fading father.

This truth is the heart of Arkanum.

Built With

Share this project:

Updates