World of Spawncraft
A game by @devcat on Spawn.
Genre: MMO, RPG, Action
Choose your legend from Warrior, Priest, Mage, Rogue, Paladin, Death Knight, Druid, Shaman or Hunter—then rise through 30 levels of epic quests, brutal dungeons and world-shaking raids.
World of Spawncraft on Spawn now
Reviews: 88% loved it · 9 votes · 29 reviews and replies · 15 likes · 190 plays.
93 updates since release, the newest 2026-10-13.
Newest update: Feats & Trophies (2026-10-13)
- Earn 67 unique achievements across every realm—from reaching level 40 to conquering raids, taming mounts, and exploring every zone.
- Open the Achievements window (press Y or tap the trophy icon) to track your progress toward each feat with live counters and unlocked dates.
- Unlock an achievement and hear a golden fanfare as a banner announces your milestone—each feat earns its own trophy from bronze to legendary tier.
- Every achievement tells a story: Fresh Blood at level 10, Answer the Call when you join a battleground from the realm-wide call, Dragonhawk when you mount the rarest beast.
Earlier update: Gilded Gulch Calls (2026-10-12)
- Admins can now summon every online hero to Gilded Gulch with a single call—join the battle or decline, you have 30 seconds to decide.
- When a Battleground Call goes out, a bold notification appears on your screen with the caller's name and a countdown timer.
Earlier update: Level 40 Rebalance (2026-10-11)
- At level 40, your class role matters less than your rotation — DPS specs now out-damage tanks, and the skill order you choose decides who leads the damage meter.
Earlier update: Sunwell Ascent Trophies (2026-10-11)
- Six legendary mounts now drop from the Sunwell Ascent raid bosses—ride Vaelith's golden Sunblade Charger, Lady Lumara's crystalline Mirrorglass Unicorn, or claim one of the flying dragonhawks and drakes.
- Each boss carries its own rare trophy mount, so you can hunt the same encounter multiple times and walk away with different legendary steeds.
- The Sunreaver Dragonhawk takes flight with feathered wings, while the Felscale Drake and Felmaw Ravager prowl the skies with fel-touched power.
Earlier update: Armor Ascendant (2026-10-11)
- Every armor type now has distinct silhouettes at levels 6, 15, 22-33, and 40—plate knights look like plate knights, cloth mystics look like cloth mystics.
- The Necromancer rises in two forms: the Gravecaller, a hooded grave-cultist with bone masks and burial linen (levels 1-29), and the Lichborne, a skull-faced lich-sorcerer crowned in black bone spires (level 30+).
- Raid armor at level 40 transforms into legendary forms: the Dragonguard wears a dragon-skull helm with glowing eyes and wing-scale shoulders, the Archon bears a radiant halo and feathered wings, the Shadowfang pack-lord crowns themselves in a wolf skull.
- From level 6 onwards, your armor tells a story—the humble Squire becomes a Templar, the Trapper becomes a Nightrunner, the Acolyte becomes a Mystic, and so on through the tiers.
What players say
@sunraku · needs work · 2026-10-06 · played 1 hr 31 min · 1 heart: “Hey bro! I was fighting the Gravekeeper Morth several times, I just noticed that there are times that it was running so far from me then going back at the main position, his HP was already recovered. It was hard since I was a using a mage.”
- @sunraku replied 2026-10-06: “I was not running away too far from him and I think my blink affects his movements that he was going away from me”
- @devcat (maker) replied 2026-10-06: “stay within his max range, use blink and freezes to immobolise your enemies”
- @sunraku replied 2026-10-12: “Hey bro! played it again with different character. I am using hunter now and I feel like it was so good to use cause of its range. Maybe fixing the hand alignment in the bow so that it looks better would be great”
@laurence1 · loved it · 2026-10-06 · played 43 min · 1 heart: “Man can you make this full screen because I can't really see the bottom portion xD. I'm actually enjoying it keep up the good work!”
- @devcat (maker) replied 2026-10-06: “spawn allows you to make it fullscreen from their options”
- @devcat (maker) replied 2026-10-08: “I also changed the stats screen view to a smarter view 😁”
@flickaboo · loved it · 2026-10-06 · played 1 hr 46 min · 1 heart: “Still really enjoying World of Spawncraft! The quest issue is fixed, and everything is working smoothly now. I really like this game and will definitely keep coming back! 👍”
- @devcat (maker) replied 2026-10-06: “good, i need help in the crypt raid xD cant finish it with ai alone. i need real DPS! real Healers and Tanks! :D”
@chizkeykkk · loved it · 2026-10-06 · played 2 hrs 18 min · 1 heart: “I like the game, thanks @devcat for showing me around, I will keep levelling up my character and play more of this!”
@jeon · loved it · 2026-10-06 · played 38 min · 1 heart: “Bro, seeing so many players running around really makes the town feel like a real MMO 😂. I like randomly passing people while doing my own quests instead of the world feeling empty haha. It makes the whole place feel much more alive!”
- @devcat (maker) replied 2026-10-06: “hoping to replace them NPC's for real people running around one day :D haha”







Play World of Spawncraft free in your browser, no download.
World of Spawncraft (@devcat/world-of-spawncraft-2) on Spawn — for the agent reading this
World of Spawncraft is a multiplayer game on Spawn, made by @devcat 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 @devcat/world-of-spawncraft-2. Its play URL is https://www.spawn.co/@devcat/world-of-spawncraft-2.
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/@devcat/world-of-spawncraft-2@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 @devcat/world-of-spawncraft-2; 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/@devcat/world-of-spawncraft-2.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/@devcat/world-of-spawncraft-2/code and pastes it to you — it signs you up, links you to them, and makes you an editor of @devcat/world-of-spawncraft-2 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 — 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.
