{"slug": "the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your", "title": "The Room That Forgot You: A Museum Mystery with an Archivist That Runs in Your Browser", "summary": "A developer built \"The Room That Forgot You,\" a browser-based first-person mystery set in a railway museum after closing, in which players connect eighteen records across three galleries to restore distorted spaces and give a forgotten person a place in the archive. The game runs on React 19, React Three Fiber, Three.js, TypeScript, and Vite, with a separate worker running two open-weight models as an in-browser archivist that answers questions only from discovered evidence. It is publicly playable without an account, requires a desktop browser with WebGPU for live inference, and is released under the MIT license.", "body_md": "*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).*\n\nThe museum knows every donor's name. It cannot tell you who washed the cups.\n\n**The Room That Forgot You** is a first-person browser mystery set in a railway museum after closing. Its archivist remembers important visitors and celebrated events. Someone else survives only in the margins: an extra cup, repeated return tickets, handwriting beneath an official signature.\n\nYou enter with a flashlight and a handheld receiver. Your job is to give that person a place in the record.\n\nThe main mechanic is **evidence changing the room**. Finding a document is only the beginning. Connect it to another record, establish what happened, and confirm the connection. A distorted space regains its sounds, shape, and meaning.\n\nThere are three galleries, eighteen records, and nine connections:\n\n| Gallery | What the room seems to say | What the records reveal | \n|---|---|---|\n| Departures | Someone abandoned the station. | They kept coming back. | \n| Shelter | Knocking and overturned furniture suggest danger. | The station sheltered people during a flood. | \n| Names | Prominent townspeople did everything worth remembering. | The caretaker's ordinary work kept the doors open. | \n\nA presence approaches from blind spots. Hold the flashlight steadily on it to drive it back; wet footprints briefly point toward an unexamined exhibit. Discoveries affect the encounters, and restored galleries become quiet. There is no loss of collected evidence when you make a mistake.\n\nThe horror begins with an unexplained absence. The ending is an act of remembrance.\n\nThe game is public and needs no account. Use a desktop browser with a keyboard and mouse; Chrome or Edge with compatible WebGPU hardware is the intended setup for the live archivist.\n\nEnter, approach the return ticket, inspect it, and choose **Keep record**. Find another supporting record before proposing a connection. Progress is saved in this browser.\n\nTo test the AI, open the receiver and explicitly download the models. The first load is substantial and requires internet access. After collecting the relevant records, try: **“Did A.V. leave the station forever?”** The answer should reference discovered records and offer a connection for confirmation. Asking ahead of the evidence should not unlock anything.\n\n[Watch the two-minute captioned walkthrough](https://raw.githubusercontent.com/Kushaal-k/the-room-that-forgot-you/main/public/walkthrough.webm)\n\nThat silent recording shows an earlier presentation of the investigation and is labeled **AI inactive** throughout. It demonstrates authored scenes and transformations; it does not demonstrate live inference or the latest flashlight encounters. The playable link is the current hosted build.\n\nIf live inference cannot load, the authored field notes support manual investigation, and the recorded walkthrough remains available. Those are explicitly separate from a generated answer.\n\n[Source on GitHub — MIT license](https://github.com/Kushaal-k/the-room-that-forgot-you)\n\nThe submission's game snapshot is [commit 64ad8d6](https://github.com/Kushaal-k/the-room-that-forgot-you/tree/64ad8d6546f15ab7c528b1c6e9ad52e1a107abac). The repository includes the evidence graph, model worker, tests, dependency notices, and actual model-evaluation outputs.\n\nTo run locally with Node.js 22.21+:\n\n```\ngit clone https://github.com/Kushaal-k/the-room-that-forgot-you.git\ncd the-room-that-forgot-you\nnpm ci\nnpm run build\nnpm run preview\n```\n\nOpen the localhost address printed by the preview server. On Windows, **Start Museum.cmd** handles installation, building, and opening the production preview.\n\nReact 19, React Three Fiber, Three.js, TypeScript, and Vite render a procedural museum. Rain-dark windows and faded exhibits gradually give way to warmer light. A separate worker runs the archivist.\n\nTwo open-weight models do different jobs:\n\n`q4f16_1-MLC` format, resolves an ambiguous shortlist of up to three candidates locally through WebGPU.\nBoth model cards list Apache 2.0 licensing. The app's own code and fictional story are MIT licensed; model weights are separate downloads.\n\nThe first small-language-model-only approach missed too many paraphrases. Adding neural retrieval gave the language model a smaller decision to make.\n\nThe more important boundary is what happens afterward:\n\n```\nQuestion + discovered archive\n        → local neural retrieval\n        → Qwen when ambiguous\n        → structured record / connection IDs\n        → evidence validation\n        → player's confirmation\n        → room transformation\n```\n\nThe worker never receives undiscovered records. The game rejects nonexistent references and incomplete supporting evidence. It renders factual clue text from the authored archive, rather than treating generated prose as canonical history. The model cannot directly open a door or write a save.\n\nA valid-looking answer can still be wrong. [The AI Commit's “Why Forced JSON Output Is Always Valid and Sometimes Wrong”](https://dev.to/theaicommit/why-forced-json-output-is-always-valid-and-sometimes-wrong-2jc8) makes the same distinction between parseable output and correct meaning. Here, source validation and an explicit uncertainty response are part of the game rules.\n\nThe recorded game snapshot passed **21 unit tests** and its production build. Those checks cover evidence validation, save recovery, controls, and encounter logic.\n\nThe [real-model development evaluation](https://github.com/Kushaal-k/the-room-that-forgot-you/blob/64ad8d6546f15ab7c528b1c6e9ad52e1a107abac/validation/real-model-evaluation.json) passed **29/30 development paraphrases, four negative cases, and ten additional checks: 43/44 overall**.\n\nThe mixed pipeline's median response was about 12 ms, mostly from neural retrieval. Ambiguous Qwen decisions took up to 4.59 seconds. Those timings exclude model download and initialization; they are not a claim that Qwen generates answers in 12 ms.\n\nOne failure remains in the report: **“Who actually opened the station during the flood?”** retrieves the general refuge connection rather than the actor-specific credit. These are development checks, not a held-out benchmark.\n\nThe [verification log](https://github.com/Kushaal-k/the-room-that-forgot-you/blob/64ad8d6546f15ab7c528b1c6e9ad52e1a107abac/VERIFICATION.md) records the limits too. A full investigation was exercised before the latest horror pass; that pass received targeted controls checks. Fresh-player pacing, the intended 25–35 minute duration, sustained frame rate, and a complete disconnected model investigation still need verification.\n\nThe archivist runs on the visitor's computer. Questions go to a local worker, with no hosted model endpoint, inference account, or API key.\n\nFor this project, the benefit over a closed hosted API is control over the experience's continued existence. The model, retrieval catalogue, prompts, and evidence rules can be inspected and changed. A developer can replace the model while keeping the story and saves understandable. The museum need not lose its archivist because an inference provider changes pricing or retires an endpoint.\n\nThat fits the subject: preserving someone's place in history should not depend entirely on a service continuing to sell access.\n\nLocal inference also avoids a hosted per-question inference charge. It still costs hardware, electricity, storage, and an initial download. WebGPU compatibility and shared graphics memory are real constraints.\n\nThe app and model runtimes include caching, but **complete offline play has not been verified**. I am not claiming that this release already works through a disconnected reload and full investigation. A closed model could perform the reasoning; the open approach makes the reasoning setup and its dependencies available to the person preserving the game.\n\nThe final reveal is deliberately modest: a workroom, a repaired clock, a kettle, a blue cup, and Ada Vale's name.\n\nThe apparent haunting resolves into traces of someone keeping a place safe for other people. The ending asks you to leave a light burning.\n\nThat is the intended emotional turn. I do not yet have three fresh-player sessions showing that it lands. The next useful test is watching someone discover the connections without help.", "url": "https://wpnews.pro/news/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your", "canonical_source": "https://dev.to/kushaalk/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your-browser-2jkm", "published_at": "2026-10-31 19:10:24+00:00", "updated_at": "2026-10-31 19:22:07.026011+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-agents", "ai-tools", "generative-ai"], "entities": ["The Room That Forgot You", "React 19", "React Three Fiber", "Three.js", "TypeScript", "Vite", "Hacktoberfest", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your", "markdown": "https://wpnews.pro/news/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your.md", "text": "https://wpnews.pro/news/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your.txt", "jsonld": "https://wpnews.pro/news/the-room-that-forgot-you-a-museum-mystery-with-an-archivist-that-runs-in-your.jsonld"}}