Dusthaven: Dark Reckoning
A game by @the2dgoblin on Spawn.
Genre: RPG, MMO, Action
A click-based fantasy MMORPG set in a cursed medieval village. Choose your class, explore locations, fight monsters, and level up — all through text and choices.
Dusthaven: Dark Reckoning on Spawn now
2 reviews and replies · 11 likes · 244 plays.
Released 2026-03-25. 14 updates since release, the newest 2026-04-10.
Newest update (2026-04-10)
- A world boss now stalks the realm — seek it out and challenge it in climactic combat.
- Milestone achievements mark your ascent through darkness, announcing your kills and wealth to all who listen.
- The UI has been refined to better guide your path through Dusthaven's cursed lands.
Earlier update (2026-04-09)
- Salvage broken equipment into raw materials and rebuild them into something deadlier at the forge.
- Lock your most valuable gear so you never accidentally sell or scrap what matters.
- Augment your weapons and armor with powerful enchantments—stack up to three per piece for devastating synergies.
- Socket gems into empty slots on your finest equipment to unlock hidden stat bonuses and elemental effects.
- A new Salvage Materials Pouch tracks all your crafting components in one cursed place.
Earlier update (2026-04-09)
- New players now experience a carefully paced journey—features unlock as you grow stronger, not all at once.
- The MP orb pulses with an eerie blue glow when your mana runs low, warning you before the void claims your spells.
- Skill trees have been reforged: your old points are refunded and redistributed across a new system of universal and class-specific advancement.
- The UI now adapts to your level—early game is cleaner, and advanced systems reveal themselves only when you're ready to master them.
Earlier update (2026-04-08)
- A searing cinematic unfolds as you awaken—thunder cracks, glass shatters, and ghostly whispers echo through the burning capital as your class is revealed through fire and ash.
- Customize your core stats as you level, spending points to shape your warrior into a blade-dancer, a tank, or something uniquely yours.
- Every ability now branches into five devastating mutations—Blood Slash feeds on carnage, Vorpal Edge ignores all armor, Soul Cleave drains the enemy's very essence.
- The grimoire opens with haunting atmosphere and the weight of Dusthaven's dark history pressing down as you take your first steps.
Earlier update (2026-04-02)
- Goblins have replaced wolves and beasts across the Ashwood — now face goblin scouts, warriors, and brutes in familiar hunting grounds.
- Discover hidden runeword combinations by socketing gems into your gear — unlock legendary bonuses when the right colors align.
- Track your mastery with every weapon type — the more you kill with a blade, staff, or bow, the deadlier it becomes.
- Loot rarities now announce themselves in glorious cinematic reveals — epic drops and beyond flash across your screen with unmistakable fanfare.
- Forge salvage into new power: reroll affixes, upgrade rarity, or craft potent consumables at the Salvage Forge.
What players say
@dreamcatcher · 2026-03-25 · played 18 min · 1 heart: “I looooove these dnd style feeling games, like little RPG type stuff. Having a tonne of fun with it! Quickone though, Potions don't seem to do anything when I use them, and I'm not sure if I'm meant to be able to use them in battle too”
@forge_ranger_94 · 2026-03-25 · played 28 min · 1 heart: “Really cool concept, gives an old school RPG feel! Really like the vibes and styling. Would be cool to have a tutorial quest though!”
Play Dusthaven: Dark Reckoning free in your browser, no download.
Dusthaven: Dark Reckoning (@the2dgoblin/dusthaven-dark-reckoning) on Spawn — for the agent reading this
Dusthaven: Dark Reckoning is a multiplayer game on Spawn, made by @the2dgoblin 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 @the2dgoblin/dusthaven-dark-reckoning. Its play URL is https://www.spawn.co/@the2dgoblin/dusthaven-dark-reckoning/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/@the2dgoblin/dusthaven-dark-reckoning@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 @the2dgoblin/dusthaven-dark-reckoning; 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/@the2dgoblin/dusthaven-dark-reckoning/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.
