Super Pitfall is a platforming game well known for glitchiness and overall poor programming.
Game objectives
- Emulator used: FCEUX 2.2.2
- Beats the game as fast as possible
- Abuses programming errors
This game is pretty poorly programmed, as anyone who has tried to play the game casually can attest.
'Wall Clip': This glitch occurs because a particular memory address ($00D5) is reused for multiple purposes in a frame. One of those purposes is for collision detection. Normally, this byte fails a check that prevents the player from moving forward when walking against a wall. However, it turns out that $00D5 is also changed at an interrupt of some sort. If the interrupt timing is just right, the value will be modified and not changed back before the collision detection check. When this happens the character moves one step into the wall. This is quite random, and I have found no way to consistently make it happen. Only a brute force search could really find the best case as far as I could tell. But it happens often enough to make it a time saver.
This run features several new clips, allowing slow deaths to be avoided.
This is my first attempt at using automated re-recording to make a run, and I must say I am pretty happy with the results. This run probably contains more re-records then all my other runs combined, simply because of the blind brute forcing I did to make the clips as fast as possible.
There are a couple of other possible clips as illustrated by Arc, but I have not managed to make them save time over the current ones. Of course, I only tested a small fraction of the incredible number of potential combinations, so maybe if enough cpu time is devoted to the problem more improvements are still possible.
There is also a glitch (presented at a recent AGDQ but known for several years), that warps to the ending screen much faster, however it turns out the true ending state is not obtained this way, since it doesn't start the second world, and therefore not included in this submission.