Rollmon — a single-player draft autobattler game in your browser
I made a single-player roguelite where a slot machine drafts your team.
https://rollmon.gg/
Each round locks a Type × Gen cell and offers five mons, you pick six total, choose their sets, and then it auto-plays a ten-boss gauntlet with them while you watch the replays. You never choose moves.
How it works under the hood: poke-engine (pmariglia's) compiled to WebAssembly runs MCTS with a time budget per move, and pkmn/sim referees, all in your browser tab. No battle server. The approach descends from foul-play, but no foul-play code is used. The leaderboard replays your run's recorded choices server-side before accepting a score, so you can't paste in a fake 10-0.
Given the recent bot policy, to be clear: this is not a ladder bot and can't become one. There's no protocol client in the codebase.
1/ The roll.
Each round locks a cell: one Type × Gen generation. Five candidates roll their rarity from the Showdown tier: Poké 40% · Great 30% · Ultra 20% · Master 10%. Legendaries are rare, never banned. 649 Pokémon, two skips.
2/ Every Pokémon runs a real set.
Smogon analysis sets plus player-contributed ones. You pick one per mon before the gauntlet. Mega Evolution is a set choice, one Mega per battle.
3/ Ten bosses, revealed one at a time.
Meme teams, Red's HGSS six, then Air. Your score multiplies by a tier handicap: a ZU mon is worth 1.5× an Uber, so cheap drafts top the leaderboard.
4/ Your sets can live in the game.
The Contribute button takes any Showdown export, or a full team of six as a boss. I battle-test every submission through the engine before it joins the pool.
5/ Also this is an open source project!
A Rust battle engine compiled to WebAssembly, Showdown's simulator as the referee, zero battle servers. PRs and issues welcome:
github.com/ziangit/Rollmon
I made a single-player roguelite where a slot machine drafts your team.
https://rollmon.gg/
Each round locks a Type × Gen cell and offers five mons, you pick six total, choose their sets, and then it auto-plays a ten-boss gauntlet with them while you watch the replays. You never choose moves.
How it works under the hood: poke-engine (pmariglia's) compiled to WebAssembly runs MCTS with a time budget per move, and pkmn/sim referees, all in your browser tab. No battle server. The approach descends from foul-play, but no foul-play code is used. The leaderboard replays your run's recorded choices server-side before accepting a score, so you can't paste in a fake 10-0.
Given the recent bot policy, to be clear: this is not a ladder bot and can't become one. There's no protocol client in the codebase.
1/ The roll.
Each round locks a cell: one Type × Gen generation. Five candidates roll their rarity from the Showdown tier: Poké 40% · Great 30% · Ultra 20% · Master 10%. Legendaries are rare, never banned. 649 Pokémon, two skips.
2/ Every Pokémon runs a real set.
Smogon analysis sets plus player-contributed ones. You pick one per mon before the gauntlet. Mega Evolution is a set choice, one Mega per battle.
3/ Ten bosses, revealed one at a time.
Meme teams, Red's HGSS six, then Air. Your score multiplies by a tier handicap: a ZU mon is worth 1.5× an Uber, so cheap drafts top the leaderboard.
4/ Your sets can live in the game.
The Contribute button takes any Showdown export, or a full team of six as a boss. I battle-test every submission through the engine before it joins the pool.
5/ Also this is an open source project!
A Rust battle engine compiled to WebAssembly, Showdown's simulator as the referee, zero battle servers. PRs and issues welcome:
github.com/ziangit/Rollmon
Last edited:









