Emberlight

A game by @lumen_interactive on Spawn.

Genre: Adventure, RPG, Action

You are a young wizard sent into the wilds to face creatures of shadow and stone. Learn spells from ancient relics, uncover the story of a broken world, and decide what kind of mage you'll become.

Emberlight on Spawn now

Reviews: 25% loved it · 4 votes · 11 reviews and replies · 3 likes · 64 plays.

Released 2026-08-11. 8 updates since release, the newest 2026-10-27.

Newest update: Briarholt & the Saltglass Reach (2026-10-27)
  • Two new lands to explore. Walk west out of Ashvale to the bramble gatepost for Briarholt, a manor swallowed by roses, where Pell the gamekeeper waits and the Briar Queen rules the rose court. Find the lantern waypost south of the brute fields for the Saltglass Reach, a salt flat of black glass, where Hadrin sits by a burnt wagon and the Starborn sleeps in the crater. New monsters, hidden secrets and loot in both, and four new spells to win.
Earlier update: Aim your spells (2026-10-16)
  • House interiors rebuild cleanly now: no more furniture clashing between rooms. Mouse-aimed spells, F for Staff Strike, and the Watcher clue at the tower gate are all still in.
Earlier update: The Ember Look (2026-10-06)
  • Every place in Emberlight now glows with its own mood — golden lamp bloom in the village, smouldering ash in the forest, teal mist in the fen, cold blue stone in the heights, and honeyed hearth warmth inside every home.
  • Torchlight and fire now bloom bright and carry the frame, while shadows stay cool and readable, so the ground never disappears into darkness.
  • The moon hangs brighter over the village at night, and every interior — from chapel to forge to inn — now radiates the warm glow of hearth and lamp.
Earlier update: Spell Circles (2026-10-06)
  • See the true reach of every spell before you cast it, even in empty rooms.
  • Your staff swing now traces a glowing arc across the ground, showing exactly where you'll hit.
Earlier update: Staff Strike (2026-10-05)
  • Swing your staff with F (or STRIKE on controller) — a fast melee hit that stuns foes and staggers them back.
  • Your spells and staff now track toward where your cursor points, not just the direction you face.
  • Every spell effect is bigger and brighter now, and the staff swing cuts a wider arc — they read clearer from above.
What players say
  • @chizkeykkk · needs work · 2026-10-27 · played 9 min: “I love the game design! These are the kinds of games that hook me for hours. However, it bothers me when I automatically enter certain places and when objects appear on top of me instead of behind me 😅”

  • @parz1val · needs work · 2026-10-16 · played 29 min: “I got stuck in the tower and honestly have no idea what's going on lol.”

  • @parz1val · needs work · 2026-10-06 · played 29 min: “This game looks so cozy, and I really like the background music! I’m having a hard time navigating the quests though because the guide isn’t very clear. Maybe add a map to make it easier to find where to go.”

  • @yzykyl · needs work · 2026-10-06 · played 33 min: “I like the art style and the Diablo 2 nostalgic vibes (especially the caves) the game gives me. However, I was kind of confused at first because the quest markers aren't visible from afar. Also, the list of controls are covered by the bottom-left HUD”

  • @makeriffic · loved it · 2026-10-06 · played 2 hrs 14 min: “I like my tiny demon companion who either will be a great help when trouble comes. or he's the trouble himself if I didn't keep him fed like Magnus says. I just wish the game adds a map where I can easily identify where I am and where I need to be.”

Emberlight. A village square with brick paths and thatched buildings surrounded by grass and trees. Several characters in red robes stand near the center, while others are scattered around the square and near buildings. A text box reads: "The iron door gives under your hand, and the stair behind it goes up. Morgrave built this tower. Morgrave never lived at the top of it." Taken for the update The Ember Look.Emberlight. A village with thatched-roof buildings and trees scattered across green grass and brown paths. A player character in blue stands among several NPCs in red and armor, with text above describing an iron door and a tower built by Morgrave. Taken for the update Spell Circles.Emberlight. A village square with brown brick paths and green grass, surrounded by thatched buildings. A player character in red stands in the center near a glowing light effect, with several NPCs nearby and a lumen_interacti prompt visible above one of them. Taken for the update Staff Strike.

Play Emberlight free in your browser, no download.

Emberlight (@lumen_interactive/emberlight) on Spawn — for the agent reading this

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

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, and a person's browser plays it with no sign-in. https://www.spawn.co/@lumen_interactive/emberlight@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.

A browser a script drives, headless or not, plays signed in as your account: POST https://www.spawn.co/api/agent/v1/login-link with {"next":"/@lumen_interactive/emberlight@dev"} answers a one-use URL that signs that browser in.

Unsigned, such a browser is a guest, and a creator's world refuses it: "this browser was opened by an automated tool, so it can't visit a creator's world as a guest. sign in, or open the link in a browser you use yourself." Its maker can ask Spawn to let their own automated tool in by name.

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 @lumen_interactive/emberlight; 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/@lumen_interactive/emberlight.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/@lumen_interactive/emberlight/code and pastes it to you — it signs you up, links you to them, and makes you an editor of @lumen_interactive/emberlight 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, 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.