The Tower

A game by @skyx on Spawn.

Genre: RPG, Roguelite, Adventure, Action

Grimpez la tour en groupe: chaque étage est un monde, chaque monde a son boss.

The Tower on Spawn now

Reviews: 0% loved it · 2 votes · 3 reviews and replies · 2 likes · 49 plays.

Released 2026-11-06. 11 updates since release, the newest 2026-11-07.

Newest update: English & New Heroes (2026-11-07)
  • The game now starts in English, and you can switch language anytime in the Hero tab options.
  • Every race and class pair has its own portrait, and alignment is gone from hero creation at the Stele.
  • The Stele menu now runs across the top: your path on the left, your people and look on the right.
  • A quest marker on the HUD and map, an arrow on the minimap, and a Grimoire you read like a book (C).
  • Bosses scale to your level and floor, and their skins are smoother.
Earlier update: La Tour dans la poche (2026-11-06)
  • Nouvelle disposition pour téléphone en paysage : PV compacts, journal replié, Sacoche dorée et grimoire réduit.
  • Les tirs à distance suivent aussi le viseur en hauteur.
  • Ronceroc, le sanglier de la forêt, a un nouveau corps réaliste.
Earlier update: Viseur et Gardien (2026-11-06)
  • Viseur pour les armes à distance: clic droit maintenu pour viser en vue à la première personne. Les tirs partent vers le viseur et s'éparpillent quand on court. Le Gardien ne frappe plus hors de sa cour et sa charge ne bugue plus. Mourir dans la Tour ramène vivant au Camp. Les stats d'un objet restent cachées tant qu'on ne l'a pas équipé.
Earlier update: Coups au cordeau (2026-11-06)
  • Les attaques des boss ne touchent plus que dans la zone marquée au sol: charges, balayages, sauts, anneaux et rochers.
  • La toupie des bêtes est suivie d'un cercle au sol.
  • Nouveau guide du Camp pour les nouveaux venus: 5 étapes avec une flèche dorée.
  • Grimoire › Options › Revoir le guide le relance depuis le départ du Camp.
Earlier update: Manette & mobile (2026-11-06)
  • Jouable à la manette (A saut, B roulade, X interagir, Y potion, RT frappe, LT garde, LB/RB/croix sorts 1–6, R3 capacité, Start grimoire). Commandes tactiles pour téléphone et tablette. La barre de sorts passe à 6 sorts actifs. Onglet Groupe traduit en anglais.
What players say
  • @juju38000 · 2026-11-06 · played 15 min: “really really good”

  • @neitantei · needs work · 2026-11-06 · played 9 min: “I can only enjoy the scenery because I can't understand the language. The game looks interesting, so please consider adding an English option so I can actually understand and enjoy the gameplay!”

    • @skyx (maker) replied 2026-11-06: “The english is live by now you can go in the menu "c" to change the language in-game”
  • @vladtheimpaler · needs work · 2026-11-06 · played 1 min: “Hey man, the game looks really good, like really really fire but I can't understand the missions and what to do on the game because I cant change the language to english”

    • @skyx (maker) replied 2026-11-06: “Okay np”
    • @skyx (maker) replied 2026-11-06: “The english is live by now you can go in the menu "c" to change the language in-game”
The Tower. Le Camp · pied de la Tour: A character stands on a torch-lit stone courtyard at night, surrounded by wooden buildings and a red banner hanging from a wooden structure. Taken for the update English & New Heroes.The Tower. Le Camp · pied de la Tour: A character stands on a tiled courtyard near a tower, with an open menu panel labeled SACOCHE displaying inventory categories on the right side. Taken for the update La Tour sur tablette.The Tower. Le Camp · pied de la Tour: A character in dark armor stands on a circular stone platform near a tall red wooden post, with a nighttime camp scene behind them featuring buildings, green trees, and a tall stone tower in the distance. Taken for the update Gardien et tirs.The Tower. Le Camp · pied de la Tour: A character stands on a tiled courtyard near red wooden structures and machinery, with a menu panel open on the right showing inventory tabs. Taken for the update La Tour dans la poche.The Tower. Le Camp · pied de la Tour: A character stands on a brick courtyard at dusk, facing a path lined with lanterns leading toward a medieval camp with buildings and a tower in the distance. Taken for the update Viseur et Gardien.The Tower. Le Camp · pied de la Tour: A character in dark clothing stands on a brick courtyard at the base of a tall stone tower, surrounded by grassy fields, wooden buildings, and lantern-lit pathways. Taken for the update Coups au cordeau.The Tower. Le Camp · pied de la Tour: A player character stands in a camp at dusk, facing a stone statue with arms raised, with wooden structures, a marked stone pillar, and other figures visible in the background. Taken for the update Manette & mobile.The Tower. At The Camp, foot of the Tower, a character stands on a circular stone plaza with mystical markings. A glowing campfire, vendor stall, and lantern light the area at dusk, surrounded by tall grass and distant figures. Taken for the update English & feedback box.

Play The Tower free in your browser, no download.

The Tower (@skyx/the-tower) on Spawn — for the agent reading this

The Tower is a multiplayer game on Spawn, made by @skyx 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 @skyx/the-tower. Its play URL is https://www.spawn.co/@skyx/the-tower.

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