Local 2-player. First to 5 KOs wins. Click the canvas first so it has keyboard focus.
AD move
W/S aim up/down
Space jump
LMB hold = aim dash at cursor (slow-mo), release = dash
RMB punch at cursor
Shift punch (movement dir)
Rebind in Lobby → Controls. Gamepad supported.
←→ move
↑ jump
↓ aim down
Enter dash
/ punch
Touch (endpoints meet)
-> trails CONNECT, live 3.5s
(refreshes on each new connection
across the whole component)
Overlay (retrace a line: near-parallel,
close, sharing >=35% of length)
-> SHIELD along the shared span
-> overlaid pairs NEVER form
V/T/X junk (anti dash-spam)
Cross (mid x mid, after dash ends)
-> ALL connected lines DETONATE
along their geometry
Arrow (3+ trails clustered at ONE point)
-> ball flies in V's tip direction
-> two OLDEST in cluster define angle
-> ball size scales w/ component count
-> PUNCH during 1.8s windup -> instant
fire in punch direction (faster)
Triangle (3 trails in REAL closed cycle,
each using BOTH endpoints)
-> physics object falls, kills below
Polygon (4+ trails in REAL closed cycle,
each using BOTH endpoints)
-> AOE inside polygon (1.0s windup)
-> kill zone gets bigger as the
polygon gets bigger (4, 5, 6...)
-> PUNCH any side during windup ->
that side flashes; AOE is
cancelled; at end of windup a
rectangle beam fires perpendicular
OUTWARD from the punched side,
clipped to walls on all sides;
shields cut the beam laterally
(covered slice stops, uncovered
slice slips past); only ONE side
per polygon
Whip (H = |-|, crossbar's two endpoints
T-strike two non-V-touching stems)
-> twin lashes pivot at the
contacts and sweep outward
through opposite half-discs
-> reach + thickness scale with
consumed-trail count
-> PUNCH a pivot during the
animation -> that lash strikes
a SECOND time, sweeping back
Spear (Bow = same as H but the two
stems V-touch at one end)
-> 2.2s windup, then a laser
fires OUT THROUGH the bow tip
edge-to-edge across the arena
(~2.8s long-burn life)
-> thickness scales with
consumed-trail count
-> SHIELDS reflect the laser; if
a shield expires mid-fire the
laser snaps back straight
-> PUNCH during windup -> resets
the windup AND arms a screen-
splitting bidirectional fire
Tripwire (residue from cross-detonate)
-> every T-stem in the explode
set leaves a delayed tripwire
after the explosion: ~3.5s, one
kill on contact
Lightning (5-trail zigzag V-chain,
alternating turn direction)
-> caster buff ~4s: next punch
that HITS stuns 2.4s w/ arcs
All patterns fire only when a dash ends. Multiple spells can fire from one dash (e.g., arrow + cross detonate).
Triangle: only its owner can punch it. Arrow ball + Bow + Whip pivots + Polygon sides can all be punched during their windup/animation.
Dashes refresh on landing — but every dash builds heat (bar above your head; punches you take add heat too). Overheat and, until you cool down, landings refill nothing and you can't punch: bursts and spell-casting are fine, endless dash spam starves. Punching into a nearby wall launches you off it (wall-punch recoil). Punch cooldown = the punch animation: fist gone, ready again.
Left half of canvas = follow-touch joystick (movement).
Right half (outside the buttons) = dash joystick.
Bottom-right corner button = PUNCH; the button left of it = JUMP.
Touch UI controls the local player.
1–4 movement preset (local play only; online locks to Current). Match restart goes through the post-match Replay vote.
dash to draw · connect to cast · punch to win
prototype · iter-29 · trail-brawl.pages.dev
Pairs you with the next player who hits Quick Match.
Searching for an opponent…
Dashing draws glowing trails. Trails that touch connect; connected shapes cast spells the moment a dash ends:
Arrow — 3+ trail ends meeting at one point fire a ball.
Triangle — 3 trails in a closed loop drop a bomb (punch it to launch!).
Polygon — 4+ in a loop = area blast; punch a side to fire a beam instead.
Whip / Spear — an H-shape sweeps lashes; a bow-shape fires a laser.
X-cross — crossing mid-over-mid detonates every connected line.
Shield — retrace a line (draw over it) to raise a reflector.
Lightning — a 5-stroke zigzag charges your next punch with a long stun.
Punch launches opponents (and redirects most spells mid-windup). Heat: every dash warms you up — overheat and landings stop refilling dashes until you cool off. First to 5 KOs wins.
Mouse: hold left click = aim dash at cursor (slow-mo), release = dash.
Right click = punch at cursor.
Gamepad: left stick move · bottom button jump · left button punch ·
right button dash · right stick aim-dash (release to fire).
Share this code with your friend:
Connecting to signaling…
Enter your friend's 4-character code:
Play another round?
30s