Hallow Mud: a Halloween MUD where Gemma invents the one ghost we didn't write A developer built Hallow Mud, a text MUD set in 1870s Swede Hollow, Saint Paul, in which every NPC is played by an open-weight Gemma model and the game invents one unscripted character, the Stranger, at the start of each session. In one test run Gemma created Astrid Nylund, a rifle-carrying woman who confronted the lamplighter about what had changed in the Hollow. The project runs Gemma 3 12B locally on an RTX 4080 at about 40 tokens/s or Gemma 4 31B via the Gemini API, and is built as a fork of the LlamaTale engine. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine https://dev.to/challenges/hacktoberfest-week4-2026-10-26 Hallow Mud is a text MUD set on All Hallows' Eve, 1870, in Swede Hollow: the ravine in Saint Paul, Minnesota, where Swedish immigrants built shacks along Phalen Creek. The dead of the Hollow are back tonight: Every NPC is played by an open-weight model. You talk to them in plain language; they answer in character, remember you, react to each other, and some of them wander the Hollow on their own. The model rewrites every room description when the server starts, so each night's Hollow reads differently, and all players share it, so looking around never waits on the model. And then there is the Stranger . We didn't write them. At the start of each game, Gemma gets the story context and one question: "Someone is here tonight who no one in the Hollow has ever seen before. Who are they?" Whoever it invents steps out of the fog, and the rest of the cast has to deal with them. In one test run Gemma created Astrid Nylund, a woman with a rifle, who walked straight up to the lamplighter and started questioning him about what had changed in the Hollow. Nobody scripted that. That's my take on Ghost in the Machine : a ghost that literally comes from the machine. Play it in two places. Pick a name, create a character, and you're in the Hollow with whoever else is online on that server. A minute in the Hollow on the local server: Brita and Näcken each answer within about fifteen seconds. I think it's really fascinating to see the generated conversations, but don't take my word for it, try it out A Halloween text MUD set on All Hallows' Eve, 1870, in Swede Hollow https://en.wikipedia.org/wiki/Swede Hollow, Saint Paul , the Swedish immigrant ravine in Saint Paul, Minnesota. The dead of the Hollow are back tonight, and every one of them is played by Gemma https://ai.google.dev/gemma . Built for the Hacktoberfest Open-Source AI Challenge, Week 4: Ghost in the Machine https://dev.to/challenges/hacktoberfest-week4-2026-10-26 . The game engine is a fork of LlamaTale https://github.com/neph1/LlamaTale by neph1, itself built on Tale https://github.com/irmen/Tale by Irmen de Jong. Our changes live on the hallow-mud branch of tobese/LlamaTale https://github.com/tobese/LlamaTale/tree/hallow-mud . Gemma, two ways. gemma3:12b on Ollama, on a gaming laptop RTX 4080, 12 GB VRAM , with the game server running right next to it. I benchmarked Gemma 3 12B, Gemma 4 12B and Gemma 4 26B-A4B; Gemma 3 12B with an 8k context fits fully on the GPU at about 40 tokens/s, which is fast enough that NPCs answer while the scene is still fresh. gemma-4-31b-it through Google's Gemini API OpenAI-compatible endpoint . Slower, but noticeably better prose, and it needs no GPU, so it's the backend for the always-on server on Render. Switching between them is one line in llm config.yaml . The engine. LlamaTale is a MUD engine where the LLM narrates, plays NPCs, and builds world content through JSON-schema structured output. The story itself zone, NPCs, quests, Swedish 1800s items such as the lie scythe and the folkdräkt is plain Python in story/ . The look. Each NPC has a portrait and each room a picture, in the style of hand-tinted 1870s tintypes. Gemini's image model painted them in advance, from the same descriptions Gemma plays the characters from the script is in tools/paint resources.py . The Stranger can't be painted in advance, so the game paints their portrait the moment Gemma invents them, before they step out of the fog. The web client is restyled in Hacktoberfest's colours and fonts. What I had to fix along the way all on the fork, each with tests : say to