3 ms·
In some cases, it is exactly the same thing. I co-authored the current fastest TAS of Super Metroid (video: https://youtube.com/watch?v=m-Gt57ur7OA https://you
by NobodyNada 2y ago
In some cases, it is exactly the same thing.
I co-authored the current fastest TAS of Super Metroid (video: https://youtube.com/watch?v=m-Gt57ur7OA https://youtube.com/watch?v=m-Gt57ur7OA, writeup: https://tasvideos.org/8214S https://tasvideos.org/8214S). Our run involves exploiting a race condition in the game's sprite animation system, which under the right set of circumstances can cause the game to try to execute code from unmapped memory. We manipulate the behavior of enemies in the room to precisely control the timing of the exploit such that some hardware DMA fetches happen at the same time as the reads from the unmapped memory, which influences the results of the reads through bus capacitance & gives us enough control to redirect the program counter to the controller input registers, at which point we have full arbitrary code execution. That's not even "overlapping", that straight up is vulnerability research & building an exploit chain.
Granted, that's the extreme end -- most speedruns don't go anywhere near that deep into the weeds. But every sufficiently well established speedrun community has people who specialize in reverse-engineering, understanding the game mechanics, and figuring out exploits. Most of my day-to-day participation in the Super Metroid community isn't working on methods of full-on arbitrary code execution; but I do spend a lot of time doing things like looking at boss AI, investigating inconsistent speedrun strats to find out how to normalize them, writing tooling to help people practice, figuring on how to reproduce a weird glitch someone encountered, etc.