Free on iPhone · No ads · Plays offline

30 LEVELS. 3 BOSSES. ONE ROCKET.

Thread a neon rocket through asteroid fields, minefields, drone swarms, and gravity wells, then dive into the black hole. Every pixel is drawn by WebGPU and every note is synthesized live. The game on the right is the real one, running in your browser.

  • WebGPU render
  • Reanimated 4 UI
  • Audio API synth
  • Argent agent QA
DRAG TO TAKE THE STICK

WEBGPU · STARTING…

How it plays

One finger. Zero buttons.

Drag anywhere to steer. Your rocket fires on its own. You start every level with three lives, and the lives you finish with are your stars.

  1. 01Drag to steerRelative drag, so your thumb never covers the rocket.
  2. 02Auto-fireFive bolts a second. Ten with rapid fire.
  3. 03Reach the wormholeSurvive the track. Every tenth level, beat the boss first.
  4. 04Earn starsLives left at the wormhole. Three is perfect.

Field guide

3 hits · +50

Asteroid

Cracks into three fragments. Clear the shards or weave through them.

Unshootable

Mine

Bolts pass straight through. The only answer is to fly around it.

2 hits · +100

Drone

Sine, zigzag, dive, orbit. From level 6 they shoot back.

Up to 5 a level

Gravity well

Drags your rocket sideways. Steer against it, or let it slingshot you.

+25

Crystal

Score. Fly through them.

Blocks 1 hit

Shield

A fresnel bubble that eats one hit for you.

2× for 6 s

Rapid fire

Doubles your fire rate for six seconds.

Every tenth level

Three bosses. Each one changes the rules.

Each boss guards the end of a tier. Every phase speeds up its sweep and swaps its attack cycle, and when it dies the wormhole opens behind it.

warden boss fight on level 10LV 10

warden

An armored gate in violet space. It sweeps the lane, fans bolts, and seeds mines behind them.

HP
60
Phases
2
Attacks every
1.2s
  • 5-bolt fan
  • 3 mines
  • 7-bolt fan
  • 3 aimed shots
hive boss fight on level 20LV 20

hive

A honeycomb mothership in the teal nebula. It launches drones in formation while it aims at you.

HP
100
Phases
2
Attacks every
1.1s
  • 2 orbit drones
  • 3 aimed shots
  • 3 zigzag drones
  • 4 aimed shots
  • 5-bolt fan
core boss fight on level 30LV 30

core

The last guardian, with three phases. At a quarter health it fires 150-degree walls of bolts.

HP
110
Phases
3
Attacks every
0.85s
  • 9-bolt fan
  • 5 aimed shots
  • 4 mines
  • 3 dive drones
  • 11-bolt fan
  • 3 mines
  • 4 aimed shots
The rocket diving into the black hole

Then

Dive into the black hole.

Beat a boss and the wormhole opens where it died: a black hole with a tilted, spinning accretion disc. Fly in and the level is yours.

30 hand-tuned levels

A ramp that never lets up.

Each level is one row in a typed table. If any difficulty column ever goes down from one level to the next, the game refuses to load. Level 1 scrolls at 6.0 units a second with 8 hazards per 100 units. Level 30 scrolls at 11.8 with 33, through 5 gravity wells.

Level 1: 8 per 100 units1Level 2: 9 per 100 units2Level 3: 10 per 100 units3Level 4: 11 per 100 units4Level 5: 12 per 100 units5Level 6: 13 per 100 units6Level 7: 14 per 100 units7Level 8: 15 per 100 units8Level 9: 16 per 100 units9Level 10: 17 per 100 units · WARDENWARDEN10Level 11: 18 per 100 units11Level 12: 19 per 100 units12Level 13: 20 per 100 units13Level 14: 21 per 100 units14Level 15: 22 per 100 units15Level 16: 23 per 100 units16Level 17: 24 per 100 units17Level 18: 25 per 100 units18Level 19: 26 per 100 units19Level 20: 27 per 100 units · HIVEHIVE20Level 21: 28 per 100 units21Level 22: 28.5 per 100 units22Level 23: 29 per 100 units23Level 24: 30 per 100 units24Level 25: 31.5 per 100 units25Level 26: 32 per 100 units26Level 27: 32.5 per 100 units27Level 28: 33 per 100 units28Level 29: 33 per 100 units29Level 30: 33 per 100 units · CORECORE30
Hazards, per 100 units. Peak 33.
Level 1: 6.0 units / second1Level 2: 6.2 units / second2Level 3: 6.4 units / second3Level 4: 6.6 units / second4Level 5: 6.8 units / second5Level 6: 7.0 units / second6Level 7: 7.2 units / second7Level 8: 7.4 units / second8Level 9: 7.6 units / second9Level 10: 7.8 units / second · WARDENWARDEN10Level 11: 8.0 units / second11Level 12: 8.2 units / second12Level 13: 8.4 units / second13Level 14: 8.6 units / second14Level 15: 8.8 units / second15Level 16: 9.0 units / second16Level 17: 9.2 units / second17Level 18: 9.4 units / second18Level 19: 9.6 units / second19Level 20: 9.8 units / second · HIVEHIVE20Level 21: 10.0 units / second21Level 22: 10.2 units / second22Level 23: 10.4 units / second23Level 24: 10.6 units / second24Level 25: 10.8 units / second25Level 26: 11.0 units / second26Level 27: 11.2 units / second27Level 28: 11.4 units / second28Level 29: 11.6 units / second29Level 30: 11.8 units / second · CORECORE30
Speed, units / second. Peak 11.8.
Level 1: 0.00 shots / s / drone1Level 2: 0.00 shots / s / drone2Level 3: 0.00 shots / s / drone3Level 4: 0.00 shots / s / drone4Level 5: 0.00 shots / s / drone5Level 6: 0.10 shots / s / drone6Level 7: 0.10 shots / s / drone7Level 8: 0.15 shots / s / drone8Level 9: 0.15 shots / s / drone9Level 10: 0.20 shots / s / drone · WARDENWARDEN10Level 11: 0.20 shots / s / drone11Level 12: 0.22 shots / s / drone12Level 13: 0.24 shots / s / drone13Level 14: 0.26 shots / s / drone14Level 15: 0.28 shots / s / drone15Level 16: 0.30 shots / s / drone16Level 17: 0.32 shots / s / drone17Level 18: 0.34 shots / s / drone18Level 19: 0.36 shots / s / drone19Level 20: 0.40 shots / s / drone · HIVEHIVE20Level 21: 0.40 shots / s / drone21Level 22: 0.41 shots / s / drone22Level 23: 0.42 shots / s / drone23Level 24: 0.44 shots / s / drone24Level 25: 0.46 shots / s / drone25Level 26: 0.47 shots / s / drone26Level 27: 0.48 shots / s / drone27Level 28: 0.50 shots / s / drone28Level 29: 0.51 shots / s / drone29Level 30: 0.52 shots / s / drone · CORECORE30
Drone fire, shots / s / drone. Peak 0.52.
Level 1: 270 units to the wormhole1Level 2: 290 units to the wormhole2Level 3: 310 units to the wormhole3Level 4: 330 units to the wormhole4Level 5: 350 units to the wormhole5Level 6: 370 units to the wormhole6Level 7: 390 units to the wormhole7Level 8: 415 units to the wormhole8Level 9: 435 units to the wormhole9Level 10: 460 units to the wormhole · WARDENWARDEN10Level 11: 485 units to the wormhole11Level 12: 510 units to the wormhole12Level 13: 535 units to the wormhole13Level 14: 560 units to the wormhole14Level 15: 585 units to the wormhole15Level 16: 615 units to the wormhole16Level 17: 640 units to the wormhole17Level 18: 670 units to the wormhole18Level 19: 700 units to the wormhole19Level 20: 730 units to the wormhole · HIVEHIVE20Level 21: 760 units to the wormhole21Level 22: 790 units to the wormhole22Level 23: 825 units to the wormhole23Level 24: 855 units to the wormhole24Level 25: 890 units to the wormhole25Level 26: 920 units to the wormhole26Level 27: 955 units to the wormhole27Level 28: 990 units to the wormhole28Level 29: 1025 units to the wormhole29Level 30: 1060 units to the wormhole · CORECORE30
Track, units to the wormhole. Peak 1060.
  • Tier 1 · violet · 1–10
  • Tier 2 · teal · 11–20
  • Tier 3 · crimson · 21–30

Under the hood

WebGPU speed. TypeScript all the way down.

WebGPU draws it and Reanimated animates the UI. React Native Audio API synthesizes every sound. AI agents wrote it, then play-tested and profiled it on the iOS Simulator through Argent.

Rendering

WebGPU

react-native-webgpu gives the game a raw GPU device on iPhone. Four WGSL pipelines draw everything you see:

  1. starsprocedural nebula and parallax starfield, one fullscreen triangle
  2. meshinstanced flat-shaded geometry with hemisphere light and rim
  3. glowadditive quads for bolts, exhaust, and explosions
  4. bubblethe fresnel shield around your rocket

The demo at the top of this page runs this same renderer on your browser's WebGPU.

~3ms

JS per frame for the whole game: sim, bot, renderer, audio, and HUD. It held 60 fps in a simulator dev build.

30/30

levels beaten by a greedy bot on every check, with each replay bit-identical to the last.

UI thread

Reanimated 4

Score pops, lost lives, boss health bars, and every panel animate on the UI thread. The game loop never waits on React. A HUD render happens only when a number on screen actually changes.

Sound

Synthesized

React Native Audio API plays tracker songs and effects that are generated at runtime from data. Each tier has its own song, and the bosses have one too. The app ships zero audio files, and its meshes come from a script.

Agent QA

Argent

Argent gave AI agents hands on the iOS Simulator. They tapped through menus, steered the rocket, read the React tree, profiled frames, and recorded runs. They also staged every screenshot and video on this page.

Deterministic

Pure TS sim

The sim is a fixed 60 Hz step with seeded tracks and no rendering or platform code. A greedy bot flies all 30 levels on every check and must match a golden file.

$ npm run verify
step cost 0.0008 ms/step · budget 2 ms
PASS: 30 levels, every level won by greedyBot
      replay bit-identical
Credits

Built by agents

Agents in Cursor, Claude, GPT, and T3 Code wrote the code, with one human directing them. The whole repo is open, including the .audit/ trail of reports, traces, and captures.

Read the source

Get PewPew

Free on iPhone, with no ads, no account, and no in-app purchases. It plays offline.