Musket: A Minions Clone in Your Browser
Play it now: musket.veered.org · more games at veered.org

Musket is a free Minions clone: a real-time team battle in the style of Minions, the 2008 Flash game by Casual Collective that went dark when Flash was switched off. It plays the way Minions did — the board scrolls from your base at the bottom toward the enemy at the top, each side has towers to knock down, and little minions march out in threes. Nothing to install, no account needed: open the link, pick a seat, and any seat nobody takes is filled by a bot. From 1 to 12 players.
Towers first, then the base
Each side holds a base and a line of towers that shoot the closest enemy. Towers can be destroyed, and every one you lose leaves your base easier to hit. Win by bringing down the enemy base. When the fight drags on, the drums pick up for the Final assault.
Pick a hull
Before the match you draft a hull — Bastion, Grenadier, Surgeon, Sapper, Bombardier, Lancer, Hussar or Ranger. One is fast and fragile, one is a brawler, one keeps the others alive. Kills earn ranks, and your powers grow as you rank up.
Minions in squads of three
Your base sends minions out in squads of three that keep formation and push the lanes on their own. Fall in battle and you come back as a ghost at your base, free to roam at half speed; your hull returns wherever your ghost is standing.
Credit where it's due
Musket is a fan-made clone. It is not affiliated with or endorsed by Casual Collective or anyone who now owns the original Minions, nor with the Minions films. All art, code, music and sound in Musket are original. It is built on the engine of Merlot, our earlier tank game.
Please test before relying on it
This is shared as-is, with no warranty. It works on my own computers, but your system, settings and software versions may differ, so please try it in a safe setting first. If something doesn't work, you can ask Claude (or another AI coding assistant) to look into it, and I'd appreciate hearing what you found and how you fixed it. You are also welcome to just let me know at support@veered.org, and I'll look into it.
Put your own copy on the internet
You do not have to be a programmer to do this, and it costs nothing. The whole game lives on Cloudflare, a company that will host a small site like this free, and the free allowance is far more than a game among friends will ever use.
- Get the game. Download the source (the button at the top of this page) and unzip it. You now have a folder called
musket-main. - Open a free Cloudflare account. Go to dash.cloudflare.com/sign-up, enter an email address and a password, and confirm the email they send you. No card is needed for the free plan.
- Install Node.js. This is the program that does the uploading. Get it from nodejs.org — take the version it offers you — and install it like any other program.
- Open a terminal in the
musket-mainfolder. On Windows that is PowerShell (right-click the folder, "Open in Terminal"); on a Mac it is Terminal; on Linux you know already. - Type these two lines, pressing Enter after each and waiting for it to finish:
npm install
npx wrangler deploy
The first line collects the pieces the game needs. The second asks for your Cloudflare account: a browser window opens, you sign in and click Allow. When it finishes it prints a web address ending in workers.dev — that is your copy of the game. Send that link to anyone you want to play with.
To try it on your own computer first, without publishing anything, type npx wrangler dev instead and open http://localhost:8787 in your browser.
If any of that goes wrong, paste the error into Claude (or another AI assistant) and ask what it means — that is genuinely the fastest way through it, and it is how this game was written in the first place.
Information for nerds
- Server: a Cloudflare Worker with Durable Objects (
src/). Each match room is one Durable Object that holds the players' WebSockets and runs the simulation tick (src/game.js). The same simulation drives the bots, the replays and the tests. - Client: a single self-contained page (
public/index.html) with its art, sound effects and music inpublic/. - Art pipeline:
art/holds the Blender and Python scripts that rendered the sprites and the drill-ground floor (art/musket_floor.py); the finished sprites are inpublic/art/. - Music: composed live in the browser by
makeBand()inpublic/index.html; see public/music/README.txt. - Bot tuning:
tune/runs self-play matches to tune the bot tiers. - Requirements: Node.js 22 or later.
- Optional settings:
cp .dev.vars.example .dev.varsfor local runs; in production the same names (operator stats key, email relay) are set withnpx wrangler secret put NAME. - Your own hostname: uncomment the
[[routes]]block inwrangler.tomland deploy again. - Tests: each file in
test/is a standalone script that exits non-zero on failure:
node test/<name>-test.mjs
Credits and licenses
- Code: MIT. See LICENSE.
- Original art in
public/art: CC BY 4.0. Credit "Musket by Veered". - Sound effects: CC0 packs from Kenney (kenney.nl). The announcer voices were synthesised. See public/sfx/README.txt.
- Music: generated in the browser from CC0 instrument samples (VSCO 2 CE) and public-domain tunes. See public/music/README.txt.
- Musket was written with AI assistance (Claude), on the engine of Merlot.