Bootleg Arcade Architecture

v1.10 | updated September 7, 2026

The model composes a game configuration (a spec) from the catalog of authored mechanics. Routing chooses a supported recipe when applicable; fixed code runs the result. The tabs show generation, checks, replay, and runtime. Expand the reference sections for recipes, fixtures, catalog options, and verification details.

From prompt to play (v1.10)Your prompt requests a game. Routing selects a supported recipe and the model fills in its settings, or the model composes a spec through the free-text path. The spec is checked before fixed code runs it. Rejected output loads a labeled prebuilt sample. A parallel capability check explains unsupported requests; background saving and autopilot test runs do not block play.Your promptDescribe a gamePress SummonRecipe + settingsArcade routesModel configuresCheck the specGame data, not codeNormalize + assessPlay the gameFixed mechanicsGraphics + soundIf generation failsRejected output → labeled prebuilt sampleSession or human check → retry noticeAlongside the main flow, without blocking play:Explain the limitsParallel check of requested capabilitiesUnsupported requests appear in the logSave for laterBackground storage + autopilot test runStored specs return as demos or replays
Ordered systems

Every substep dispatches this fixed sequence. Feature-specific systems do nothing when their state is absent; they are not dynamically attached plugins.

  1. 01spawnGuard
  2. 02waveScheduler
  3. 03scrollAuto
  4. 04straggler
  5. 05playerMovement
  6. 06playerFire
  7. 07ball
  8. 08spawner
  9. 09prize
  10. 10generator
  11. 11enemyMovement
  12. 12hordeBreach
  13. 13capsule
  14. 14enemyFire
  15. 15boss
  16. 16barrier
  17. 17enemyCollision
  18. 18satellite
  19. 19secondaryWeapon
  20. 20bossCollision
  21. 21generatorCollision
  22. 22hazard
  23. 23playerDamage
  24. 24bombRelief
  25. 25gemMagnet
  26. 26pickup
  27. 27cache
  28. 28shrine
  29. 29pellet
  30. 30fruit
  31. 31snake
  32. 32healthDrain
  33. 33combo
  34. 34level
  35. 35winLose
  36. 36banner
Recipe families

A recipe is a supported game shape; a spec is one game's JSON configuration. A fixture is a pinned reference spec for testing, not another recipe or genre. Several recipes can share a schema or routing label. These families group supported recipes, not every possible variant.

Shooters
Shmups, vertical scrollers, twin-stick arenas and boss finales.
Paddle games
Breakout, capsule power-ups and invader or horde sieges.
Mazes and dungeons
Pellet hunts, armed mazes, dungeon crawls and sieges.
Survivors
Timed hordes, endless arenas and upgrade-driven survivor loops.
Platform arenas
Bump-and-kick, trap bubbles, Joust and rising-lava arenas.
Runners and launchers
Rooftop runs, flapping, jetpacks, gunboot descents, tower climbs and cannon rides.
Snake
Length targets, timed bonuses and solid or wrapping edges.
Catalog reference

These lists come from the code's catalog and registries. Individual recipes constrain which options can be combined; listing a value here does not make every combination supported.

Component types

  • ArcadeArena
  • ArcadePlayer
  • EnemyWave
  • Collectible
  • Barrier
  • Hazard
  • PowerUp
  • Boss
  • Paddle
  • Ball
  • BrickField
  • Spawner
  • Snake
  • Dungeon
  • Maze
  • Platforms
  • Runner

Ingredient genres

  • snake
  • crawler
  • maze
  • platformer
  • breakout
  • survival
  • shmup

Objective registry

  • survive-time
  • clear-waves
  • defeat-boss
  • clear-field
  • clear-generators
  • reach-exit
  • eat-pellets

Player control

  • free2d
  • horizontal
  • grid

Fire modes

  • manual-dir
  • auto-aim
  • twin-stick
  • directional
  • none

Primary weapons

  • single
  • double
  • spread
  • laser

EnemyWave movement

  • descend
  • sine
  • chase
  • zigzag
  • dive
  • formation-flying

Spawner movement

  • descend
  • sine
  • chase
  • zigzag
  • dive
  • formation-flying
  • walker
  • flyer

Fire patterns

  • straight
  • aimed
  • spread
  • lob
  • ring
  • spiral

Formations

  • grid
  • vee
  • line
  • arc

Power-ups

  • rapidfire
  • spread
  • shield
  • slowmo
  • nuke
  • weapon
  • orbit

Hazards

  • zone
  • laser

Spawner edges

  • top
  • all
  • doors

Animated backdrop

  • none
  • stars
  • grid

Spatial frame

  • single-screen
  • scroll-follow
  • scroll-auto

Survivor auto-weapons

  • aura
  • nova
  • wand
  • whip
  • spiral
  • cross
  • flak
  • orbit

Survivor passives

  • spinach
  • duplicator
  • tome
  • candelabra
  • spellbinder

Flavor packs

  • vampire
  • cyber
  • dungeon
  • cosmic

Cabinet color schemes

  • bootleg
  • gruvbox
  • catppuccin
  • dracula
  • vercel
  • onedark
  • gameshow
  • haunted
  • wizard

Weapon evolution requires both a max-level weapon and its matching passive at the required level.

Verification
  • Every fixture has a regression check. Most pin a terminal outcome, score and time; others assert survival and score progress at the test cap.
  • Seeded simulation is reproducible under a fixed input and tick schedule. Browser frame timing and upgrade choices can vary, so a seed link replays the configuration, not the original player's run.
  • Accepted specs receive a best-effort autopilot test run for attract-reel selection. Rejected specs and specs whose pilot run cannot be scored can still be stored without pilot results. Acceptance, request fidelity, and pilot outcomes are different measures; none guarantees every game is playable.
  • Contract tests check mechanics. Browser and human playtests check the rendering, controls, pacing and feel that a headless run cannot establish.