Inspiration

Most AI story experiences are still conversations wearing a game-shaped costume: they describe change, but the world itself does not reliably change. Storyforge explores a different idea—what if an ordinary-language prompt could become a persistent pixel world whose characters, terrain, objects, relationships, and rules genuinely evolve?

What it does

Storyforge turns an ordinary-language idea into a persistent, playable pixel world that people can enter and reshape through natural language, voice, and believable actions.

Dream mode

Dream mode creates objective-free worlds for open-ended story play, persistent relationships, transformations, environmental changes, and free-form action.

Puzzle mode

Puzzle mode turns a guided, editable Game Brief into a bounded world with an objective, spatial regions, items, rules, alternate solution families, hints, timed events, turn limits, and explicit outcomes.

Shared world engine

Both modes use a shared authoritative world engine. It validates movement, dialogue, inventory, facts, terrain, effects, following, merging, and other typed operations before committing lasting consequences.

Responsive HTML pixel art, character animation, spatial motion, speech, narration, and world-grounded suggestions perform consequences instead of only describing them. Typed prompts and hold-to-talk voice drafting share the same interaction path. Players can choose or remix a protagonist, keep a journal, restart, and resume saved progress.

Google authentication, Postgres-backed ownership, world-credit accounting, immutable public snapshots, and isolated friend branches support persistent creation and play.

How it works

Storyforge uses:

  • Next.js 16 App Router, React 19, TypeScript 5.9, Node.js, HTML, and CSS
  • NextAuth.js with Google OAuth
  • Supabase Postgres through postgres.js, with localStorage and IndexedDB recovery caches
  • Groq-hosted language models for runtime world/reaction planning and Groq Whisper Large V3 Turbo for transcription
  • OpenAI API models for programmatic character anchors, sprite sheets, and motion planning, including gpt-image-2
  • Structured JSON contracts, schema and invariant validation, and an authoritative PixelWorldState reducer
  • Web Animations API and generated HTML pixel recipes for characters, terrain, effects, and motion
  • Sharp, Playwright, focused Node regression contracts, and Vercel configuration

How GPT-5.6 was used

GPT-5.6 was a build-time reasoning and prototyping collaborator, not the shipped runtime model. It helped translate product goals into typed world-state and operation contracts; compare and refine prompt strategies; evolve the character workflow from anchor-first sprite sheets into responsive HTML pixel worlds; define the Dream/Puzzle product boundary and creator-to-player journey; diagnose failures using traces and rendered evidence; and design repeatable tests, before/after experiments, and validation gates.

Material decisions, experiments, rejected directions, shipped outcomes, and remaining evidence are recorded in gpt-5-6-prototyping-log.md.

How Codex was used

Codex was the agentic development environment through which the project was researched, designed, implemented, tested, and documented. It inspected and edited the repository, researched technical and product references, scaffolded the Next.js application, implemented the world engine and product surfaces, integrated model, voice, authentication, database, persistence, sharing, and credit flows, reproduced bugs, ran contract/build/browser validation, generated repeatable product evidence, coordinated explicitly requested parallel research and implementation lanes, and maintained the Git history and living work logs.

The largest foundational session moved from a structured sprite-sheet idea through the Next.js prototype, voice pipeline, all-HTML Pixel World, persistence, multi-world play, and major engine hardening.

Current testing access

The repository contains a README with setup guidance and two demonstrations of the real Dream and Puzzle UI/state/animation paths at disclosed 1× speed. The repository is currently private and must be made public or shared with testing@devpost.com and build-week-event@openai.com before judging.

Built With

Share this project:

Updates