Roguelike · playable
Autobrawl
A cartoony auto-battler roguelike: lane fights on autopilot inside a three-act run.
What it is
Pick one of four captains, each with an element of its own: Pyra sets things on fire, Volt chains lightning, Old Moss grows things and Frosty Pete freezes them. Then climb three acts of a branching map, through fights, elites, bounties, shops, recruit camps, forges, campfires and odd events, to a boss at the top of each.
A fight is four lanes a side. In each break you see what every enemy will do next, spend your energy on cards and move your crew between the lanes and the bench. Then BRAWL! runs three rounds on autopilot, every lane swinging at once. Knock out the enemy leader to win.
A second copy of a unit levels it up, up to three gold stars. Every boss has a rule of its own: a king who knights his scrawniest goblin, a claw machine that drops your hardest hitter on the bench, a queen who copies your best unit.
How it works
- The rules are plain TypeScript with no DOM and one seeded source of randomness, so a run is only a seed, a captain and a list of decisions.
- The server replays every uploaded run with the same code before it counts. That keeps the Daily Brawl fair: one run a day, with the same seed and captain for everyone.
- The characters are wobbly blobs drawn with Pixi.js and animated with GSAP. Every sound is made in the browser with Web Audio; there are no audio files.
- A bot plays hundreds of full runs per captain to check the balance after each change.
- Runs are kept in the browser; sign in to keep them across devices. Unlocks, Heat levels and 29 trophies are worked out from the runs you have finished.
Built with
- TypeScript
- the rules, the game and the bot
- Pixi.js and GSAP
- the board, the blobs and every hit
- Web Audio
- every sound, made as it plays
- Hono on Workers
- accounts, sync and replaying runs
- D1
- finished runs and profiles
A closer look

Where it is
Playable now in any browser, on a phone too, and growing: it is at version 0.23.
