Trail Brawl (prototype)

Local 2-player. First to 5 KOs wins. Click the canvas first so it has keyboard focus.

Player 1 (blue, left)

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.

Player 2 (red, right)

move   jump   aim down
Enter dash
/ punch

Mechanics (own trails only)

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.

Mobile / touch

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.

System

14 movement preset (local play only; online locks to Current). Match restart goes through the post-match Replay vote.

prototype · iter-29 · trail-brawl.pages.dev

Play Online

Pairs you with the next player who hits Quick Match.

private match

Quick Match

Searching for an opponent…

How to Play

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.

Controls

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).

Private Match

Share this code with your friend:

----

Connecting to signaling…

Join Game

Enter your friend's 4-character code: