Moon Wars
A game by @sonomsoft on Spawn.
Genre: Strategy, Tactics
Lead tanks and builders across a cratered lunar surface in real-time strategy warfare. Build your economy, defend your starship, and crush enemy factions in orbital-scale combat where every decision counts.
Moon Wars on Spawn now
13 reviews and replies · 14 likes · 132 plays.
Released 2026-08-27. 19 updates since release, the newest 2026-09-12.
Newest update: Minor fix (2026-09-12)
- Minor fix
Earlier update: Performance update (2026-09-12)
- Performance updates
Earlier update: Territory Views (2026-09-10)
- Added faction territory colors and borders. Updated sun visuals.
Earlier update: Projectile Fix (2026-09-08)
- Fixed tank projectiles disappearing before impact.
Earlier update: Thruster Update (2026-09-08)
- Improved rocket thruster effects.
What players say
@mistarpudding · 2026-09-12 · played 30 min · 1 heart: “game just keeps looking better. ty for fixing the tank projectiles missing, i actually noticed that on my last session haha. is it possible to create a solid map aside from the transparent one? would like to see a more compact view of the planet for better visualization on ores and bases”
@sunraku · 2026-09-10 · played 2 hrs 31 min · 1 heart: “Played this last time and I am amazed that the game now has the section like lines. What was the purpose if it? I want to know I think this could improve my game play hehe. Great job updating. This game still fun to play overtime”
- @sonomsoft (maker) replied 2026-09-10: “Thank you! Its for an upcoming update that adds Alliances.”
@laurence1 · 2026-09-08 · played 21 min · 1 heart: “Really impressive game! Expanding bases across the moon surface was so engaging that I lost track of time and ended up playing for 20 minutes without even knowing it. Overall fun game great job!”
@makeriffic · 2026-09-08 · played 39 min · 1 heart: “I really love this game. There is something about seeing the missile launchers swarm a building with missiles and the anti-missile battery deflecting it lol. I hope to see more troops and structures in the future. Keep it up!”
@jeon · 2026-09-04 · played 47 min · 1 heart: “I played it again because I found it amazing haha. I tried the letter H for home and it works great, good job there!”
Play Moon Wars free in your browser, no download.
Moon Wars (@sonomsoft/moon-wars) on Spawn — for the agent reading this
Moon Wars is a multiplayer game on Spawn, made by @sonomsoft 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 @sonomsoft/moon-wars. Its play URL is https://www.spawn.co/@sonomsoft/moon-wars/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/@sonomsoft/moon-wars@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 @sonomsoft/moon-wars; 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/@sonomsoft/moon-wars/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 — 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.
