So, I wasn’t satisfied with any of the implementations I’d seen. There are lots of good things out there, but nothing that quite gave me what I was looking for: an “open world” feel inside of an “Infocom-style” game, with a story that actually unfolds. Even the ones that got close ended up exhibiting drift or other things that worked against immersion, storytelling, etc. I decided to tackle this issue, and vibe-coded a “backend” that would act (via MCP) as a sort of “dungeon master’s assistant.” It uses Ollama, SQLite, and a few other tricks to keep track of the map, determine results of the user’s input, and manage all of the entities (NPCs, objects, etc.). On that last task, it uses a unique system of connecting (and even creating) “adjectives” to track the state of everything. So, if the player lights a torch, the torch gets a new adjective (“lit”), which the front-end MCP-compatible model (Claude is my favorite) can use to “write” the story. Carry a “lit” torch into a room that has adjective “dark” in which an NPC is struggling through difficult work, and everything changes. The room is now “lit”, the NPC shifts from “guarded” to “grateful”, etc. All in all, it seems to be a decent approach to leveraging the power of the front-end LLM, while also providing guardrails, structure, and “world physics” so that the LLM travels a coherent path. Proof of concept run ( screenshot here ) seems pretty compelling. Next steps:
- finish off authoring tools for making the world
- introduce story “phasing” (perhaps based on a “hero’s journey” kind of story structure with author-determined story “gates” between each phase)
- introduce time/pacing through # of turns, and associated rules for each adjective, so that “wet” torches can dry, etc.
- polish it all up for distribution (right now, it’s all held together with spit and bubblegum) What do you all think? submitted by /u/columbcille
Originally posted by u/columbcille on r/ArtificialInteligence
