# 4.3. Semiautomatic TASing

Semiautomatic TASing

This method further develops the ideas of the nonlinear TASing method.

In many cases TASer needs to see the result of the Input modification immediately. Ideally, he should realize all the consequences of his decision right at the moment of making the decision. But in reality he has to spend precious time on inputting the decision and navigating with the Playback cursor to the end of the segment.

In these cases you can leave the Playback navigation to Taseditor and just focus on editing. Taseditor will immediately react on any Input modification and display the new result.by bringing the Playback cursor to the end of the current segment.

When you feel the influence of every click, you build very high level of interconnection between TASer and the game. In such close interaction both TASer controls the game and the game urges TASer's actions into right direction. Of course, such high level of interdependency is not always useful, because it narrows your spectrum of thoughts, not allowing to look down on the game and apply a logic from different games and other fields of life.

However, when the current segment is simple and all optimality factors are already known (and you only need to find the perfect combination of them), it's useful to abstract from everything else and devote full attention to going over the possible options. This way you can test a lot of approaches before you become bored with the current segment.

The Recording mode should be off. The "Auto-restore last position" checkbox should be on. 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.
2. Detect the end of the segment and leave the Playback cursor there.
3. Suppose there's a mistake in the segment, weigh known factors of optimality and figure out the way to fix the mistake.
4. The mouse cursor navigation to any frame of the current segment is practically instant.
5. Edit the segment with the mouse. After every Input modification the Playback cursor will automatically replay the segment and stop at the frame that was considered to be the end of the segment. If necessary, you can shift the end of the segment by moving the Playback cursor manually (e.g. using the mouse wheel). The steps 4 and 5 are constantly alternating until you consider the editing complete, according to the optimality criterion.
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 series of approaches, return to step 3, 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. But when returning to the segment modification you have to return the Playback cursor to the frame of the target event.
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.

The main difference between this and previous method is that here the Playback cursor is generally located at the end of the current segment, and not at the beginning. Every time the Greenzone truncates, the Playback cursor seeks to the end of the segment, or rather to the frame where the segment end was before you modified the Input. If the Input modification also changed the frame of the target event, you can additionally move the light-blue cursor by mouse wheel if needed. But often there's no need for precise positioning, because you may only need to know the sequence of events occurring in the segment due to the Input modification.

The replay of the current segment is automatically launched after every interim step of the Input modifications, even when you haven't finished the thought yet and are not ready to compare the current result to the result of the previous approach. Fortunately, when TASer is carried away by the editing process, he doesn't look at FCEUX screen and only clicks the Piano Roll, until his idea is implemented in the form of a full-fledged button combination. And when the Input is starting to become interesting, TASer pays attention to the emulator screen or the Memory Watch window.

For example, when you need to create a jump over a pit, you first draw a long row of the R button presses, and you don't care that at the same time the FCEUX screen displays how Mario runs and falls into the pit. You just draw some A buttonpresses, then look at the emulator window and erase or draw additional A buttonpresses, thus changing the beginning and the duration of the jump while watching the trajectory of Mario sprite.

So, the process of polishing the Input in this method is a simultaneous editing and watching the segment. TASer gets in close informational contact with the game and soon starts to think synchronously with its responses. The game starts to help you filter and accept decisions. As a result, you may lose impartiality of your mind and stick to obvious decisions encouraged by the game. That's why you shouldn't use this method all the time, it's recommended to alternate it with the previous one.

Like with the simple nonlinear method, you can change the speed of emulation and get different variations of the semiautomatic method:

1. editing and watching the changes in real time
2. editing and watching the changes in slow motion
3. editing and instantly seeing the final result (turbo)

Turbo-seeking creates an association between two distant events (the beginning and the end of the segment). Here the association is even more efficient, because there's even less intermediaries – the seeking starts before you even release the mouse button when drawing the Input. So you see the distant result almost at the same time you change the decisive Input, even if the game normally only shows the result in a several seconds.

A good example would be the process of searching for the first possible frame of pressing the Start button. Some games actually allow to press the button before there's even any graphics on screen. Besides, after the Start button is activated, games often meditate for some time, not giving you any information if the button worked or not. Only after a second or two you can see the changes in the scenery, thus learning the buttonpress was successful.

In the traditional method of TASing you would need to spend 5-10 minutes on examination of approaches (searching for the very first frame), but the semiautomatic method allows to go over all the approaches much faster:

- Switch on the "Auto-restore last position" and "Turbo seek" checkboxes. Switch off the "Follow cursor" checkbox.

- Set a trial Start button press at the frame where it definitely works, e.g. at the frame 100.

- Watch the game up to the frame where you can already tell by the picture that the Start was successful (e.g. the screen changed to "World 1-1" text). For example, it's the frame 150. Leave the Playback cursor at this frame – this will be the end of the segment.
- Now remove the trial buttonpress (the FCEUX window will flash and the "World 1-1" will disappear, leaving only the title screen, since there's no more Start button press).
- Set the Start buttonpress to the beginning of the segment, which is the place where you know it's too early for the buttonpress to be registered. For example, set it to the first frame of the movie. The image in the FCEUX window will flash but then still show the title screen, because the Start didn't work.
- Hold Ctrl + Shift by one hand and begin pressing Insert key once per a second or so (that really depends on your computer performance). After every Ctrl + Shift + Insert combination the Start buttonpress moves one frame forward, and the FCEUX window shows you if the buttonpress changed the state of the game at frame 150 or not.
- Until the Start doesn't reach the moment when the game is ready to accept the Input, the FCEUX window will show you the title screen. But when another press of Ctrl + Shift + Insert moves the Start to a suitable frame, the emulator will display the "World 1-1" screen.
- This way you've found the very first frame to press the Start button. Most likely the frame number will be much less than 100.

In the same way you can search for an optimal duration of holding the A button, trying to land at certain point. Also consider using this method for quick luck manipulation in many games. The automatic turbo-seeking works best when you deal with a single factor of optimality and need to quickly test a hundred of similar approaches.

In general, the semiautomatic method induces you to think less and experiment more. Sure, many videogames allow this way of solving tasks, but TASing requires more from you, so try not to take a fancy to the comfort of this method.

Pros of the method:

+ Instant navigation and high speed of the working process incites to conduct more tests.

+ Constant feedback allows to adapt to the game while editing the Input, adjust your decisions and discard incorrect approaches prematurely.

+ Possibility to skip useless scenes.

Cons of the method:

– The insistent game feedback provokes TASer to discard some illogical but potentially advantageous approaches.

– Emphasis on the mouse controls.

When the method is recommended to use: when you need to polish the segment already knowing all of its optimality factors. E.g. for quick resyncing of the old Input this method is better than previous. Also it may be better for making an initial playthrough of a segment.

Now that you know the main principles of working in Taseditor, you can begin TASing your game of interest. Practice is the best teacher, so you'll only learn all intricacies of the activity by engaging in a real development of your own TAS.

After several weeks of practical TASing it's recommended to reread the 3rd and 4th chapters of this Guide, in order to understand the text on a deeper level.

In the next chapter: tweaking the program.

PRACTICE: Thoroughly polish the Input in the segments of your test movie. If the initial dividing appears to be wrong – just redo it on the fly. Use only the 2nd and the 3rd method of TASing, because traditional method is obsolete. Also try using turbo when suitable. Estimated time: 30-60 minutes.

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