Ideas

Parent Previous Next

Ideas



Taseditor combines multiple experimental ideas into single system. Many of these ideas appeared long ago (see topics on the forum, like "dream tool", etc.), but it took a long time to implement them in terms of a consistent system.

The underlying idea of Taseditor is the Piano Roll interface that allows user to interact with the movie in a very intuitive from. The first mention of the need for a Piano Roll-based TAS tool sounded back in 2005, perhaps even earlier. A prototype called TASEdit was made in 2008. The final vision of Taseditor was formed in September 2011 and was improved during the course of development until the summer of 2012. In addition to the ideas implemented at that time, many promising but minor or hard-to-implement ideas were invented and postponed for the future.


Implemented in 1.0

Planned for 2.0

Piano Roll

Selection

Markers

Hot Changes

Greenzone

Playback

Green arrow

Auto-restore last position

Multitrack Recorder

Lua automation

Bookmarks and branches

Pop-up windows

History Log

Rerecord counter

Modifier keys system

Patterns

Crossing gaps

Compact saving

Autosave

Output Log

Minimap

Virtual Joypad

Selection improvement

Columns tweaking

Rerecords heatmap

Other stuff

Supporting platforms other than NES




Implemented ideas


Piano Roll


The basis of Taseditor, all other ideas were developed around this one.



Selection


As in any other editor, in Taseditor the Selection is used to apply an operation to multiple frames at once. But in addition, here the Selection also serves as a pointer (cursor) to the last edited Input location.



Markers


When editing large movies, the user may need to set some marks on the Piano Roll lines, in order to distinct these lines visually from their neighbors. After a series of improvements, that simple idea evolved into a versatile feature.



Hot Changes


Taseditor paints text symbols in the Input cells by different colors, depending on the time of editing the cell. For details, see Program Interface and Program Customization.



Greenzone


Since the Piano Roll interface provides the user with almost instant editing of the Input of any frame, it is also desirable to provide the ability to instantly view the game state at any given frame. This is accomplished by caching the data on all emulated game states.



Playback


The Playback is a meeting of all functions used for watching the game Output (the game state).



Green arrow


When making speedruns, TASer is trying to beat his record on each segment. In most cases the optimality criterion is the number of frame where the target event of the segment occurs. To detect the frame, TASer moves the Playback cursor while watching the FCEUX screen, and stops this manual search when he detects the beginning of the event of interest. Then the Playback cursor is usually left at this frame, and the TASer starts to change the Input on the segment (above the Playback cursor), hoping to improve the old approach and get the same event at an earlier frame.

While changing Input, the Greenzone becomes truncated and the Playback cursor jumps up. When the TASer believes that the Input was changed enough, he starts checking the game Output in order to determine at which frame the target event occurs now. For this, he moves the Playback cursor again while watching the FCEUX screen.

To conclude an improvement, the TASer needs to compare the old frame number (detected last time) and the new number, detected just recently. Taseditor visualizes this data to the user, so that he doesn't need to keep the numbers in mind. The new number is indicated by the Playback cursor, the old number is shown by the green arrow.


  1. emulate at least one frame (the user started viewing the segment)
  2. truncate the Greenzone and jump up with the Playback cursor again


Auto-restore last position


When making any TAS, the optimality criterion may be either the game state on a certain frame, or the sequence of events on the segment. TASer watches the segment and leaves the Playback cursor on the last frame of the segment, then he changes the segment Input and watches the segment again, stopping the Playback cursor on the same frame as last time. TASer makes the conclusion about the improvement either while watching the segment events, or after stopping the emulation and evaluating the properties of the final frame.

That process can be automated by auto-starting the seeking to the green arrow after every Greenzone truncation. The "Auto-restore last position" checkbox serves for this purpose.



Multitrack Recorder


The Recorder is a meeting of all functions for editing Input on the frame pointed by the Playback cursor. The Recorder provides TASer with the second way to edit Input – by recording.



Lua automation


Lua allows the user to expand Taseditor capabilities, in particular, it provides the TASer with the third way to edit Input – by automatic generation.



Bookmarks and branches


Bookmarks are a specialized alternative to Markers. And branches are needed to store several movies in a single project. So, to simplify the creation and navigation through branches, they are assigned to Bookmarks, by analogy with the traditional savestates.



Pop-up windows


They are used to display the context-sensitive information that is needed only at certain moments of time.



History Log


The logging of all significant changes of the project serves mainly for undo, as well as for visual tracking of the history.



Rerecord counter


By tradition, all TAS emulators keep track of rerecords used during the creation of a TAS. This number can be used to estimate the labor.



Modifier keys system


For a more intuitive keyboard control, Taseditor enforces a strict separation of modifier keys functions:



Patterns


Prepared sequence of button states for a single button. See more in Advanced Features.



Crossing gaps


This is an additional method of quick navigation through the Piano Roll contents. It helps to visually track long sequences of a single button or Markers. Also it allows to move from a Bookmark to another Bookmark.



Compact saving


The Taseditor project file is primarily designed to save the exact snapshot of the workflow.

In order to use the same format for file sharing, the user should be able to selectively save data to the file. When you open such an fm3 file, the missing data is be replaced with default data.

For details, see Advanced Features and FM3 Format.


Autosave


As any office document, Taseditor project should to be saved to disk from time to time, even if you do not plan to exit the program. However, TASers are not accustomed to such habits, so it makes sense to save the project automatically, allowing the user to customize or disable this feature.

For details, see Program Customization.




Planned ideas



Output Log


This is the next stage of evolution of the Memory Watch tool. It's intended to watch the game data in a dynamic way, not just static. Similarly to the Lag Log, this feature will make analyzing the game Output  easier and more accurate.



Minimap


Graphically displays the entire movie in TAS Editor window – Greenzone, Lag, Playback cursor, Selection, Markers, Bookmarks, Hot Changes, highlighted Output Log values, etc. Provides the user with an instant image of the current project, which lacks details but completely fits on the screen. Also improves navigation.



Virtual Joypad


An alternative way to enter Input. Very similar to modifying Input by clicking the Piano Roll Header, but is more visual and intuitive.



Selection improvement


TAS Editor 1.0 architecture is not designed to support the selection of Piano Roll columns, but in some situations it may be useful in TASing. For example, to clear the Input of the first joypad without clearing the second joypad Input. Or to shift the Input for one buttons without moving the rest buttons.

Besides, it's necessary to improve the process of painting the Selection, so that users will see the Piano Roll line color under the translucent Selection.



Columns tweaking


In TAS Editor 1.0 the Piano Roll columns have fixed width. The number and order of the columns are also fixed. There's also no columns dedicated to hardware commands (reset, insert disk, etc.), because these commands are rarely used. However, porting Taseditor to another emulator will increase the number of columns (e.g. PSX needs to display columns for 14 buttons), so it's necessary to give the user the ability to customize them.



Rerecords heatmap


Stores and displays the statistics about "changes done after watching" (rerecords). It may be useful to identify the difficult places in the movie.



Other stuff



Supporting platforms other than NES


If Taseditor gains popularity among TASers, its availability needs to be expanded to all emulated platforms.







Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily