Skip to content

Game AI · Persistent characters · Playable web game

Office Drama

A 2D office mystery where characters follow routines and exchange persistent gossip, turning conversations into clues that can travel through the simulated workplace.

OFFICE DRAMA arcade cover: three coworkers study a mysterious folder in a late-night office.
Conceptual project artwork, generated for this portfolio.

A mystery becomes more interesting when information moves

Office Drama is a small open-world detective game. The player is trying to find the CEO’s missing golden pen drive. The office is populated with characters who can be approached, questioned and encountered while they move through the space.

The central idea is to make the office feel like a social system rather than a row of dialog triggers. Characters can meet and exchange gossip. A conversation may become a clue because information can persist and reach another character later.

The game connects a 2D world to a persistent memory layer

The game scene is built with Phaser, while the broader Next.js application supplies API routes for NPC chat, gossip, history and world events. A gossip request checks which NPCs are positioned to talk, ensures the character backstory data is ready, and then runs an exchange for that pair and game time. The repository also includes a memory web and conversation views that expose parts of this state to the player.

The project includes Three.js and VRM character rendering alongside a 2D office map. That blend lets movement stay readable while conversations can have a more expressive character presentation.

The design challenge is keeping the world coherent

Persistent character memory is only compelling when it changes what the player can discover. If every NPC simply repeats generated dialog, the technical novelty does not become a game mechanic. The useful loop is: move through the office, choose a conversation, let a rumor travel, then use the changing information to decide whom to question next.

This is a prototype game, so its fictional social world should be read as designed gameplay. It is not a claim that language models have independent beliefs or human-like memory. The code and narrative rules create a simulation of those behaviors.

INSPECT THE IMPLEMENTATION

Read the code and project notes

The details above describe the public repository and project status as reviewed for this portfolio. Follow the source to inspect the implementation, setup instructions and current limitations.

Office Drama game and NPC routes
Next.jsPhaser 3Three.jsVRMSupabase