Ostatni Bastion
A game by @huza on Spawn.
Genre: Tower Defense, Strategy
Tower defense od HUZA STUDIOS: postaw wieże, zatrzymaj fale.
Ostatni Bastion on Spawn now
Reviews: 100% loved it · 3 votes · 3 reviews and replies · 3 likes · 3 plays.
Released 2026-10-15. 5 updates since release, the newest 2026-10-15.
Earlier update: Kamienne Góry i Fabryka Robotów (2026-10-15)
- Nowy biom kamienny: 3 mapy i same golemy, od małego Kamyczka po bossa Króla Gór. Fabryka robotów: 3 mapy, roboty i boss Robo Lodówka. Nowi bossowie: Król Bałwanów w zimie i Władca Piasku na pustyni. Klawisz R obraca jednostki w rundzie, żeby zmieściły się w ciasnych miejscach (na telefonie przycisk OBRÓĆ).
Earlier update: Night of Ghosts Clock (2026-10-15)
- Night of Ghosts now counts down to the end of October
- The hub fits phone screens
What players say
@chizkeykkk · loved it · 2026-10-15 · played 26 min: “I love this game! I tried Endless Mode and managed to reach level 30. I was shocked when one boss monster escaped and killed me right away lol 😂😭”
@lego · loved it · 2026-10-15 · played 18 min: “Had a lot of fun playing this! Tried Endless with only Archers and made it to Wave 30. Building and upgrading towers feels so satisfying! Anw, how does merging work here?”
@kaya · loved it · 2026-10-15 · played 5 min: “aw man, the simplest games always end up being the most fun for me. i just tried out lots of levels in x3, and it was satisfying to see the waves being cleared. i mostly used the archer tower though!”
- @kaya replied 2026-10-15: “i tried opening a capsule from the shop, but every time i click on Roll, nothing happens, and my gold isnt spent so i wasnt able to try out other towers. would be lovely to see how they work!”

Play Ostatni Bastion free in your browser, no download.
Ostatni Bastion (@huza/ostatni-bastion) on Spawn — for the agent reading this
Ostatni Bastion is a multiplayer game on Spawn, made by @huza 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 @huza/ostatni-bastion. Its play URL is https://www.spawn.co/@huza/ostatni-bastion.
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/@huza/ostatni-bastion@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 @huza/ostatni-bastion; 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/@huza/ostatni-bastion.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.





