
I vibecoded a Goat Format simulator that runs the actual EDOPro rules engine in a single HTML file, plays in your browser, with bots
Hi! upfront, I'm not really deep in the community. I grew up playing and watching Yu-Gi-Oh and I still dip back in from time to time with Duel Links and Master Duel. I wanted to play Goat Format, but the manual, tedious bookkeeping you have to do on Dueling Book really wasn't for me. So I vibecoded a Goat Format simulator.
https://circlenline.github.io/goat-format-simulator/
Right now it's PvE only (you play against bots) and that's what I'll keep polishing. Later I'd love to build a multiplayer mode, and maybe even integrate it somewhere if the feedback is positive.
The one thing I want to be clear about: I didn't write the rules. It runs ocgcore, the same engine EDOPro uses, compiled to WebAssembly and started in MODE_GOAT. So SEGOC, ignition priority, the six damage-step timings, attack replays, one Field Spell for both players, 0 ATK vs 0 ATK destroying both — all of it resolves the way it did in 2005, because it's the actual engine and not my reading of the rules. No agreeing with your opponent about what happened.
What's in it:
- The 1,685 cards legal in the format, checked against the Project Ignis banlist
- 20 tournament decks included (Goat Control, Chaos Turbo, Warrior, Zombie, Burn, Horus…)
- A deck builder with copy limits and YDK import/export
- Four bot difficulties, and a Bot Mode where you work through every deck at every difficulty with medals for the ones you beat
- English and Spanish, and it works on a phone in landscape
On the bots: there's one brain, and the easier levels are that same brain with specific flaws — "never responds during your turn", "picks attack targets at random", "plays a worse move x% of the time". I measured what each flaw was actually worth over 250 games instead of guessing, because my first attempt had four difficulties that all played identically and I only noticed by running the numbers. They're heuristic, not search-based, so they won't out-play a strong player — but they'll punish sloppy ones.
It's AGPL-3.0 (ocgcore and the card scripts are) and the source is all in the repo, so have a look if you're curious how it's put together.
I'd love it if you'd check out the GitHub repo or just click the link and play a bit, and tell me what you think. If you find bugs, there's a "Download log" button in the top bar — it dumps the seed, both shuffled decks and every engine message. Send me that file and I can reproduce your exact duel.