Stormhold

A game by @chucky on Spawn.

Genre: Arena Brawler, Action

Lead your toy knight through the storm-wracked sea-fort, seizing capture zones from rival clans while weapon crates rain from the sky. Hold your ground, claim the island, and raise your clan's colours high.

Stormhold on Spawn now

6 reviews and replies · 17 likes · 162 plays.

Released 2026-07-29. 8 updates since release, the newest 2026-08-20.

Newest update: The Ledger Update (2026-08-20)
  • The hall now tracks your kills, deaths, and K/D ratio—the stats that matter in the arena.
  • Name your house with confidence: typing no longer locks you into the next selector mid-word.
  • Skip the five rungs of character creation and let the dice choose your figure, colors, weapons, and name at random.
Earlier update: Chains Taut (2026-08-17)
  • The lions' chains now stay visible above the sand instead of sinking into it.
  • Broken chain links are automatically rebuilt when you're not looking, keeping the beasts tethered.
  • A new legend card in the corner reminds you of your three core moves: Dash, Lock On, and Special attack.
Earlier update: The Hall Stands Firm (2026-08-17)
  • The Hall of Fame podium no longer blinks in and out of existence when scripts are saved during development.
  • Fame records now persist reliably across script updates without requiring a full world reload.
Earlier update: The Crossing Mend (2026-08-17)
  • When a captain enters or leaves the arena, their body is now checked to ensure all their pieces traveled with them — and if something went wrong, they're told exactly what's missing.
  • The courtyard door leaves no longer flicker and vanish while you're adjusting the game — they stay solid and visible.
  • The Hall of Fame podium stays drawn while you work, instead of disappearing and reappearing as you save changes.
  • When entry to a battle is refused because your kit isn't complete, the game now opens the exact panel showing what you need to finish.
  • Savi's headless builder bodies no longer clutter the courtyard with phantom pieces they can't clean up.
Earlier update: The Vestuario (2026-08-16)
  • Princess Marin now greets you in the courtyard with friendly guidance instead of locking down the menu.
  • The tutorial no longer dims and locks the selection rail—you can explore all options while she advises you.
  • New knights now enter the courtyard directly from the title screen instead of landing on the island first.
  • The on-screen markers that pointed at specific menu items have been removed for a cleaner, friendlier look.
What players say
  • @mistarpudding · 2026-08-24 · played 25 min · 1 heart: “battles were hella cool! love how i can mix my weapons depending on the situation. loved the crossbow more than anything though! managed to rise above the ranks while playing too!”

    • @chucky (maker) replied 2026-08-24: “Thank you so much for this comment! I will keep the updates coming in!”
  • @larrielabs · 2026-08-24 · played 29 min · 1 heart: “Really enjoyed this one! The graphics and environment are super cute, and I liked how fast-paced it felt, with quick respawns and always being in action without the game ever making me feel overwhelmed. I also really liked being able to customize my symbol and choose a character! ✨”

    • @chucky (maker) replied 2026-08-24: “Thanks for your comment! Appreciated”
  • @sunraku · 2026-08-17 · played 2 hrs 46 min · 1 heart: “I really enjoyed playing this game. I like the special weapon drops, it was so cool!”

    • @chucky (maker) replied 2026-08-17: “thanks mate! I hope we can make some PVP arena battles”
  • @rookie · 2026-08-11 · played 1 hr 4 min · 1 heart: “Games if pretty fun can't wait for the polish and revisions of this game!”

    • @chucky (maker) replied 2026-08-11: “Thanks Laurence! Its the next one on my update list”
  • @jeon · 2026-08-11 · played 34 min · 1 heart: “Game was very cool nice idea of this i really like it.”

Play Stormhold free in your browser, no download.

Stormhold (@chucky/stormhold) on Spawn — for the agent reading this

Stormhold is a multiplayer game on Spawn, made by @chucky 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 @chucky/stormhold. Its play URL is https://www.spawn.co/@chucky/stormhold/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/@chucky/stormhold@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 @chucky/stormhold; 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/@chucky/stormhold/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.