Puzzle · Logic

Swap

Tile-grid puzzle where Space cycles which character you pilot while the others keep moving on their own, so you route autonomous agents onto switches and into the goal.

Overview

Hitting Space hands the steering to a different body. In Swap, a tile-grid logic puzzle written in JavaScript and HTML5 Canvas for the 2013 GitHub Game Jam by Noah Moroze and Michael Yang, each stage scatters two or more entities across a grid and lets you pilot only one at a time. The rest keep moving under rules you cannot directly command — some hold still, some drift in a fixed direction, some bounce off walls, some mirror your keystrokes, some turn counterclockwise on impact. The decisive twist is that the green exit tile does not care who steps on it: any character, controlled or autonomous, can finish the level, and any character touching red lava resets the attempt and adds to a running death counter. So the bodies you do not hold are neither scenery nor pure danger. They are instruments, and a stage usually resolves only once you understand what each autonomous mover is good for. The result is a puzzle about herding and timing rather than dexterity, and it rewards reading the whole board before you press a single key.

How to Play

Steer the active body with the Arrow keys, WASD, or Vim-style H J K L — all three bindings are live at once. Tap Space to cycle control to the next character in the queue, press R to reset the current stage, and use the on-screen Skip link to jump past a level that has you beaten. Your active body glides with a little momentum; every other body obeys its fixed behavior each tick. Reach the green tile with any character to clear the stage; let any character touch red lava and the attempt ends. A URL hash such as #5 lets you deep-link straight to a level, and stages advance one at a time with a one-line hint displayed underneath the board.

Tips & Strategy

Before you swap, read what each idle body is about to do: a bouncer reverses at the next wall, a mirror-copy echoes your movement in lockstep, a crawler never stops climbing. Because the exit accepts any character, the cleanest solve is often to let an autonomous drifter walk onto the green while you keep your active body safe — herding, not piloting. Yellow switches drop their matching orange wall only while a body stands on them, so decide who you can afford to leave behind on the plate. Blue tiles block your controlled character alone, so when a corridor is sealed in blue, hand control to a body that passes through it. Reset early with R the moment a bouncing drifter is about to chain into lava, because each death is permanent on the counter and a single bad bounce can undo a clean run.

Controls

Keyboard
Arrow keys / WASD / HJKL — moveSpace — cycle control to the next characterR — reset current level
Mouse
Clicks the on-screen Skip, Reset, and Mute links; all movement is keyboard-only

Features

  • Swap control between several independently-moving characters
  • Six autonomous behaviors: stationary, drift, bounce, mirror, turn-left, climb
  • Any character can trigger the green exit; any character touching red lava resets the level
  • Switch-toggled orange walls and blue barriers that block only your controlled body
  • Around 25 hand-built levels with a one-line hint per stage
  • Arrow, WASD, and Vim HJKL bindings plus reset, skip, and URL-hash level select