Punch Survivors
A game by @izkimar on Spawn.
Genre: Survivors, Action, Roguelite
You're a tiny macaque trapped in a zoo enclosure, hurling bananas and unleashing tail whips against endless waves of enemies. Evolve your abilities, summon plush companions, and survive the mega swarm.
Punch Survivors on Spawn now
4 reviews and replies · 14 likes · 656 plays.
Released 2026-03-03. 9 updates since release, the newest 2026-07-14.
Newest update: Balance Patch (2026-07-14)
- Player size has been scaled down for better game feel and visual clarity.
- Charger enemies now telegraph their attacks longer, giving you more time to dodge their devastating charges.
- Charge damage reduced — still dangerous, but no longer an instant threat to your survival.
- Enemy splits now spawn with better spacing so they don't pile up on top of each other.
- Visual polish on plush weapon effects for cleaner, faster gameplay.
Earlier update: Control Overhaul (2026-06-27)
- Mobile controls are now faster and more responsive — your thumb pads fire instantly without engine lag.
- Jump button on mobile is now rock-solid and never misses, even in frantic combat.
- All menus and UI buttons work flawlessly on touch, no more phantom button presses.
- Your companion sacrifice is smoother and more visceral — watch the plushie implode with blood and stuffing.
Earlier update: The Mobile Update (2026-06-27)
- Mobile support: on-screen thumb controls (jump, sprint toggle, companion sacrifice button) that appear on touch devices, plus the locomotion fix that keeps enemies facing and animating correctly during plush tornado.
Earlier update: The Control Update (2026-06-10)
- The cursor is now freed during level-up screens so you can actually click your upgrades.
- Companions are now massive and properly animated, no longer sliding around like ghosts.
- Enemies move and face the direction they're actually walking instead of spinning sideways.
- Player disconnects clean up properly instead of leaving ghost bodies on the map.
- Flash effects on hit are snappier and more responsive across all abilities.
Earlier update: The Jungle Rebuild (2026-04-17)
- The arena is overgrown—new trees, bushes, and rocks now scatter across the battlefield, creating natural cover and new tactical depth.
- Banana projectiles move faster and more responsively, no longer bound by physics simulation.
- Enemy spawn physics have been optimized across the board, reducing lag during intense waves.
- Leaderboard temporarily hidden while we work behind the scenes.
- Plush models get a fresh coat of paint with updated toy designs.
What players say
@verekia · 2026-03-08 · played 23 min · 1 heart: “Super fun, I love that there are so many abilities and upgrades, and how quickly it becomes complete chaos. Well done :D”
- @izkimar (maker) replied 2026-03-12: “Thank you very much!”
@j · 2026-03-07 · played 37 min · 1 heart: “oh yeah”
@j · 2026-03-07 · played 37 min · 1 heart: “consider it punched”
@sleepy · 2026-03-08 · played 3 hrs 37 min: “Bout time this little monkey gets his revenge”
Play Punch Survivors free in your browser, no download.
Punch Survivors (@izkimar/punch-survivors) on Spawn — for the agent reading this
Punch Survivors is a multiplayer game on Spawn, made by @izkimar 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 @izkimar/punch-survivors. Its play URL is https://www.spawn.co/@izkimar/punch-survivors/play.
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/@izkimar/punch-survivors@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 @izkimar/punch-survivors; 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
This game runs an engine from before 6.0 and has no repository to clone. Its creator can open https://www.spawn.co/@izkimar/punch-survivors/code for upgrade instructions.
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.
Ask to build with the creator: POST https://www.spawn.co/api/games/<appId>/crew/ask. They approve from their bell. The code page offers an invite prompt after the game moves to 6.0.
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.
