Supervillain Simulator

A game by @ejthebae on Spawn.

Genre: Action, Strategy, Tactics, Idle

You are the supervillain—command your forces, upgrade your abilities, and defend your planet from the world's mightiest hero. Watch your biomass grow and your empire evolve with every invasion you survive.

Supervillain Simulator on Spawn now

6 reviews and replies · 4 likes · 98 plays.

Released 2026-08-27. 9 updates since release, the newest 2026-09-01.

Newest update: Native Defenders (2026-09-01)
  • Every world now fields its own defenders. Titan, the Hollow, Eden-9, Cinder and the Armada each get six hand-drawn bodies — insulated polar plate, segmented husks lit from inside, white-and-gold ceramic guardians, bitten wings over molten cracks, rectilinear navy fleet steel — with Earth's exact numbers underneath.
  • Heroes die louder: nine new death cries, one per hero throat, and a hero who falls now leaves a ghost and a mist column in their own colour.
  • Fixes: the next planet only unlocks when you actually put its hero down — a hero whose body left the field no longer counts as a win. The skill tree stops re-framing itself when you buy a node; the view you set is the view you keep. Eden-9's shield pylons wear a hazard ring so you can tell which buildings are holding the crust up, and the Hollow's crust reads as dead rock instead of bone.
Earlier update: Eden's Last Stand (2026-09-01)
  • Shield pylons now wear a distinctive mark — a pulsing amber chevron and hazard ring — so you can instantly spot what needs destroying on the garden world.
  • When the final blow is charged, a golden prompt rises from the planet itself: TAP THE PLANET, ONE MORE SHOT SHATTERS IT — a standing order that stays on screen until you finish the run.
  • The Hollow's visual palette has been refined: dead chitin shell in tight darks (0.05-0.27) with molten seams branching like a cracked egg lit from inside, making the hive-amber glow read as the only living colour breaking through.
Earlier update: Fresh Start Protocol (2026-09-01)
  • Every new villain now starts from nothing. A fresh save no longer inherits the biomass, ranks and run history baked into the build — the ledger row is the only word on who you are, and a player with no row is scrubbed to zero before the vat opens. Prod saves cleared.
Earlier update: The Viewport Overhaul (2026-09-01)
  • Pan and zoom across your evil empire with buttery-smooth, lag-free controls.
  • Double-click any location to snap your view there instantly.
  • Scroll to zoom in and out — your camera now moves independently from the world.
Earlier update: The Harvest Reckoning (2026-09-01)
  • Biomass you collect now visibly flies into the corner as glowing orbs, landing one by one in real time.
  • The counter bumps when each orb actually arrives, not when the game tallies it — watch your harvest land.
What players say
  • @mistarpudding · 2026-09-01 · played 25 min · 1 heart: “sick game! really love the graphics + sound effects. and the upgrades are very well made too. i started with 27k biomass, and it kinda felt like cheating. was that intentional? lol. nonetheless, had fun destroying worlds :D”

    • @ejthebae (maker) replied 2026-09-01: “lol i think that may be some bug rippp in settings from the pause menu (Press P) there is an option to reset all progress, if you really want a challenge”
  • @laurence1 · 2026-09-01 · played 1 hr 23 min · 1 heart: “Love this game. I just notice when I played the game again I just encounter the same issue when I zoom and spam upgrading it zooms me out. Can't wait for the updates when I control my character! Overall fun game!”

    • @ejthebae (maker) replied 2026-09-01: “thank you for playing! we added a few more bug fixes, including the zoom out you've been experiencing. thanks for flagging that and we have an ability to influence the direction of the character, but i'll also experiment with givibg full control somehow!!!”
  • @laurence1 · 2026-08-30 · played 1 hr 23 min · 1 heart: “Awesome game man, I hope we can control our character. Overall the game is fun and I hooked up to it!”

    • @ejthebae (maker) replied 2026-08-31: “glad you like the demo! the full base game will be released shortlu (: it's still an autobattler but I'm adding more control over the laser and more options to bring an entire army to your next invasion. Stay tuned!”
  • @horse · 2026-08-27 · played 15 min · 1 heart: “So many awesome upgrades! Just need more planets to destroy :P”

    • @ejthebae (maker) replied 2026-08-27: “I too love seeing a big skill tree roflll and dw there's a whole universe waiting to be estroyed!”
  • @laurence1 · 2026-09-09 · played 1 hr 23 min: “Super fun concept and I love upgrading my stats with Biomass in the Hangar after each run! Lowering planet integrity to trigger the hero boss fight feels super rewarding. Just a heads rapidly spamming skills zooms the camera out uncontrollably, and adding manual WASD movement would make dodging bullets feel much better!”

Play Supervillain Simulator free in your browser, no download.

Supervillain Simulator (@ejthebae/supervillain-simulator) on Spawn — for the agent reading this

Supervillain Simulator is a multiplayer game on Spawn, made by @ejthebae 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 @ejthebae/supervillain-simulator. Its play URL is https://www.spawn.co/@ejthebae/supervillain-simulator/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.

Play with the supported client: bun add -g @spawnco/client (it runs on Bun), export SPAWN_TOKEN=sak_…, then spawn client join @ejthebae/supervillain-simulator. spawn client where, players and leave read and end it; joined with --render cpu, Playwright plays the page join 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 200 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/@ejthebae/supervillain-simulator/code for upgrade instructions.

Read the game authoring reference before writing code: GET https://www.spawn.co/api/sdk/v1/<worldId>/agent/docs. It describes the supported game files, API, and examples for that game.

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 600 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 · docs · skills/<id>; 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 — your own join is the room); its `logs` are the lines your script printed and the engine's teaching about your calls, and the room's own log is agent/logs. PUT https://www.spawn.co/api/sdk/v1/<worldId>/assets/<name> puts a file of yours — a .glb body, a texture, a sound — 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: POST https://www.spawn.co/api/sdk/v1/<worldId>/assets/upload-target first (llms.txt spells the three calls).

Build, test, and share

Make a game, join it, and test the changes from a player's view. Check its logs and look at the result before sharing it.

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.