The concept of "multi-tracking" has great potential for improving TASes (especially multiplayer movies). It is an idea that has been attempted throughout the years in several ways.
In some cases with emulator features such as the experimental
FCEUX .16 multitracking branch by miau, or in GENS rerecording. With the infiltration of Lua scripting into emulators we even have nice attempts using
lua scripts
However, I think the idea could be more easily implemented into any emulator by using new recording modes instead of the usual 2.
Here is what I am proposing is 2 new modes in addition to the 2 we typically already have:
Read-only - in this mode user input does not affect the movie.
Read+write - overwrites any existing input with user input
Append - any user input is ADDED to the existing input.
Invert - any existing input is inverted if the user input is identical.
The key to Append mode is that input is not erased from the movie, only added to it. "Append" might be a misleading term because it might imply adding input to the end of a movie file. However, I think "Add" isn't descriptive enough.
Let's say you have a movie that is 1000 frames. You go back to frame 900 in append mode. The emulator will be in playback mode like it would for read-only. However, any user input will be added too. For instance, if you held Right for 100 frames, but pressed A. The A would be added to the movie file. If you pressed Right, nothing would happen because right is already in the movie file.
Invert would be a natural addition to having an append mode. If any input from the user matches the input from the movie, the input is removed. Another possible name for this could be "Scrub" mode (a term borrowed from audio recording)
In the previous example, everything would be the same for pressing A. However, if you pressed right, then right would be removed from the movie file.