Turn-based Prototype Game

A Persona-inspired horror JRPG prototype built as a technical assessment for a prominent indie game studio.

1 min read

Turn-Based Prototype Main
Turn-Based Prototype Gameplay
Turn-Based Prototype Architecture

A horror RPG prototype that maps out the seamless transition from narrative storytelling to tactical, turn-based JRPG combat. The game opens with an introductory story sequence before sending the player into a chilling supernatural world. There, players explore eerie streets, encounter terrifying Indonesian folklore entities like the Pocong and Kuntilanak, and instantly transition into structured, turn-based battle phases.


My role on the project: Programmer, Game Designer


Chapter I - The Technical Assessment

This project was born out of a pre-interview technical assessment for a highly respected indie game studio. I was given a strict 14-day deadline to build a mini turn-based RPG from scratch.

The requirements were heavily structured to test my engineering fundamentals. The studio specifically requested 3D/2D object interactions, in-game cutscenes, JRPG-style combat, and the use of Scriptable Objects and Prefabs. Furthermore, they set criteria to evaluate the project based on “Game feel,” “Code readability,” and “Architecture and design patterns”. As a bonus challenge, they requested the integration of the Fungus narrative tool for dialogue.


Chapter II - Lore & “Game Feel”

For the narrative, you play as a “murid dukun” (a shaman’s apprentice). Your master tasks you with crossing over into the “otherworld”, a supernatural realm inhabited by Indonesian ghosts, to harvest their organs and bring them back.

I drew heavy inspiration from the Persona series for the combat flow and environmental transitions. To maximize the “Game feel” criteria, I obsessed over the small details. When the player transitions to the otherworld, the environment dynamically shifts, and the moon smoothly transitions from blue to a blood red. I also added surprise narrative elements, like a companion character unexpectedly jumping out of a closet.

During my technical interview, the studio’s leadership specifically praised these unique atmospheric details and the high level of polish I managed to achieve within the time limit.


Chapter III - Architecture & Extenject

Because architecture was a primary grading metric, I refused to write spaghetti code or rely on rigid Singletons.

To keep the core systems organized, I utilized Extenject to handle dependency injection. This allowed me to create clean bindings for global services like the input manager, audio library, and scene routing across completely separate scenes.

Additionally, the studio requested the use of Fungus for the narrative systems. Because the original Fungus repository is deprecated, I adapted by integrating Amanita (Fungus CE), a modern community fork. I successfully used it to modularly handle the opening narrative flowcharts and dialogue triggers.


Watch The Demo


Retrospective: Things I’m Proud Of

This project was a massive confidence booster. Navigating a strict 14-day technical test for a studio I highly admire forced me to bring out my best architectural practices. Successfully implementing Dependency Injection (Extenject) in a fast-paced game jam environment proved to me that writing clean, scalable code doesn’t have to come at the cost of development speed. Walking out of that interview with strong validation from industry veterans confirmed that my technical skills were truly production-ready.