Skip to content

Turn Message From The Future into a horror story - #2

Merged
devCrossNet merged 2 commits into
mainfrom
feat/horror-story
Oct 8, 2026
Merged

devCrossNet merged 2 commits into
mainfrom
feat/horror-story

Conversation

@devCrossNet

Copy link
Copy Markdown
Owner

Summary

Story: Message From The Future is now a horror story in five acts, with nine endings.

  1. A wrong number: someone writes to "Mila". Small things do not fit.
  2. A strange world: the Hum, the Quiet, the white vans, and the knocking at night. All clocks stopped at 03:12.
  3. The notebook: Aia's great-grandfather predicted everything, including the player's real weekday, time, and number. Then comes a coded puzzle.
  4. The knock: "Mila" is at the door and knows all of Mila's secrets.
  5. The escape: more voices come, and the battery is almost empty.

The endings depend on how kind the player was, whether they solved the puzzle, and how fast they answered.

New interactions:

  • Timed choices: new TIMED_SELECT type with a countdown. The timeout is a hidden option, so quaire validates and branches it like a single select.
  • Real time: dialogs can use <%= time %> and <%= weekday %>.
  • Puzzle: 3 attempts with hints. Solving it unlocks the "say your name" test at the door.
  • Effects: [[knock]], [[static]], [[flicker]], [[pause:ms]], and [[silence:ms]] in dialog lines. Lines that start with !! are shown as glitch text.
  • Sounds: generated with the Web Audio API, no audio files.

Settings: the menu has "Sound: On/Off" and "Timer: Off". With the timer off, there is no countdown, for slow readers and screen reader users. Animations are off when the system asks for reduced motion.

Test plan

  • npm run test:release: typecheck, 68 tests (about 95% coverage), lint, prettier
  • Data tests: valid definition, only known effects, one timeout option per countdown, the visitors never say a name
  • Every ending is reached by a test
  • npm run build
  • Play in the browser with sound on: knock, countdown, flicker, timer switch

🤖 Generated with Claude Code

devCrossNet and others added 2 commits October 8, 2026 22:29
- rewrite the story in five acts: a wrong number, a strange world,
  the notebook, the knock at the door, and the escape
- add nine endings that depend on trust, the puzzle, and timing
- add timed choices with a countdown and a hidden timeout option
- use the real time and weekday of the player in dialogs
- add a notebook puzzle with hints and three attempts
- add glitch lines, screen flicker, pauses, and generated sounds
  for knocking and static, with a sound switch in the menu
- show a message for invalid input and trim the input
- start again when a saved game does not match the story

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Without timers, timed choices wait for the player, e.g. for slow
readers or screen reader users. The sound and timer settings are
remembered in the browser.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@netlify

netlify Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for boring-raman-d3a49a ready!

Name Link
🔨 Latest commit a0b173e
🔍 Latest deploy log https://app.netlify.com/projects/boring-raman-d3a49a/deploys/6ac7fd6f73c0a40008acfc3b
😎 Deploy Preview https://deploy-preview-2--boring-raman-d3a49a.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@devCrossNet
devCrossNet merged commit 05ae243 into main Oct 8, 2026
6 checks passed
@devCrossNet
devCrossNet deleted the feat/horror-story branch October 8, 2026 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant