Defend the park from the monster horde. Merge turrets. Survive the waves.
Monsters march along the road. Don't let them reach the exit โ you have 20 HP. You start each run with 100 coins and 4 turret pads.
The whole run interface is drawn inside the park canvas and fills your window: the coin purse (top-left), HP and the wave number in the top bar, the Start Wave, speed, auto-start, sound, pause and help buttons there too, and the turret shop, the merge bench and the discard tray along the bottom. Only the menu screens (this help, the pause menu, the run summary, the lobby and the co-op panel) are page overlays.
A run starts with 4 pads on random spots of the park. Every other marked spot is a locked pad position (dashed circle + its class hint) โ the park is your build space, not a fixed board.
Clicking a shop button pays for the turret and drops it on the merge bench below the park โ never straight onto a pad. The bench holds 8 turrets; if it is full the purchase is refused (and you are not charged).
These are the very turrets you see on the park, drawn by the same code (one gold star per level) โ in the shop, on the bench and on the road.
Pick a park in the lobby before a run โ N, W or 4. Each one has its own road, its own candidate pad positions (each with a class hint) and its own scenery; waves, rewards and rules are identical everywhere.
Four families arrive in order of nastiness: Skeletons (waves 1-6), Zombies (7), Goblins (15) and Ogres (19). Each family also comes in classes: fast (lean, quick), armored (plated, tough), elite (glowing, hits hard) and boss (crowned, huge).
Every 10th wave is a milestone, and the two kinds alternate โ the wave chip in the top bar names it:
The bench is where turrets wait and get built up before they defend anything:
Replace-or-merge: drop a turret onto an occupied seat and the two swap places โ unless they are the same class and the same level, in which case they merge instead. That works every way round: benchโpad, padโpad and benchโbench. A pad turret that lands on your bench becomes yours, and a swap on the map never changes who owns what. While you drag, the target under the pointer is labelled MERGE, SWAP, MOVE โ or MAX / LOCKED when the drop would be refused (a max-level pair, a pad position nobody has opened).
Drag one turret onto another of the same class and level:
Merging raises damage only and resets ultimate charge. Two Lv1s cover more ground; one Lv4 hits much harder โ your call!
Every turret charges a bar above its head by attacking:
The bottom-right of the canvas holds a discard tray. Drag a turret from a pad or from the bench onto it and it is thrown away, refunding half of what it cost โ while you hover, the tray shows the exact amount you get back:
Dropping a turret anywhere else behaves exactly as always (merge / move / deploy) โ nothing is sold by accident, and dragging nothing onto the tray never charges or destroys anything. Esc or a right-click cancels a drag or a pad placement.
Only every 10th wave (10, 20, 30, 40 โฆ) pays out: bonus coins, a free pad (waves 10/20/30) plus free random turrets โ and the deeper you are, the more turrets you get and the higher their level (Lv1 at wave 10 up to Lv5 at wave 90+). Filled every pad? The missing turret is paid out in coins instead.
Every wave you clear earns gems. Spend them in the lobby on permanent upgrades.
Use Play with Friend to defend the park together โ up to 3 players
(one host + two friends). Every player has their own coin purse and their
own 8-cell merge bench, but the park is shared: the pads and every turret
deployed on them.
So you plant a Mage on the map and your friend can take it onto their own bench,
merge it there and deploy it again โ anything on the map belongs to the whole team.
Buying a turret or a pad is charged to your own purse, and a turret you deployed
is yours to throw away (a friend has to take it onto their bench first).
More friends mean a bigger horde: from wave to wave the monsters get
more HP and arrive in bigger groups (see CONFIG.COOP), so a team is never
simply easier. The host's run simulates the battle for everyone (and the host picks
the park); pad purchases, merges, swaps and deploys are validated by the host, and so
is the rhythm of the run โ the speed mode and the auto-start countdown belong to the
host, so one player can never speed up or slow down the team's waves.
Joining is one link each way: the host sends
the invite link, the friend opens it and sends the reply link back โ the panel walks you
through it and shows a 5-character session ID to compare. The host repeats that for the
second friend, and neither invite disturbs the connection that is already up.
Up to 3 players (you + two friends) defend one park together: each player has their own purse and their own 8-cell merge bench, while the pads and every turret deployed on the map are shared by everyone. A bigger team faces a bigger horde. No server and no accounts โ you send one link each and you are done; press ๐ฎ Create my invite link again for the second friend.
file:// page: that link only works for a friend whose copy sits at the same
path. If it does not, send the code only instead.Something stuck? Press โป Start over, send a fresh link and swap
again โ nothing here needs a page reload. Your friend needs this same game folder (send them a
zip); if links/codes fail on a double-clicked file:// page, run
powershell -File dev-server.ps1 and both open
http://localhost:8931 โ or put the folder anywhere web-accessible.