The Hollow Table: An Offline Ghost Game Master for Tabletop Horror
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine The Hollow Table is an AI game master that runs a spooky tabletop one-shot for a group of friends, entirely offline. Everyone gathers around a table. One screen shows the shared scene: the room you're in

, a slowly rising fear meter, and the narration. Each player uses their phone as a character sheet and sends actions to the game master. The GM, powered by a local open-weight model, describes what happens, voices a haunting presence that seems to know a little too much about the players, and adapts when someone does something nobody planned for. I run a board game community in Mumbai, and the best moments at our sessions are the ones where the table goes quiet because someone said the right creepy thing at the right time.
I wanted to see if a local model could be a game master that creates that feeling. The theme says "ghost in the machine," so I took it literally: the ghost is the model, and it lives on a laptop in the middle of the table. vignesh-gupta/projectify-v2 The open-source AI: The game master runs on Gemma, an open-weight model, served locally through Ollama. There are no API keys and no network calls during a session.
The app: A Next.js and TypeScript app with two views: A shared screen that streams the GM's narration and shows the scene and the fear meter. A player view on each phone, with a character sheet and an action box. Making a small local model a good GM: Most of the work went into keeping the model scary instead of rambling. Structured game state.
The app tracks rooms, items, the fear meter, and each player's status. The model gets the current state in every prompt, so it doesn't forget that the door was already locked. Short, constrained responses. The GM is told to answer in a few sentences.
Short narration is scarier, and it keeps the game moving at table speed. A defined voice. The prompt gives the GM a personality: patient, quiet, and a bit too well informed about the people at the table. Streaming output.
Narration appears word by word on the shared screen, which adds to the tension. It works with the lights and the internet off. Game nights happen in cafΓ©s, living rooms, and places with unreliable Wi-Fi. Because the model runs locally, the game works anywhere there's a laptop.
There's no meter running. A closed API charges per request, and a group of friends can easily send hundreds of actions in one evening. With a local model, a long session costs the same as a short one. I can change how the ghost behaves.
Since I control the model and the prompt, I can swap models, adjust the GM's personality, or fine-tune it on horror writing in a style I like. A hosted API can change or disappear without warning, and then the game stops working. What the players say stays on the table. Players type things into the game that they wouldn't necessarily want on someone else's server.
Running it locally means those stay on the host's machine.
Key Takeaways
- β’Each player uses their phone as a character sheet and sends actions to the game master.
- β’This story was reported by Dev.to, covering developments in the dev space.
- β’AI advancements continue to reshape industries β read the full article on Dev.to for complete coverage.
π Continue reading the full article:
Read Full Article on Dev.to βShare this article


