Project Labyrinth

Welcome to the first dev log for Project Labyrinth, a technical exploration into scalable game architecture, procedural generation, and strategic player agency.

​As a developer and educator in the Interactive Multimedia space, my goal with this project is to build a robust C# framework that balances the unpredictability of a “Roguelike” with the deliberate, thoughtful pacing of a tactical RPG.


​The Vision: Strategy Over Speed

At the heart of Project Labyrinth is a shift in gameplay philosophy. While many modern RPGs focus on rapid-input combat, this project prioritizes Strategic Patience. This is best exemplified by the Cleric—one of our three playable classes—whose mechanics revolve around area-of-effect “Auras” and positioning rather than “button mashing.”

Technical Pillars

​To ensure the project is professional and extensible, I am building around four core pillars:

Hamiltonian Procedural Design: The world is a 5 X 5 grid of 25 rooms. My custom generator calculates a non-overlapping path that forces the player to navigate every single room to reach the end. This ensures a “marathon” experience where resource management is key.

Polymorphic Class Systems: Using C# inheritance and Finite State Machines (FSM), I am developing three distinct archetypes—the Knight (Melee), the Ranger (Ranged), and the Cleric (Strategic)—that all share a core codebase but offer vastly different tactical loops.

State Persistence & The Campfire Hub: Project Labyrinth uses a “Safe Zone” system. Progress is only committed to a JSON-based permanent save when the player reaches a campfire. This creates a high-stakes “Risk vs. Reward” loop.

Data-Driven Content: By leveraging ScriptableObjects, I am decoupling game data (loot tables, enemy stats, NPC dialogue) from the logic, allowing for rapid balancing and iteration.


Development Goals

My primary objective is to build a “Systemic RPG” where player strategy is as important as reflexes.

Player Agency through Archetypes: Providing three unique playstyles, specifically focusing on the Cleric—a class designed for “Strategic Patience” and area-of-effect management rather than rapid-input combat.

High-Stakes Exploration: Creating a “Risk vs. Reward” loop where players must decide whether to push deeper for loot or return to a campfire to “bank” their progress.

Procedural State-Tracking: Solving the challenge of persistence in a randomized world. The system utilizes Seed-Anchored Room IDs to ensure that “Death Chests” and “Elite Guards” can spawn reliably in a newly generated dungeon layout.

Emergent Narrative: Using “NPC Barks” and the “Elite Guard” system to tell the story of the player’s previous failures and current environment through mechanics rather than just cutscenes.


​The Feature Roadmap

Over the coming weeks, I will be documenting the iterative development of these systems:

PhaseMilestoneFocus
Phase 1Structural FoundationHamiltonian path generation, 8-way movement, and character prefabs.
Phase 2The Hub & PersistenceCampfire mechanics, JSON save/load system, and in-world character swapping.
Phase 3Loot & Narrative UIShared inventory, Daily Challenges, and randomized NPC “Barks.”
Phase 4Combat & The Revenge LoopIDamageable interface, Elite Enemy modifiers, and the “Death Chest” system.
Phase 5Polish & OptimizationURP lighting, object pooling, and custom 3D “Showcase” assets.

“Project Labyrinth is a live demonstration of how modern C# patterns solve complex design challenges, providing a scalable foundation for both developers and students alike.”

The Journey Ahead

Throughout this blog, I will be documenting the technical hurdles and design decisions involved in bringing Project Labyrinth to life. This is more than just a game; it is a case study in how Clean Code and Intentional Design can create immersive, persistent digital worlds.

​Stay tuned for Dev Log #2, where I break down the implementation of our character movement and the 2D Blend Tree animation system.


Note: This blog utilizes a combination of original in-engine screenshots and AI-assisted concept art for illustrative purposes. All AI-generated imagery is credited to its respective source and tool.