Skip to content

The roll of the day ·112,000 combinations

Orbital AscentTwinned

A metroidvania set in a derelict space station, where you control two characters at once. Rendered in photocopied zine.

GenreMetroidvania
Settinga derelict space station
Twistyou control two characters at once
Lookphotocopied zine
Share on XScope: A month, honestly

Lock a reel with the padlock to keep it and reroll the rest. Every roll has its own URL, so a good one is shareable. Press R to roll.

The one-shot build prompt
Build a browser game called "Orbital Ascent: Twinned".

Concept: A metroidvania set in a derelict space station, where you control two characters at once. Rendered in photocopied zine.

THE CORE LOOP
One connected map where progress is gated by abilities, not keys. Every new ability retroactively opens places you have already walked past.

THE RULE THAT MAKES IT DIFFERENT
You control two characters at once. One input drives both, in different contexts. Never split the controls — the difficulty must come from the shared input, not from juggling.

REQUIREMENTS
- Model the map as a graph with ability-tagged edges and write a solver that proves the critical path is completable — hand-designed gating in this genre is how you ship a softlock.
- Modular ring sections that can lose pressure, power and gravity independently, changing how the player moves through them.
- Blown-out high contrast, dithered halftones, visible toner streaks and a page that shifts a pixel or two per frame.
- Runs in a browser with no build step. Vanilla JS or a single small library, ES modules, no bundler required to try it.
- Fixed-timestep update loop with interpolated rendering, so the game is frame-rate independent on a 144Hz monitor.
- All content — levels, entities, balance numbers — lives in JSON or plain data files, never inline in the logic. Tuning must not require reading code.
- Audio generated with the Web Audio API rather than asset files, so the whole thing stays self-contained.
- Feel pass, treated as a requirement and not as polish: hit-stop on significant impacts, screen shake scaled to magnitude, particles on every state change, and easing on every transition. Nothing may pop in or out instantly.
- Full keyboard support, a pause that actually pauses, and a settings panel exposing the tuning constants as live sliders. You will need those sliders.
- Respect prefers-reduced-motion: keep the fades, drop the shake and the parallax.

BUILD ORDER
1. The core loop with placeholder rectangles. No art, no audio, no menus. Make it fun as rectangles first — if it is not fun as rectangles, the look will not save it.
2. The twist, wired into that loop. This is where the design lives, so expect to rewrite step 1 once you feel it.
3. Content and balance, moved out into data files.
4. The look, applied last as a rendering layer over a game that already works.
5. The feel pass.

Scope: A month, honestly. If a system is taking longer than that, cut it rather than shipping it half-built.

Start by writing a one-page plan covering the core loop, the data shapes, and what you are deliberately leaving out. Wait for me to approve it before writing code.
How to actually use this
  1. Roll until something makes you laugh or makes you curious. That reaction is the only signal worth trusting at this stage.
  2. Copy the prompt for your agent. It ends by asking for a plan first — read the plan, and argue with it. That conversation is where the design actually happens.
  3. Build the loop with rectangles before anything else. If a grey box moving around is not fun, the pixel art will not rescue it.
  4. Then apply the look. It is deliberately the last step in the prompt, because a beautiful broken game is much harder to diagnose than an ugly working one.

The decks

Everything the randomiser can land on. Add your own insrc/lib/roll.js — each deck is a plain array, and every entry carries the line it contributes to the generated prompt.

Genre · 20

  • Roguelike deckbuilder
  • Twin-stick shooter
  • Tower defence
  • Survivors-like auto-battler
  • Match-3 puzzler
  • Incremental idle game
  • Physics puzzler
  • Bullet hell
  • City builder
  • Team-drafting auto-battler
  • Rhythm game
  • Farming and life sim
  • Metroidvania
  • Management tycoon
  • Survival crafting
  • Turn-based tactics
  • Endless runner
  • Typing game
  • Stealth game
  • Social deduction game

Setting · 20

  • a sunken cathedral
  • a derelict space station
  • a medieval bakery
  • a deep-sea salvage operation
  • a haunted shopping mall
  • an arctic research base
  • a cursed arcade
  • a Roman legion supply line
  • an open-plan corporate office
  • an alien greenhouse
  • a Wild West mining town
  • a rain-soaked cyberpunk precinct
  • a monastery library
  • a travelling circus
  • a 1970s submarine
  • a floating sky market
  • a subway network at 3am
  • a volcano observatory
  • a Soviet-era apartment block
  • a lighthouse at the end of the world

Twist · 20

  • you can only act on the beat
  • time rewinds every 30 seconds
  • one button is your whole control scheme
  • you play as the antagonist
  • death is permanent and inherited
  • there is no combat at all
  • the interface lies to you
  • the map is destroyed as you play
  • you control two characters at once
  • everything runs on a 60-second timer
  • you cannot see — you can only hear
  • every action spends the same resource
  • the world is rearranged each run
  • you escort something fragile
  • enemies get stronger every time you win
  • you can undo your moves but the world cannot
  • the camera has its own agenda
  • your score is also your health
  • all your inputs are mirrored
  • you are always falling

Look · 14

  • PS1 low-poly with texture warping
  • Game Boy four-shade green
  • CRT arcade with scanlines
  • flat vector minimalism
  • hand-drawn ink on paper
  • 16-colour pixel art
  • isometric voxel
  • ASCII terminal
  • claymation with baked light
  • N64 fog and vertex colour
  • blueprint technical drawing
  • risograph two-colour print
  • silhouette against one light
  • photocopied zine
Get a rolled game every week

One email, one concept, one prompt. Unsubscribe with one click.