Most beginners who search “how to make a shmup” want a fighter that scrolls into enemy formations, an auto-fire stream that upgrades when power-ups drop, and a stage clear — not a Cave-density spell-card bible on day one. A full arcade campaign with rank systems, ranked replays, and multi-loop scoring is a specialist craft. A browser scroll loop is different. A coding agent scaffolds the camera, wave tables, and power-up handlers from one prompt, and AI generation covers ships, starfields, and shot audio. On desktop or web, that means WizardGenie for the scroll-spawn-fire interpreter, Quick Sprites for ship and enemy sheets, SFX Gen for shot and explosion clips, and optional Music Gen for a combat bed. This guide is the honest end-to-end for how to make a shmup in 2026, as a weekend build you can finish once.
What how to make a shmup actually means in 2026
The query “how to make a shmup” hides three intents. Some searchers want a Unity asset pack with fifty prefab bosses and a full STG scoring bible — that is engine shopping, not a minimal playable loop. A second intent is a twin-stick arena where free aim and wave clear matter more than a forced scroll — that is a shooter tutorial, and the sibling guide on how to make a shooter game already owns that loop. A third intent is dense patterned curtains with graze scoring — that is danmaku, and how to make a bullet hell covers hitbox radius and pattern tables. The intent this guide targets is a browser scroll loop: a vertical camera that advances, enemy formations that enter on a timeline, auto-fire with power-up upgrades, and a ninety-second stage clear. That is a weekend build, it demos the Sorceress toolset, and it is the format most shmup tutorial and javascript shmup searchers actually want.
The presentation contract is small and strict. A title screen shows the stage name, control hints (move with WASD or arrows, auto-fire is held or always on, collect P for power), and Play. The play screen shows the ship near the bottom, a scrolling starfield, incoming formations, score top-left, lives and shot level top-right, and optional mute toggle. When an enemy dies, sometimes drop a power-up. When the player’s shotLevel rises, fire rate or spread increases. The shoot ’em up overview on Wikipedia (verified 2026-08-28) traces the genre from Space Invaders (1978) through scrolling shooters, and documents the core skills: fast reactions and memorizing enemy attack patterns. Cite that page when you write your itch.io blurb so players know you shipped a browser shoot em up scroll loop, not a twin-stick arena with a fake backdrop scroll bolted on.
The shmup scroll loop in one minute (scroll, spawn, fire, destroy, pickup)
Five moving parts, repeated until the player dies or clears the stage. First, scroll — advance a camera offset each frame so the starfield and world feel like they are moving into the ship. Second, spawn — wave tables enqueue enemy formations at elapsed-time stamps. Third, fire — auto-fire player bullets from a pool on a cooldown that shrinks with shotLevel. Fourth, destroy — AABB or circle hits between bullets and enemies, then between enemy bullets and the player. Fifth, pickup — power-ups drift downward; on overlap, bump shotLevel and play a chime. Boss phases, bombs, and rank systems are polish layered after one honest formation wave is readable at sixty frames per second.
Pick your engine for how to make a shmup: canvas, Phaser, or WizardGenie
Three good targets in 2026, each with a different trade-off. Vanilla JavaScript with canvas is the honest default and the pick this guide recommends for a first build. One <canvas> draws the starfield, ship, enemies, and bullets. Track input with a keys Set, run the loop with requestAnimationFrame, and resolve hits with axis-aligned boxes or simple circles. Total code footprint for a working html5 scrolling shooter is under 500 lines including scroll offset, wave table, auto-fire pool, and power-up drops. The MDN Canvas API docs cover drawing, and the requestAnimationFrame guide covers smooth delta-time ticks.
Object pools versus push-and-splice arrays stay readable for jam scope: preallocate fixed arrays of bullets and enemies with an active flag, recycle the first inactive slot on spawn, and skip inactive entries in the update pass. Splicing mid-frame under a dense formation will hitch on mid-range phones — pool reuse is the single performance habit that separates a playable vertical shooter browser build from a slideshow.
Phaser v4.2.1 “Giedi” (released 9 July 2026, verified 2026-08-28 on the official Phaser stable download page) becomes the right pick if you want Arcade Physics overlap callbacks, tilemap starfields, particle trails on explosions, or a Scene stack for title-stage-results with tweened bosses. Phaser does not invent your wave table — you still need the same time-stamped formations and power-up rules. Use Phaser when Scene stacks and particle trails are the product; use raw canvas when the product is a shoot em up tutorial people can read in one sitting. A phaser shmup is a fine v2 once the canvas prototype proves the scroll feel.
WizardGenie is not a separate rendering engine — it scaffolds whichever of the two you pick from a single natural-language prompt. WizardGenie ships as both a desktop app (Windows installer with auto-update, available to Early Access supporters and above) and a no-install web build. Its coding-model lineup covers Claude Opus 4.7, Claude Sonnet 4.6, GPT-5.5, Gemini 3.1 Pro, DeepSeek V4 Pro, Kimi K2.5, Grok 4.2, and MiniMax M2.7 (verified 2026-08-28 in src/app/_home-v2/_data/tools.ts). For shmup loops, any frontier model scaffolds scroll cameras, wave tables, and power-up handlers in one prompt. Pair a frontier planner with a budget executor like DeepSeek V4 Pro or Kimi K2.5 for the typing pass — the Dual-agent pattern lands most projects at roughly one-fifth the single-frontier cost.