interdimensional-game README

The project's README from github.com/blendi-remade/interdimensional-game. As one markdown file: README.md.

🎬 LAST FRAME

A playable film. Every shot is generated as you watch, and the video model is the dice: whatever happens on screen is what happened, whatever you intended. You asked to leap the chasm; the frame shows you dangling from the ledge by one hand? That's what happened. Take the damage.

Powered by fal + MiniMax H3 Max, a video model faster than realtime, which makes a game rendered by a video model possible: the next shots film while the current one is still playing, so picking one plays with no gap.

Two engines live in this repo:

From a run of THE LOST TAPE, the found-footage horror world. Shot 19: the rocking chair starts moving on its own while the next choices film over the still-rolling clip.

Shot 19 of THE LOST TAPE: a rocking chair moving on its own in a candle-lit room, with the live choice board over the footage

Shot 26, 5 vitality left. It stopped keeping its distance.

Shot 26 of THE LOST TAPE: a pale figure standing behind a candle in the misty night woods

The rules

Live Horror

Five worlds on one continuous Director stream. Each is a different fear grammar, and each carries two hidden decks the Director GM draws from at random, so nobody can predict the beat:

World The rule
THE LOST TAPE: LIVE Night woods, a rotting farmhouse, a tall pale shape that is always somewhere it should not be.
BLACKOUT An apartment tower losing power. The shadow exists only where there is no light, and every light is failing.
MIRRORS A grand empty house of glass. The wrongness lives only in reflections, until it does not.
MILE MARKER A night drive that will not end. The same figure on the shoulder, a mile later, closer to the road.
FOGBOUND A fog-drowned coastal town that emptied mid-dinner and is slowly remembering its people.

How a live run works:

Quick start

npm install
cp .env.example .env.local   # put your fal API key in it
npm run dev

Get a key at fal.ai/dashboard/keys. Open http://localhost:3000 and pick a world. The live worlds use the alpha line of @fal-ai/client for fal.realtime.open.

How the shot engine works

opening ──► play ──► ADJUDICATOR rules mid-playback (zero wall-clock)
              │            │
              │            ▼
              │      options surface OVER the rolling clip
              │      3 branches pre-film in parallel (i2v from the last frame)
              │      each ready branch is pre-adjudicated too
              ▼
     pick mid-clip: rolls the instant the shot ends ──► loop
     no pick: freeze-frame + timer ──► the world's own shot

Cost note

A shot-engine run films ~3 branch clips per choice plus one shot that plays, at 480P / 10s each, plus a few small LLM calls per beat. A live horror run is a Director session, billed per second of stream with a 60-second minimum, so budget a couple of dollars per two-minute tape. Keep an eye on your fal usage; dying is the cheapest way to stop.

interdimensional-game (blendi-remade/interdimensional-game)

Searching Database…

What is this?It's LAST FRAME: a game that plays like a film generated in realtime. A video model renders every shot as you watch, and the model is the dice — if the frame shows your hero dangling from the ledge instead of making the leap, that's what happened.
Is this a website I open in a browser, or something I download and install?Nothing to install: it's a browser web app built with Next.js and React. All video generation runs server-side through fal, and your FALKEY never reaches the client.
How do I start playing?Get a fal.ai API key at fal.ai/dashboard/keys, open the app and pick a world. To run it yourself it's a standard Next.js app: npm run dev for development, npm run build and npm start for production.
Do I need my own AI service account for this to work?One fal.ai key covers everything: MiniMax H3 Max films the shots faster than realtime, and the Adjudicator referee is Gemini Flash Lite called through fal's vision router. Live worlds use the alpha line of @fal-ai/client.
What's the catch — how much does playing cost?It runs on your fal credits. A shot-engine run films about 3 branch clips per choice at 480P/10s each; live horror bills per second of stream with a 60-second minimum, so budget a couple of dollars per two-minute tape — and dying is the cheapest way to stop.
How does a round actually play out?Each beat plays a clip with three choices overlaid: press 1, 2 or 3, click, or type your own action. All three branches film in parallel behind the clip, so a pick rolls with no gap. Risky typed moves roll a visible d20; dither until the clip ends and the world takes its own shot, never in your favor.
What's the difference between the shot worlds and the live horror ones?Shot worlds (EVERYDOOR, THE LOST TAPE) chain discrete 10-second clips with three branches pre-filmed per beat, plus quest goals the Adjudicator must see accomplished. Live horror is one continuous Director stream over WebRTC — no clips, no cuts — across five worlds: THE LOST TAPE: LIVE, BLACKOUT, MIRRORS, MILE MARKER and FOGBOUND.
Can I actually die, and what decides it?You have 100 vitality and one life. The Adjudicator, a vision LLM, watches every shot's frames and charges HP for what it sees, with an evidence still attached to each change. Death earns a final generated cinematic and a shot-by-shot timeline of your run; open worlds have no goal, just see how far you get.
Do items my hero picks up actually do anything?Yes. Anything your hero visibly grabs becomes an inventory card with the frame it came from, and an item is a stored prompt fragment: arm it and it's written into your next shot, guaranteed.
Size
11.6 MB
Stars
250
Updated
CommitSep 04
Age
1mo
Commits · 90 Days