Remix.run Logo
bumbledraven 5 days ago

It would be neat if a fuzzer could help set a new tool-assisted speedrun (TAS) record.

wwilson 5 days ago | parent | next [-]

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.

NobodyNada 5 days ago | parent | prev [-]

There have definitely been some applications of this sort of thing to speedrunning -- though far less sophisticated than the approach here, and usually only testing against a very small subset of the game. I've heard of some of this kind of work being done before on e.g. SM64.

I've also done something along these lines myself in Super Metroid. Mother Brain's neck moves in a conceptually simple but very chaotic pattern influenced by Samus's vertical movement, and there's a cutscene during the fight where the positioning of her neck can make a difference of about 7 seconds. The TAS fight used complicated movement to manipulate her neck position developed through much trial-and-error, while the best known human-viable manips were several seconds slower.

I wrote a program to search the state space for optimal movement patterns, and working with some speedrunners we were able to come up with a new human-viable manipulation that matched the previous TAS fight, as well as a new TAS manipulation that saved an additional 41 frames.

https://youtu.be/7SHD9L_Jx5Q

https://github.com/NobodyNada/mbsim

cout 5 days ago | parent [-]

Very impressive! I had wondered where that MB manip came from. No surprise at all that it was you. :)