Optimizing our way through Metroid
15 comments
·August 22, 2025__s
wwilson
The longer you run it, the cleaner the run gets. But Metroid is a very compute-intensive game to fuzz, and we were already nearing the limits of what BigQuery could do for us with that run.
bumbledraven
It would be neat if a fuzzer could help set a new tool-assisted speedrun (TAS) record.
wwilson
Yes, this is a really fun idea and something that we want to do. Though these days we’re setting our sights higher than Nintendo…
A funny story though: a regular conference gimmick we have is “Man vs. Machine” where we have attendees race our fuzzer to the end of Mario level 1-1. We did this at the final year of Strange Loop, and the fuzzer was winning handily until not one, not two, but three different professional speedrunners walked by and destroyed us.
jboggan
Fantastic read and a really interesting company I did not know about until just now.
I would love to see how it handles Castlevania II.
wwilson
Haven’t tried Castlevania II, but here’s the first one: https://antithesis.com/blog/castlevania/
AIPedant
This seems like a cool company and I don't want to nitpick too much, but gamers have no respect for history:
Castlevania... [so] called because it is a Metroidvania game set in a Castle.
Ouch - this is precisely backwards. Metroidvanias are named after Metroid and Castlevania because those series practically defined the genre.Also a bit frustrating because the first Castlevania itself isn't actually a metroidvania, it's a more conventional action-platformer. Castlevania II has non-linear exploration, lots of items to collect, and puzzle-solving, all like Metroid. So it's not too surprising Antithesis had to do a lot of work for adapting their system to Metroid - but I wonder if this work means it now can handle Castlevania II without much extra development.
wwilson
You were successfully trolled. :-)
gblargg
> I would love to see how it handles Castlevania II.
I assume you're thinking specifically of using the red crystal to spawn a tornado: https://youtu.be/Mx9PwRIK9Io
tyleo
Yeah the company sounds interesting. I wish the main page had clearer info about what it does. There’s a lot of text but I want the simple, “here’s the little bit of example code to get going.”
tyleo
After a little more digging I found some very cool answers in the docs: https://antithesis.com/docs/
throwaway77770
For some reason, the embedded videos seem to break in Firefox Private Browsing (128esr). This had me stumped for a while until I tried it in a normal not-private window and it worked.
null
Would expect some route optimization, there's spots where it bomb hops around corridor before proceeding. Seems like it could see running straight through would result in same game state sooner
But I'm probably viewing this from TAS perspective instead of fuzzer perspective