NESBot: Tool Assisted Speedrun On Real Hardware 101
Xistic writes "For many years tool assisted speedruns were purely theoretical and the domain of emulators. No longer! Using an Arduino Duemilanove microcontroller to drive an actual Nintendo console, pjgat09 plays back prerecorded input to beat Super Mario Bros. in record time. The selection of possible games is limited: 'If the game relies on any uninitialized memory for randomness, or if it is heavily based on console timing, it may not work. In the case of Super Mario Bros however, as long as the button presses start play back at the right time, the movie will play back correctly.' The author includes complete instructions on how to setup the device."
Holy bug exploitation (Score:5, Interesting)
This won't work with all games (Score:5, Interesting)
This won't work with all games. Many games made by Konami use aggressive random number generators which depend on the number of clock cycles consumed while the game waits for the next frame.
Then the game also plays digital samples through the DMC channel, and the DMC channel does not have a known consistent power-on state. Because the DMC channel periodically interrupts the CPU to fetch bytes, that will affect the number of cycles it takes while it waits for the next frame.
So we have two issues coming together, number of leftover cycles from power-on state, and initial DMC state, so when you play one of these games, the game's own demo mode isn't even consistent between multiple power-ons.
You can try it with Blades of Steel or Double Dribble, and see that their demo modes aren't always identical between different power-ons, even when you are aren't touching the joypad.
No chance of those games being TASed on hardware.
Other games are far more friendly, and don't rely on exact timing for their random number generator behavior.
Re:Machine replaces man (Score:0, Interesting)
Totally agree. "Beats SMB in record time?" I strongly suspect that actual time used to construct a frame-timed speedrun like that far exceeds the time it would take to beat the game conventionally. Question: if I take a bus, does that count as tool-assisted walking?
That's nothing... (Score:2, Interesting)
You should see how many updated movies on TASVideos (which I've been visiting for a long time now) beat each other by a few *frames* (i.e. 1/60ths of a second).
It's not uncommon to have a movie obsoleted in favor of a 2-3 frame improvement, especially in the Mega Man games, which are very, very, very competitively TASed.