Phaser AE

Jetpack corridor runner

Pro packv3.0.0-32DArcade

A one-button endless runner: hold to fly a corridor past zappers, lasers and missiles, let go to fall. Vehicles change how the runner moves and take a hit for you, and the pack draws nothing, so it suits any look.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 14, 2026 · updated October 20, 2026

Jetpack corridor runner: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

What it does

The runner moves along a corridor at a speed that ramps up over the run. Hold and the jetpack lifts; release and gravity takes over. Zappers are bars at any angle that can spin and slide up and down. Lasers are set off as the runner reaches them, warn for a moment and then fire across the whole screen at one height. Missiles show a warning at the screen's edge that tracks the runner's height, hold their line, and fly in. Without a vehicle, any hit ends the run, and the runner tumbles along the floor.

Tokens in the corridor put the runner in a vehicle with a motion of its own. A gravity suit flips between floor and ceiling on a tap, a mech jumps from the floor and floats down while held, and a bird flaps. A press of the same button drives every vehicle, so the game stays one-button. A vehicle takes one hit: the runner is thrown out upward with a moment's grace and the run goes on.

The corridor is built from chunks of items on runner-core's endless run, and the built-in set works for any corridor height. Timed hazards get chunks long enough to hold them at top speed, with nothing laid underneath. Each frame, view() gives you where every zapper end, laser, missile, coin and token is, with ids that stay stable while a thing is in the corridor, and drain() gives events such as laser-warn, missile-launch, vehicle, eject and coin.

Features

  • One-button flight — hold to rise and release to fall, with gravity, thrust, top speed and size as data.
  • Zappers — level, upright or slanted bars that spin and sway, in tunnels and stairs as well as alone.
  • Lasers and missiles — screen-wide lasers that warn, then fire; missiles that track your height, then commit; alone, in pairs and in volleys.
  • Coins — blocks and waving lines, with a magnet and a doubler as power-ups you can add.
  • Vehicles — a gravity suit, a mech and a bird with their own motions, each a shield that takes one hit.
  • An endless corridor for any height — the built-in chunks adapt to the corridor height, and your own chunks mix in.
  • An autopilot — looks ahead on a copy of the run to choose holds and taps, for attract modes and tests.
  • Validation and saves — every fault in the options, motions and chunks reported in one list, plus snapshot, restore and clone.

Good for

  • One-button jetpack runners in the style of Jetpack Joyride.
  • Cave copter games, where holding climbs and the corridor's height and hazards are yours to set.
  • Lab or base escapes with screen-wide lasers and homing missiles as set pieces.
  • Mobile games that need a single touch control, since one press drives every vehicle.
  • Attract modes and difficulty testing, using the autopilot to play the corridor.

Make it yours

The corridor's height, how far ahead the screen reaches, the jetpack's motion in part or whole, the vehicles, the chunks, the opening chunk, extra power-ups and the run's speed ramp and grace time are all options. A motion is a mode, thrust, flip, jump or flap, with gravity, thrust or an impulse, a top speed and a size, so a new vehicle is a few numbers.

Two very different runs: a tall lab corridor at the default ramp from 9 to 22 units a second with every vehicle and a coin magnet; or a low, cramped cave of your own chunks, only zappers and coins, with a heavier jetpack and no vehicles, so every touch of the button matters. A chunk is a list of items, zappers, lasers, missiles, coins and tokens, placed along it, so a hand-made level is plain data.

A quick look

Start a run, hold while a key or the pointer is down, and place the sprites from the view:

const run = game.jetpackRunner.create({ run: { seed: 9 } });
run.input(game.input.keyDown('Space') || game.input.pointer?.down ? 'hold' : 'release');
run.step(dt);
const v = run.view();
hero.x = v.runner.x; hero.y = v.runner.y;
for (const z of v.zappers) drawZapper(z.id, z.x1, z.y1, z.x2, z.y2);

Works with

  • runner-core — the endless run underneath, imported rather than composed; use it alone for a runner of your own.
  • core-2d — sprites to draw the runner, the hazards and the coins.
  • cave-flyer — for a cave you fly through with gravity and thrust to steer.
  • rooftop-runner-2d — for rooftops to leap between.
  • lane-runner-3d and turn-runner-3d — for runners seen from behind, in lanes or on a turning path.

Good to know

  • Shapes are simple: the runner and vehicles are capsules, zappers thick segments, missiles and coins circles, lasers bands. There is no physics engine.
  • Lasers and missiles act on the screen and are timed once set off, so an authored chunk that sets one off must be long enough to hold it at top speed.
  • One vehicle at a time; a token picked up while riding does nothing, and a vehicle lasts until it is hit.
  • The built-in chunks are proved by the autopilot at top speed from the floor, the middle and the ceiling; authored chunks are yours to check.

More Arcade packs

Show all →