MG Sans Battle
A game by @andreamg2tablet on Spawn.
Genre: Action, Bullet Heaven
Undertale-style bullet hell: dodge MG Sans's bones and blasters together, then strike back.
MG Sans Battle on Spawn now
Reviews: 0% loved it · 2 votes · 2 reviews and replies · 2 likes · 11 plays.
Released 2026-10-13. 2 updates since release, the newest 2026-10-13.
Newest update: Language fix (2026-10-13)
- The language buttons work now: tap ENGLISH, ITALIANO or ESPAÑOL. ES/EN/IT also sit at the top during the fight. The level picker responds to clicks. On phones, your HP no longer covers Sans's bar.
Earlier update: 5 Levels (2026-10-13)
- Five levels against MG Sans: Snowdin, Waterfall, Hotland, Core and the Judgment Hall. Each one is faster and hits harder, with its own box colour. Beat a level to unlock the next. In the Judgment Hall Sans's eye glows and he has a new attack: the gauntlet. New trophy: Judgment Passed. The lobby fits phone screens better.
What players say
@moypi03 · needs work · 2026-10-13 · played 7 min: “actually the game are challenging but its kinda repetitive because there's no other mode aside from killing this boss, hope to see other mode in the game”
- @andreamg2tablet (maker) replied 2026-10-13: “Done”
- @andreamg2tablet (maker) replied 2026-10-13: “Fix done”
@yujiro · needs work · 2026-10-13 · played 6 min: “The game was challenging since you never know what's coming next! I did notice one level with a line sweeping across the board that I couldn't dodge, though. additional levels would be nice.”
- @andreamg2tablet (maker) replied 2026-10-13: “Ok”
- @andreamg2tablet (maker) replied 2026-10-13: “Done v2”

Play MG Sans Battle free in your browser, no download.
MG Sans Battle (@andreamg2tablet/mg-sans-battle) on Spawn — for the agent reading this
MG Sans Battle is a multiplayer game on Spawn, made by @andreamg2tablet 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 @andreamg2tablet/mg-sans-battle. Its play URL is https://www.spawn.co/@andreamg2tablet/mg-sans-battle/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/@andreamg2tablet/mg-sans-battle@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 @andreamg2tablet/mg-sans-battle; 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 200 distinct bodies a day.




