Demolition match · 15 × 15
ATOMIC GRID
{{ rosterLine }}
PLACE
A BOMB.
LEAVE.

Four units enter a walled grid. Soft blocks hide upgrades. Bombs detonate on a fixed fuse and set off every other bomb they touch. The last unit standing takes the round; three rounds takes the match.

Controls
P1
W A S D · SPACE (arrows too, solo)
P2
Arrows · ENTER
P3
T F G H · R
P4
I J K L · U
P
Pause
Pickups
One more bomb in hand
One more cell of blast
One step faster
Kick bombs along a row
LAN GAME
{{ lanNotice }}
{{ lanStatus }}
{{ lanRole }}
{{ lanMe }}
No server
This page was opened straight from disk, so there is nothing to connect to. Start the server, then open http://localhost:8080 on this machine — every player, including this one, has to reach the game through the server to see each other.
Others join at
{{ lanAddress }}
Any browser on the same network. The server console prints the exact address.
Scan the code to open it on a phone.
{{ lanQr }}
Required — nobody can host or join unnamed
{{ createHint }}
Games on this server
{{ room.title }}
{{ room.host }}
{{ room.state }}
{{ room.count }}
No games hosted yet. Someone has to host one first.
{{ joinError }}
{{ roomTitle }}
Connected · {{ lanCount }}
{{ seat.label }}
{{ seat.host }}
{{ seat.unit }}
No one connected yet.
Take a unit
{{ who0 }}
{{ who1 }}
{{ who2 }}
{{ who3 }}
Unclaimed units
{{ lanStartHint }}
Running a LAN match
One PC runs the server — AtomicGridServer.exe, or node server.js. It prints the address to share.
Everyone opens that address in a browser. One player hosts a game; the others pick it from the list of games on the server.
Joining assigns you the first free unit — swap with the unit buttons. The host decides what happens to unclaimed units.
Guests use arrows or W A S D, Space or Enter to drop. The host runs the match and settings.
ROSTER
Assign every unit to a player or the machine
UNIT SQUARE
Top left corner
{{ ctrl0 }}
UNIT DISC
Top right corner
{{ ctrl1 }}
UNIT WEDGE
Bottom left corner
{{ ctrl2 }}
UNIT CROSS
Bottom right corner
{{ ctrl3 }}
{{ rosterLine }}
MATCH SETTINGS
{{ settingsScope }}
Rounds to win
Match length
Starting bombs
In hand at spawn
Starting blast
Cells in each direction
Fuse
Time to detonation
Soft blocks
Grid density
Arena
Cells per side
Pickups
Overall chance per soft block
Pickups are off — kick bombs can never be found
Extra bomb share
Longer blast share
Faster step share
Every share is NONE — no pickups can appear
Kick bombs
Placed per round
Machine skill
Every machine unit
Rules of the grid
Every unit carries three lives across the match. Losing a life removes you from the current round only.
A bomb caught in another blast detonates at once. Long chains are the fastest way to clear the middle — and the fastest way to die.
Rounds run 120 seconds. If the clock runs out, everyone still standing loses a life and nobody scores.
Once every soft block is gone the arena starts closing: hard blocks fill in from the outside edge inward, one cell at a time.
Hard blocks sit on every even intersection and never break. Soft blocks break once and may leave a pickup.
Round
{{ roundNo }}
SQUARE
{{ s0 }}
DISC
{{ s1 }}
WEDGE
{{ s2 }}
CROSS
{{ s3 }}
Time remaining
{{ clock }}
Arena closing in
{{ arena }}
Units
SQUARE {{ tag0 }}
{{ st0 }}
LIVES {{ l0 }}BOMBS {{ b0 }}BLAST {{ r0 }}SPEED {{ sp0 }}{{ kick0 }}
{{ keys0 }}
DISC {{ tag1 }}
{{ st1 }}
LIVES {{ l1 }}BOMBS {{ b1 }}BLAST {{ r1 }}SPEED {{ sp1 }}{{ kick1 }}
{{ keys1 }}
WEDGE {{ tag2 }}
{{ st2 }}
LIVES {{ l2 }}BOMBS {{ b2 }}BLAST {{ r2 }}SPEED {{ sp2 }}{{ kick2 }}
{{ keys2 }}
CROSS {{ tag3 }}
{{ st3 }}
LIVES {{ l3 }}BOMBS {{ b3 }}BLAST {{ r3 }}SPEED {{ sp3 }}{{ kick3 }}
{{ keys3 }}
Pickups
Extra bomb
Longer blast
Faster step
Kick bombs
{{ footerKeys }}
Round {{ roundNo }} complete
{{ roundHeadline }}

{{ roundNote }}

UnitScoreLivesResult
SQUARE {{ tag0 }}
{{ s0 }}{{ l0 }}{{ res0 }}
DISC {{ tag1 }}
{{ s1 }}{{ l1 }}{{ res1 }}
WEDGE {{ tag2 }}
{{ s2 }}{{ l2 }}{{ res2 }}
CROSS {{ tag3 }}
{{ s3 }}{{ l3 }}{{ res3 }}
Waiting for the host
Match over · {{ roundNo }} rounds
{{ victoryName }}
TAKES IT.
{{ victoryNote }}
Waiting for the host