# 4.2. Nonlinear TASing

Nonlinear TASing

This is the main method when working with Taseditor. At first it may seem rather different from the traditional TASing, however, they are essentially very similar.

When using this method, the Recording mode should always be off. The "Auto-restore last position" checkbox should be disabled. The "Turbo seek" and "Follow cursor" checkboxes are usually disabled, but may be enabled when necessary.

General activity:

1. Scroll the Piano Roll to the beginning of the edited segment, put the Playback cursor here, define the goal. It's also recommended to mark the beginning with a Marker.
2. Suppose there's a mistake in the segment, weigh known factors of optimality and figure out the way to fix the mistake.
3. The mouse cursor navigation to any frame of the current segment is practically instant.
4. Edit the segment with the mouse. You can either change the Input blindly, or move the Playback cursor from time to time in order to check with the game. The steps 3 and 4 are constantly alternating until you consider the editing complete.
5. Detect the end of the segment by putting the Playback cursor at the target event.
6. [optional step] Save the finished approach to any free Bookmark, e.g. to slot 8 or 7.
7. If this isn't the first approach to the segment, compare the new result to the best old result, using the optimality criterion. If the new approach is better (or it's the first approach), save the result to the Bookmark 9. The slot 9 will be used for keeping the best result of polishing the segment.
8. If you still want to try different approaches, return to step 2, until you run out of ideas.
9. [optional step] If you need more ideas, you can get some information from the past or the future by moving the Playback cursor to different segments of the movie or unpausing the emulator. When necessary, you can quickly draw a rough Input for watching the upcoming events of the game.
10. When there's no more ideas, restore the best approach from the History Log or the Bookmark 9 into the current movie and proceed to the next segment.

Since all created approaches to playing the segment are automatically saved in the History Log, you could follow the temptation to rely on the Log and not save the approaches to Bookmarks (steps 6 and 7), instead just reach the target event once and then experiment with this Input, gradually improving it (and simply undoing all the changes that are for the worse). Such perfunctory way of TASing is technically possible, but not recommended, because it doesn't let you think far outside the terms of the first approach (because you subconsciously fear to lose the old best approach by leaving it too far away).

Even if the outcome of the latest modification of the Input made the game behave worse, you should not immediately forget it and revert to the previous state of the movie, better try to examine the cause of the worsening and continue the modification to turn it into an improvement. And in order to never be afraid to lose the previous successful playthrough in the depths of the History Log, you should do exactly like they do in the traditional TASing – allot a special slot for storing the best result and set this Bookmark to the end of the segment every time you improve the result.

And you can do the same with those promising approaches that are somewhat better, but somewhat worse than the current best result. When you're saving all alternative approaches to separate Bookmarks, you can safely remove their Input from the working movie or change it beyond recognition, because you can return to any of them with a single key press, and no need to search within the History Log.

Unlike the traditional TASing method, here you may lose sight of dividing the movie into logical segments, because now you don't have to mark the beginning and the end of the current segment with Bookmarks. However, it's still recommended to keep an order and mark the beginning of every important segment with Markers, in order to limit the number of optimality factors.

The beginning and the end of a segment are usually associated with certain events of the game, and not with a soulless frame number. But since the starting event of the segment is not affected by modifying the Input of the segment, this event will always occur at the same frame, so you can lock the frame with a Marker.

The ending event of the segment may occur in various points of time, depending on the Input in the segment. So if you mark the end with a Marker, you will need to move the Marker up or down every time you change the target event by modifying the Input. Often it's impractical to spend time on dragging Markers, so instead of the trailing Marker you can use the aforementioned Bookmark which stores the best approach and its icon serves as a mark of the end of current segment.

As for simple segments, you can polish them without marking the ending frame at all, by simply relying on your own memory and on the green arrow provided by Taseditor. With this green arrow the Taseditor hints you the frame where you've stopped watching the segment the last time (before you started modifying the Input of the segment). Usually this is the frame where the target event was detected in previous approach. So you may as well replay the updated segment up to the frame and compare the new result with the old one. For example, if the target event is now detected 2 frames above the green arrow, it means you've outran previous result by 2 frames, so the new Input is better (if your criterion is speed). This entire logical chain pops in your mind once you glance at the Piano Roll after watching the outcome of the recent Input modification.

The process of polishing the Input in the nonlinear method is a constant alternation of editing and watching the segment. You analyze the situation during the watching and right after stopping the watching.

Possible ways to watch the outcome of Input:

- unpause the emulator by pressing the Pause hotkey or the middle mouse button. After the segment ends, you have to pause emulator manually (and no problem if you stop it a bit later, since you can always rewind up)
- start seeking to the green arrow by pressing the Restore Playback hotkey or the middle mouse button (when the green arrow is outside the Greenzone).
- start seeking to the nearest Marker by holding Shift and pressing the middle mouse button
- start seeking to the Selection cursor by holding Ctrl and pressing the middle mouse button, granted that the Selection cursor is below the Playback cursor
- rewatch the segment from the Selection cursor position to the Playback cursor position by by holding Ctrl and pressing the middle mouse button, granted that the Selection cursor is above the Playback cursor
- just drag the Playback cursor manually, using the mouse cursor
- move the Playback cursor by holding the right mouse button and rolling the mouse wheel
- shift the Playback cursor frame-by-frame using Frame Rewind and Frame Advance hotkeys or < and > buttons or Shift + Up и Shift + Down keys
- and there are other ways of navigation with the Playback cursor.

Most often you are going to either click the middle mouse button or move the Playback cursor by scrolling the mouse wheel. Don't attach yourself to a single one of the ways, learn to use them depending on the situation.

The ratio between the time spent on editing and on watching depends on the complexity of the current segment and on the volume of your knowledge about the game. The more you TAS a single game, the better you are aware of its regularities. So near the end of your project you'll be able to foresee the outcome of your Input modifications before even attempting to edit them in. Then you'll only need to watch the segment in order to confirm your guess.

In some cases you can judge about the optimality of an Input by seeing its interim results and not even watching the segment to the end. For example, if the character bumps into a wall and nullifies his speed in the middle of the segment, you can immediately guess that he is going to reach the target event later than previous time. So sometimes you want to only watch a few frames and continue the editing. However, such a hurry may lead you to reject a solution that is suboptimal at first glance but has a potential to be very successful in another segment. For example, after bumping the wall Mario may accidentally enter inside and go through it. That's why it's recommended to never hurry when TASing, and to watch the current segment to the end, where you can be sure the optimality criterion won't let you down.

Technically you can watch and edit the Input simultaneously. When the "Follow cursor" checkbox is disabled, the Piano Roll stays still, while the movie is played, so you can draw buttonpresses right when they are executed (replayed). For example, when Mario jumps over an obstacle, try to change the height of the jump by drawing and erasing the A button presses without pausing the emulation. You can slow the emulation down by the - and = hotkeys, in order to have more time for clicking while watching.

But when you need to have enough time not just for clicking, but also for thinking, better pause the emulator and TAS properly.

The emulation speed can be both decreased and increased. Before Taseditor, speeding up the emulation was used only for quick replay of the finished part of the movie. But now the turbo emulation also serves as an original way of TASing. With an extremely fast emulation you can feel the interconnection between a buttonpress and its distant outcome.

A good example would be the process of luck manipulation.

Normally, when shooting you can see the connection between pressing the B button and a bullet appearing on screen at the next frame. Applying this association (B = shot) to an in-game situation makes you think "the later I press B, the later the bullet will appear".

But with turbo-seeking you effectively skip all irrelevant steps of the movie (shooting, bullet flying, collision, enemy death, etc), so right after making the B buttonpress you immediately see which item was dropped by the enemy. This new association (B = possibility of a bonus item) makes you think about this in-game situation more like "the type of the item drop depends on when I press B".

This way turbo allows to automatically filter useless information that is produced by the game in the middle of the segment, and only consume the necessary data that appears at the end of the segment.

Here's how you do it:

- Switch on the "Turbo seek" checkbox. Switch off the "Follow cursor".
- Set a trial buttonpress of the B at the beginning of the segment where you can shoot the enemy.
- Watch how the bullet hits the enemy and leave the Playback cursor at the frame where the item is supposedly laying on the ground for a second or two. That will be the end of current segment.
- So we assume that the first try didn't bring you the needed item, but you know that killing the enemy a bit later may change the outcome. Move the B buttonpress forward one frame (just insert a blank frame before the old position of the buttonpress).
- This action makes Taseditor rewind the game back, and on FCEUX screen you can see the moment before shooting.
- Press the middle mouse button or Spacebar (the key assigned to the Restore Playback hotkey). The game events will replay like a flash, and you'll almost immediately see which item the enemy drops now.
- If the result is not satisfying, press Ctrl + Shift + Insert again, thus inserting another frame before the existing B buttonpress. The shot is delayed by one more frame. Restore Playback again to see the new result.
- Continue until you find the frame where shooting the enemy brings you the needed item. This way you can test a hundred of options within a minute, by simply pressing the hotkeys and only watching the FCEUX screen.

Pros of the method:

+ Instant navigation.

+ Possibility to skip useless scenes.

+ Detachment from the game flow increases the objectivity of analysis.

Cons of the method:

– Lack of the feedback inherent to normal game-player interaction.

– Emphasis on the mouse controls.

When the method is recommended to use: most of time. Combine this method with the next method in order to construct the full picture of the in-game possibilities.

The next method fixes the main disadvantage of this method.

Created with the Personal Edition of HelpNDoc: Easily create EBooks