DEV Community

Parnita Singh
Parnita Singh

Posted on Edited on

Lunar Hollow: The Vanished Webmaster

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine

What I Built

Lunar Hollow is a small offline mystery. Nightowl_Ren, the webmaster of a 2000s fan site, stopped posting on March 14, 2004. Four guestbook fans each left a clue, and the archive password comes from putting those clues together.

I read the theme as a ghost story told through an old website. The case board is the haunted part: pinned notes, red string, and a photo of the missing webmaster. The clues are written to reward players who check the source code, since the password pattern is hidden in an HTML comment.

Demo -
https://drive.google.com/file/d/1Th7n308Oixq_3CXmGPOLSX-d1MUWWOC3/view?usp=sharing

Code -
https://github.com/parnita-Singh/LUNAR-Week4/tree/main

The repo has three files: index.html (the page and case board), app.js (the clues and password check), and README.md. Open index.html in a browser to play. No install is needed.

How I Built It

The game is plain HTML, CSS, and JavaScript, with no framework and no build step. The clues and the password are fixed in app.js.

The open-source AI is not yet in the game. The current version runs without any model. The planned next step is a local open-weight model, run through Ollama, that rewrites each suspect’s answers in their own voice. The answers would stay fixed in code, so the model couldn’t invent clues or reveal the solution. I haven’t built or tested that step, and I don’t want to claim it works yet.

Why Does Open Innovation Matter?

Open tools make this kind of project possible without a service:

It runs offline, with no server and no API key.
Anyone can read the source, fork the case, or write a new mystery in app.js.
It costs nothing to run, and nothing is billed per play.

Once a local open-weight model is added, the same argument extends to the AI: the model runs on the player’s machine, so the dialogue never leaves it, and the model can be swapped without rewriting the game.

The Spirit of It

The ghost in this story is the missing webmaster. The old-web look, with its dead links and unanswered guestbook, is meant to feel like a site someone left behind. If it lands for players, it’s because the page feels abandoned, and the clues are how you bring Ren back.

Top comments (0)