Post subject: Defense of initial console state for TAS playback
Emulator Coder, Experienced Forum User
Joined: 6/8/2005
Posts: 14
There was some criticism of TAS on the nesdev forum over it requiring a known initial state on the NES, thus eliminating the possibility of playing back on a stock NES. Below is my defense of TAS that it in fact is done on the equivalent of a stock NES powered on, and thus is just a lack of thinking through what TAS is. Apologies if this kind of defense has already been elaborated elsewhere. TAS is about something that could be done in real-time if one were superhuman. We could put the game in, power up a NES, then play it in an unbelievable way, all through the controller. Since we aren't superhuman, we use tools to give us those powers as far as the NES and game are concerned. Our tools essentially allow time travel. We can stop time and think about the next buttons to press/release. We can also let time go forward, see what would happen, then go back and use that information in choosing what to press. We can also of course go back and redo something that we realize was an error. So, to make a TAS, we put the game in, power up the NES, freeze time, make a note of the entire state of the NES, then construct our controller states while we run the NES forward and backward. When we're finally done, we rewind time back to the initial power-up state and play our TAS movie in real-time while everyone enjoys it. If someone wants to see it again, they can go back in time to this NES in its same initial state and replay the TAS. Since this requires an actual time machine, we can approximate stopping time by stopping the NES clock or something similar, and approximate going back in time by restoring the same initial state to the NES before replaying the TAS. Rather than leave the NES on while we make the TAS, we might turn it off and then restore the state when we want to play it back for the first time. This, like the TAS tools, is for overcoming our own limitations, not altering the essential TAS process. Thus, I don't see the initial NES state issue as being a violation of TAS at all. It's still turning on a NES and feeding it just a series of button presses, created with the assistance of tools, that result in an unbelievable play.
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3579)
Joined: 11/3/2004
Posts: 4682
Location: Tennessee
TASer of 2010NES TASer of 2010DS TASer of 2010Arcade TAS of 2010NES TASer of 2008NES TAS of 2008Funny TAS of 2008TASer of 2007NES TASer of 2007Funny TAS of 2007
To add to your point. How about a list of movies confirmed to have played back on a real NES? Console Verified Movies Also, I think it is important to note that the concept of TAS is still valid if there are multiple possible initial states so long as the state used in the TAS is among those. If we are using the super human analogy, said super human would be fully capable of turning on the NES in an inital state that suited his needs.
It's hard to look this good. My TAS projects
Emulator Coder, Experienced Forum User
Joined: 6/8/2005
Posts: 14
Yes, a superhuman could alter the temperature and other things that contribute to the initial state of the console. We could approximate it by turning it of and on until its state is what we want, then save viewers the bore of that by skipping all the unsuccessful power ons. Note that all this only applies to a TAS where one wants a particular initial state (sort of like manipulating luck); if one is fine with however the console powers on for one's TAS, then it really is just turning it on and pressing things on the controller.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
There are some NES games that take advantage of some hardware quirk that makes them more or less truly random (i.e. not a fixed initial RNG seed). I forget exactly what it is, but I know Blades of Steel was mentioned as one such game. But most games don't do this and just rely on e.g. the number of frames between when the game starts and when the player provides first input as their initial seed. In practice this will be good enough. But yes, as adelikat says, the important thing is that the TAS can be replicated on console, not that it can be reliably replicated. Even if you have to try hundreds of times, so long as one attempt is successful, the TAS has been proven as possible.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.