Phaser AE

Trail-wall duels

Pro packv3.0.0-32DArcade

Grid trail games as rules: riders move at once, every move leaves a wall, and the last one riding wins. A match runs rounds and scoring, and the bots play for territory, so a duel against one feels like a duel.

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

Trail-wall duels: 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

A LightCycle board owns the play. Every moving rider is resolved against the same occupancy before the step, so nobody gains by being updated first. A move off a bounded edge, into an obstacle, or into any trail or head crashes. Two riders entering one cell both crash, or the first authored rider keeps it; two adjacent riders swapping cells both crash, or pass. With derez on, a crashed rider's whole wall disappears in the same step. Turns are buffered, up to two by default, and each is checked against the last queued heading, so "up then left" inside one step both happen and a reversal into your own trail is refused.

A LightCycleMatch wraps the board in a game. It runs the ready countdown, steps the board at a fixed rate that can speed up during a round, lets humans switch between cruise and boost speeds, decides rounds and keeps best-of-N scores. With humans playing, a round can end as soon as every human has crashed, so nobody watches bots finish it.

The bots are what make it worth having. A bot never moves into a solid cell and treats a head-on as a draw to avoid. While an opponent can reach it, it searches ahead against the nearest one and scores positions by territory: the cells it can reach before every rival. High aggression plays for the margin, which is what makes it cut opponents off; low aggression plays for its own space. It refuses the smaller side of a split it is about to make, fills a sealed region by hugging walls, and keeps a straight-ahead bias so it crosses open space in straight runs. In the tests, Hard beats Normal 8 to 1 across twelve duels, with three draws, and Normal beats Easy 12 to 0.

Features

  • Simultaneous movement — every rider resolved against the same occupancy, with per-rider speed.
  • Buffered turns — absolute or relative, queued in press order, accepted during the countdown.
  • Crash rules — head-on and crossing policies, bounded or wrapping edges, and derez.
  • Goals — last rider standing, or survive for a number of steps.
  • Matches — a countdown, fixed-step timing, speed-up, boost and cruise speeds, rounds and best-of-N with tie-breaks.
  • Territory bots — Easy, Normal and Hard, or your own profile of lookahead, aggression, reaction, lapses, straight bias, fill depth and a search budget.
  • Bounded cost — each decision and each step has a budget, and depth shrinks to fit rather than stall a frame.
  • Arenas — three presets, starts spaced for any number of riders, and five symmetric obstacle layouts that always leave each start clear.
  • Replays — seeded bots, snapshots and a single-step tick, so the same seed and inputs replay the same match.

Good for

  • One-on-one light-cycle duels in the style of the 1982 arcade Tron grid, with a derezzing wall.
  • Classic two-player trail games in the style of Blockade or Surround.
  • Free-for-all arenas with four or more riders, pillars and wrapping edges.
  • Hot-seat and local multiplayer, with several humans and bots filling the rest.
  • Survival challenges, where the goal is to last a number of steps.
  • Attract modes, with bots playing each other.

Make it yours

Everything is configured per board and match: the grid's columns and rows, the riders with their starts, headings and speeds, obstacles, wrap, the head-on and crossing policies, the goal, derez and the turn queue; and for the match, the humans, the bot difficulty or per-rider profiles, the rounds to win, the step rate and speed-up, the ready time, how a round ends, the boost and cruise speeds and a seed.

Three presets show the range: classic is the bounded open grid, the player against one rival by default, with derezzing walls; duel is two riders whose walls stay; arena is four riders on a wrapping 56 by 40 board with pillars. From there, a hot-seat game for four humans with cross obstacles and walls that stay is a different game from a lone survival run where the rider must last as long as possible in a scatter of obstacles.

A quick look

A match against two Hard bots on the classic grid, first to three rounds, with a speed-up:

const lc = game.lightCycle;
const match = lc.createLightCycleMatch({
  arena: lc.lightCyclePreset('classic', { riderCount: 3 }),
  humans: ['you'], difficulty: 'hard', roundsToWin: 3,
  tickRate: 12, speedUp: { every: 60, by: 1, max: 18 },
});
match.start();
match.input('you', 'up');       // buffered turn
const ev = match.update(dt);    // { steps, crashed, roundOver, matchOver }

Works with

  • typography — for the score and the ready countdown.
  • snake — for a single trail that grows by eating rather than a race of walls.

Good to know

  • Movement is cell by cell on a grid, not free motion, and speeds above one cell per step are not modelled; raise the step rate instead.
  • The bots search against the nearest opponent only, and treat the others as territory rivals and head-on risks.
  • They adapt rather than follow the fixed per-level patterns of the arcade original, and the original's level progression, score values and other sub-games are not included.
  • Grids are limited to a million cells, and the pack draws nothing.

More Arcade packs

Show all →