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-3dandturn-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.






