Murder Mystery

Solo developer · 2024
Browser Game JavaScript Interactive Story JSON-driven

Murder Mystery is a data-driven investigation game built around a simple narrative engine. Story content is defined in JSON and rendered through a state-based UI layer that handles scenes, choices, puzzles, and an investigation flow.

Overview

Goal

Build a narrative engine where story content can be extended through JSON data while keeping UI rendering consistent and predictable.

What I Practiced

Data-driven application structure, state-based UI updates, dynamic action rendering, and simple systems such as inventory and puzzle validation.

Architecture

Content and Logic Separation

Story content is authored in JSON while the engine focuses on rendering, state transitions, and interaction rules. This reduces hardcoding and makes new scenes easier to add.

Dynamic Rendering

Buttons, suspects, and scene visuals are generated at runtime based on the current scenario, keeping the UI layer generic across different phases of the game.

Reflection

What I Would Improve Next

  • Add JSON schema validation to ensure story data is structured correctly.
  • Introduce save checkpoints so players can continue investigations across sessions.
  • Build a small content authoring workflow to make larger stories easier to write and maintain.

Curious about the decisions behind this project?

Let's connect