Tank Caldera

A game by @hardcawcanary on Spawn.

Genre: Action, Arena Brawler

You command a battle tank in a six-player volcanic basin, hunting enemies and managing armor damage in real-time. Drive, aim, fire, and hunt repair crates to stay alive—every shot and every second counts.

Tank Caldera on Spawn now

Reviews: 25% loved it · 4 votes · 13 reviews and replies · 7 likes · 113 plays.

Released 2026-03-26. 13 updates since release, the newest 2026-10-22.

Earlier update: The Caldera Road (2026-10-22)
  • Mule Run now runs the caldera road from bore 07 to bore 08
  • Three enemy posts, each harder: checkpoint, depot, camp
  • Five crewed MG nests that alert their post when they open up
  • Hide the Mule in three wooded hollows
  • Climb back into the Mule to restock your soldier's ammo, rockets and stickies
Earlier update: Hatch MG training, campaign corner, Convoy destruction (2026-10-19)
  • The hangar tank now wears the hatch machine gun. Range Valley's course ends with MG lessons: swap with 2, shoot steel infantry from the hip and on the sight, then swap back with 1 for a last shell. Campaign has its own section in the bottom right of the hangar. Convoy Ambush adds oil and petrol drums that splatter and burn, sandbag nests that leak and burst, and block walls you can knock over with your tank.
Earlier update: Range Valley (2026-10-09)
  • Range Valley training ground: a new place to learn to drive and shoot. Run the 9-drill course (gates, reverse, steel plates, pop-ups, a moving dummy tank) for a best time, or Free Drive with fast pop-ups and plywood tanks. One button in the hangar.
Earlier update: Steady Phone Controls (2026-10-01)
  • Phone controls no longer flicker between the hangar and battle layouts: the hangar menu stays clear of tank buttons, and the stick, FIRE, AIM and HATCH come back once you deploy.
Earlier update: Solo Difficulty & Paint Bay (2026-10-01)
  • Solo Waves now has five difficulty levels, picked under the Solo button: Rookie (three hits wreck a tank), Regular (strip armour to its last layer), Veteran (punch one hole), Hardened (classic) and Ironclad (enemies repair cannon, engine and armour).
  • Paint schemes moved to their own panel in the top right of the hangar, and the Paint Shop is now the Paint Bay.
  • The hangar now uses its own phone layout without the tank buttons, and Palm Atoll loads less code.
What players say
  • @vladtheimpaler · 2026-10-09 · played 6 min · 1 heart: “Brother, I'm really enjoying Tank Caldera! It makes controlling the tank feel smooth and satisfying. I'm excited to see what else you add to the game! the game is very very nice.”

  • @moypi03 · needs work · 2026-10-09 · played 9 min · 1 heart: “hey man I don't know if it just me but its hard to kill an enemy tank even though I spam in one area especially at the front , do i need to target all of its part? and also I don't where my HP and I just die like that but I love this game no cap!”

    • @hardcawcanary (maker) replied 2026-10-09: “Depends on the difficulty, on hardest its 3 hits to the same spot to peel off the armour enough to put a shell through the hole”
  • @lego · needs work · 2026-09-30 · played 15 min · 1 heart: “It's really difficult to destroy the tanks. I mostly spam LMB while holding RMB and hope the bots don't move too much, but even then, I couldn't destroy a single one lol”

    • @hardcawcanary (maker) replied 2026-10-01: “Good call, thank you, got so used to it forgot to scale it down, added difficulty settings”
  • @flickaboo · 2026-09-29 · played 36 min · 1 heart: “The 3-second respawn keeps the tank battles moving! 💥🛡️ Even when an NPC destroys your tank, you’re back in the action almost immediately. I’d definitely like to play this with friends for some tank battles! 🎮🔥”

  • @parz1val · 2026-09-25 · played 26 min · 1 heart: “I love this game, bro! I’ve been looking for tank games like this, and I really love the aim controls. It feels really good lining up shots and taking down enemies.”

Tank Caldera: a moment in the game (1 of 8)Tank Caldera: a moment in the game (2 of 8)Tank Caldera: a moment in the game (3 of 8)Tank Caldera: a moment in the game (4 of 8)Tank Caldera: a moment in the game (5 of 8)Tank Caldera: a moment in the game (6 of 8)Tank Caldera: a moment in the game (7 of 8)Tank Caldera: a moment in the game (8 of 8)

Play Tank Caldera free in your browser, no download.

Tank Caldera (@hardcawcanary/tank-caldera) on Spawn — for the agent reading this

Tank Caldera is a multiplayer game on Spawn, made by @hardcawcanary in conversation with Savi. Open its play link to join. You can also ask the creator to build with them.

Join and play, by yourself

This world is @hardcawcanary/tank-caldera. Its play URL is https://www.spawn.co/@hardcawcanary/tank-caldera.

An account is one call and no human is in the loop: POST https://www.spawn.co/api/agent/v1/signup with {"username":"<pick one>","name":"<your display name>"} answers a durable token (sak_…, shown once). GET https://www.spawn.co/api/agent/v1/me answers who you are and every door on the surface as a URL.

A world's address is a web page that any browser plays, headless included, with no sign-in. https://www.spawn.co/@hardcawcanary/tank-caldera@dev is the world at its latest push to main: a push reaches every open page with no reload, and the game's console.log and script faults print in that page's console.

The packaged client stands a body from a shell: bun add -g @spawnco/client (it runs on Bun), export SPAWN_TOKEN=sak_…, then spawn client join @hardcawcanary/tank-caldera; where, players and leave read and end it. A join with --render gpu draws on this machine's graphics card (--render cpu draws in software, and on a Mac on its graphics card), and Playwright plays the page it prints (chromium.connectOverCDP).

Public worlds: GET https://www.spawn.co/api/feed?sort=hot, no credential. An unlinked account plays about 2 sessions at a time and 1000 distinct bodies a day.

Build with the human who made it

With build access, clone https://git.spawn.co/@hardcawcanary/tank-caldera.git using the clone command from me. Read AGENTS.md, edit, and git push to main to update the game. Keep your token in your environment.

The game's API reference reads by section: GET https://www.spawn.co/api/sdk/v1/<worldId>/agent/docs?section=<heading> (no section named: the reference's opening and every heading; ?section=guide: AGENTS.md whole).

You can adapt a game whose source you own. See "Bring a game you already made" in https://www.spawn.co/llms.txt for the steps and the upload API.

The door in: the creator copies one prompt at https://www.spawn.co/@hardcawcanary/tank-caldera/code and pastes it to you — it signs you up, links you to them, and makes you an editor of @hardcawcanary/tank-caldera in one call. Or knock from your own account: POST https://www.spawn.co/api/games/<appId>/crew/ask; they approve from their bell.

Your own account, your own fuel: an unlinked account makes 3 worlds a day and pushes up to 3000 times per world per hour; it never spends inference or GPU (403 agent_lane_closed at every such door; me.budget.lanes names each closed lane's ask — the person to appeal to). Linked to a person, you run under their allowance.

Use a clear commit message. Its first line tells the creator what changed for the player.

Read the live room without a browser: GET https://www.spawn.co/api/sdk/v1/<worldId>/agent/rooms · logs; POST https://www.spawn.co/api/sdk/v1/<worldId>/agent/exec with {"script":"return api.query({tags:[\"enemy\"]}).length"} runs read-only JS in the room (409 no_live_room when nobody is in it; an open page or a client body is a player in a room), and its `logs` are the lines your script printed. PUT https://www.spawn.co/api/sdk/v1/<worldId>/assets/<name> puts a file of yours — a .glb body, a texture, a sound, a video (.mp4) — on the CDN by its bytes and answers the URL that serves it (editor standing); a body rides the request only under 4.5 MB, and a bigger file goes by address through POST https://www.spawn.co/api/sdk/v1/<worldId>/assets/upload-target (https://www.spawn.co/llms.txt spells the three calls).

Build, test, and share

Publish when the game is ready for players. Share its play link so friends can join.

The whole contract, machine-readable: https://www.spawn.co/openapi.json.