What it does

The Forgetting Stage is an AI improvisational theatre game built around one deliberate constraint: the cast shares only 1,000 model tokens of unpinned memory.

The player selects a premise and directs a three-actor performance. As new lines arrive, the oldest unpinned beats fall out of the script. The player may pin exactly one actor line, preserving it while everything around it becomes negotiable.

When a seeded fact is genuinely erased, the next two actors receive the same specific question. Each must invent a confident replacement without admitting the gap. The curtain report places the forgotten fact beside both incompatible answers, so the comedy has a visible cause.

Why we built it

Most AI storytelling products hide inconsistency. We wanted to turn it into a legible game mechanic. A player does not need to understand context windows to feel the tension between one protected truth and a story that keeps rewriting itself.

The project follows the original Thousand-Token Theater experiment, then makes forgetting causal, interactive and visible.

How it works

The Expo and React Native client sends only actions such as start, advance, pin, direct and finish. It cannot submit the transcript, select a speaker or restore an erased fact.

A server-owned performance session maintains the canonical cast, beats, pin, probes and curtain state. Every model prompt is built from the post-eviction snapshot. The gateway loads the tokenizer for the same Hugging Face model used for generation, caps unpinned memory at exactly 1,000 tokens and stores one pinned line outside that allowance.

The curtain stays locked until at least one forgotten seed receives two distinct confident replacements. If unusually short output prevents that, the game may add two recovery rounds, then shows an honest retry state instead of claiming success.

If live generation is unavailable, a deterministic offline preview preserves the game loop. It is labeled OFFLINE PREVIEW, and its memory counter says EST. TOKENS.

Player experience

  • Choose one of three theatrical premises
  • Direct a three-actor improvised performance
  • Pin exactly one truth
  • Add a director note or fast theatrical cue
  • Watch memory pressure and evictions in real time
  • See two actors confidently replace the same forgotten fact
  • Study the damage report at curtain

RevenueCat

One complete performance is free each local day. A consumable encore supports occasional repeat plays, while the Director's Pass entitlement supports frequent players with unlimited performances. Purchase and restore flows are integrated through RevenueCat. No monetization prompt interrupts an active performance.

Retention experiments

OneSignal supports a user-requested reminder when tomorrow's free curtain opens. Permission is requested only after the player explicitly opts in.

Layers records performance, genuine forgetting, reminder and box-office events. A free_show versus curiosity flag tests which curtain message produces more reminder opt-ins and next-day return.

Validation

The project currently passes 122 unit and integration tests, TypeScript validation, Expo Doctor, Android autolinking, web export and Android Hermes export. Android API 36 development-client and release-mode builds both pass. An Android 16 emulator fresh-install preflight reached the honestly labeled offline performance and advanced the first actor turn without a fatal native error.

The repository includes a detailed physical-device validation runbook. Live inference, RevenueCat Test Store purchase and restore, OneSignal campaign receipt and Layers dashboard evidence remain explicitly unclaimed until observed.

Open source

The source is public under the MIT License: https://github.com/himanshu748/forgetting-stage

Built With

Share this project:

Updates