One More Choice: a horror game that learns what scares you

By (@web3brayn) · · Games

One More Choice: a horror game that learns what scares you - image 1 One More Choice: a horror game that learns what scares you - image 2 One More Choice: a horror game that learns what scares you - image 3 One More Choice: a horror game that learns what scares you - image 4

You wake up in a house that would like you to stay.

A cold, polite voice, the House, offers you one more choice at every door. You don't pick from a menu. You type whatever you want to do, in your own words.

Try something stupid. "I unscrew the vent, throw my shoes down the corridor and climb in" actually works.

The twist: the House is watching how you play. Do you hide? Rush the exit? Talk to it? Obey it? Refuse to walk into the dark? It keeps score, then builds the next rooms out of your habits. Two people never get the same nightmare.

Six rooms, four endings, and a fear profile card at the end with your best typed action quoted back at you.

How I made it: built with Claude Code. No AI model runs while you play. It's a hand-built parser and rules engine, real-time 3D rooms in three.js, and all the sound is generated in the browser. No sign-in, nothing to install.

What surprised me: the hardest part was making it feel like it understands you. Handling "unscrew the vent, throw my shoes, climb in" as three connected steps took more work than the 3D.

Play with headphones. It contains horror, jump scares and flickering light.

https://one-more-choice.vercel.app

Tech stack

  • Claude (Opus 5.5)
  • Claude Code (Opus 5.5)
  • Vercel

Prompt

Build a complete, shippable web horror game called ONE MORE CHOICE. No AI model at runtime, no backend, no API keys: static HTML/CSS/JS only, works when opened from disk and on any static host.

CONCEPT: You wake in a strange house. A cold, polite voice, the House, offers you "one more choice" at every door. The player types what they do in their own words. A rules engine, not an AI, resolves it. The game quietly records what scares the player (hide, rush, obey, defy, talk, silence, dark, noise, fight, careful) and later rooms rebuild themselves from those habits. Every player gets a different nightmare.

ENGINE: Write a text parser that normalizes input, splits multi-step actions ("unscrew the vent, throw my shoes, climb in") into clauses, matches verbs through a big synonym table with typo tolerance, resolves objects, tools and pronouns ("use X on Y", "throw X at Y"), and detects speech to the House. Never answer "I don't understand": unrecognized input gets an in-character reply and counts as fear data. Keep the engine and story free of DOM so a Node test bot can run them.

WORLD: A threat clock per room (0 to 5) with a fair last-chance window before the player is caught. Fear counters turn into traits; from room 3 on, every room reads the top traits and changes its intro, what It does and what the House says. The House has trust and irritation moods driven by a dialogue classifier (polite, hostile, begging, defiant, naming) and a short memory of what you did.

SIX ROOMS, each with at least 3 distinct solutions: Bedroom, Hallway, Dining Room, Nursery (hide from something you cannot see), Cellar, Front Door. The Cellar must accept exactly: "I unscrew the ventilation cover, throw my shoes down the corridor to create a distraction, and climb through the vent." and play out each step.

ENDINGS: Leave, Stay, Take its place, and Caught. Each ending quotes the player's own traits and one of their own typed actions back to them.

TONE: slow psychological dread, a cold, polite House that calls you "guest". Short, specific, concrete sentences. No em dashes. No "suddenly".

TESTING: build a Node test bot with phrasing tables for every room, multi-clause input, fuzz tests, soft-lock checks, six player personas and every ending. Run it after every change and report what passed, what failed and what was not tested.

Comments (1)

  1. Jack Herzlich ·

    Dude, this is really good. Creepy af and I like the typing your responses to interact. This seems like a lot of fun, especially for Halloween being in a few days. This is a really fun one man, thank you for sharing tis great game!

3 likes · 1 comment · 4 views

Explore more on Prompted

Loading