<pclass="rvps10"><spanclass="rvts22">Эта глава посвящена центральному занятию в ТАСинге – созданию оптимального </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а на отдельно взятом участке мувика. Размер участка может быть любым, критерии и факторы оптимизации могут быть разными, но именно благодаря упорной ручной шлифовке </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а ТАСы выглядят так блестяще.</span></p>
<pclass="rvps10"><spanclass="rvts22">Процесс создания наилучшего </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а на оптимизируемом участке можно представить в виде зацикленного процесса исправления ошибок в предыдущих версиях </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а на этом участке. М</span><spanclass="rvts22">ы будем называть ошибкой любую нереализованную возможность приблизить ТАС к поставленной цели (к самому быстрому спидрану или самому красивому прохождению). </span><spanclass="rvts26">Большинство ошибок успешно исправляются многократным осмотром и модификацией участка.</span></p>
<pclass="rvps10"><spanclass="rvts26">1. </span><spanclass="rvts22">Осознание ошибки при ТАСинге происходит либо во время просмотра мувика в режиме Read-Only, либо прямо во время Записи/редактирования </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а.</span></p>
<tdstyle="border-color: #000000; border-style: solid; height: 15px;"><pclass="rvps10"><spanclass="rvts46">Примечание: </span><spanclass="rvts47">Зачастую ТАСер вместо обнаружения реальной ошибки только предполагает, что данный участок ещё можно улучшить. Всегда полезно усомниться в идеальности текущего результата и поэкспериментировать с Вводом – порой действительно обнаруживаются нереализованные возможности.</span></p>
<pclass="rvps10"><spanclass="rvts26">2. </span><spanclass="rvts22">Способы решения либо очевидны сразу, либо находятся экспериментальным путём. В редких случаях требуются расчёты и сравнения. В правильно выбранных участках все факторы оптимальности находятся внутри участка. Информация из предыдущих или последующих участков требуется редко.</span></p>
<tdstyle="border-color: #000000; border-style: solid; height: 15px;"><pclass="rvps10"><spanclass="rvts46">Примечание: </span><spanclass="rvts47">Иногда ТАСер исправляет одну ошибку, незаметно создавая другую. В этом случае процесс оптимизации может пойти в неправильном направлении. К счастью, в ТАСинге такие ситуации возникают редко, так как видеоигры гораздо нагляднее и примитивнее реальной жизни, поэтому игроку проще обнаружить все факторы и верный критерий оптимальности. Тасэдитор дополнительно облегчает этот процесс благодаря умной визуализации данных.</span></p>
<pclass="rvps10"><spanclass="rvts26">3. </span><spanclass="rvts22">Возможность навигации к месту ошибки является главным отличием ТАСинга от обычных спидранов. Простые игроки тоже могут осознать ошибку и понять способ её исправления, но только ТАСеры всегда возвращаются назад для её коррекции.</span></p>
<pclass="rvps10"><spanclass="rvts22">В традиционном методе ТАСинга навигация к месту ошибки может занимать довольно много времени (несколько секунд). В Тасэдиторе навигация к любому кадру участка занимает менее секунды.</span></p>
<tdstyle="border-color: #000000; border-style: solid; height: 15px;"><pclass="rvps10"><spanclass="rvts46">Примечание: </span><spanclass="rvts47">Иногда место совершения ошибки находится на более раннем участке, а обнаруживается только на текущем. В этом случае нужно выявить участок совершения ошибки и отредактировать его согласно полученной информации от текущего участка. В традиционном методе ТАСинга можно просматривать и редактировать только один и тот же участок. В Тасэдиторе можно редактировать один участок, а просматривать другой.</span></p>
<pclass="rvps10"><spanclass="rvts26">4. </span><spanclass="rvts22">Внесение изменений – это воплощение мыслей ТАСера в жизнь. Чем меньше задержка между мыслью и её реализацией, тем лучше.</span></p>
<pclass="rvps10"><spanclass="rvts22">В традиционном методе ТАСинга исправление ошибки длится дольше, так как помимо перезаписи ошибочных кадров требуется ещё перезаписать весь последующий </span><spanclass="rvts22">Ввод.</span><spanclass="rvts22">В Тасэдиторе это обычно не требуется.</span></p>
<tdstyle="border-color: #000000; border-style: solid; height: 15px;"><pclass="rvps10"><spanclass="rvts46">Примечание: </span><spanclass="rvts47">В действительности, любое изменение Ввода влечёт за собой изменения игрового процесса (поэтому-то Гринзона всегда усекается после кадра, где произошло изменение Ввода). Но в ряде случаев изменения игрового процесса носят незначительный характер, и старый Ввод по-прежнему синхронизируется с изменённым игровым процессом. В других случаях нужна небольшая модификация, но полная переработка Ввода почти никогда не требуется.</span></p>
<pclass="rvps10"><spanclass="rvts26">5. </span><spanclass="rvts22">Чтобы увидеть результат, достаточно возобновить просмотр мувика с начала участка или прямо с места исправления ошибки, не перепроверяя предшествующие участки, так как исправление ошибки влияет только на последующие события.</span></p>
<tdstyle="border-color: #000000; border-style: solid; height: 15px;"><pclass="rvps10"><spanclass="rvts46">Примечание: </span><spanclass="rvts47">Если вы записываете не спидран, а развлекательный мувик, то после исправления ошибки (например, перемещение спрайта по более плавной траектории) всё-таки желательно просмотреть предшествующие события, чтобы это исправление удачно смотрелось не только в контексте своего участка, но и в общей последовательности игровых событий.</span></p>
<pclass="rvps10"><spanclass="rvts22">Досмотреть участок требуется до конца, то есть до момента, когда в игре происходит целевое событие, и к нему можно однозначно применить критерий оптимальности. </span><spanclass="rvts22">После этого ошибка либо считается исправленной/несуществующей, либо требуется вернуться к </span><aclass="rvts28"href="TASingMethodology.html#loop">пункту 2</a><spanclass="rvts22">.</span></p>
<pclass="rvps10"><spanclass="rvts22">До Тасэдитора ошибки в мувике исправлялись с помощью создания и загрузки сэйвов. Если вы не знакомы с этим методом ТАСинга, вот его суть:</span></p>
<liclass="rvps10"><spanclass="rvts22">Игра всё время стоит на паузе. Пауза отпускается только при просмотре готовых участков.</span></li>
<liclass="rvps10"><spanclass="rvts22">ТАСер поочерёдно впечатывает </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> в кадры, на которые указывает Курсор Проигрывателя. Он видит результат совершённого </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а через 1 кадр после впечатывания (иногда через несколько кадров). Опытный ТАСер после каждого сложновоспроизводимого движения создаёт сэйв, чтобы потом иметь возможность вернуться назад и не переписывать весь участок с начала.</span></li>
<liclass="rvps10"><spanclass="rvts22">Чтобы исправить ошибку, ТАСер возвращается к месту ошибки и переписывает весь </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">, начиная с кадра, требующего изменения. Если на этом кадре был сделан сэйв, можно сразу загрузить этот сэйв в режиме Read+Write и начать исправление. Если же имеются только сэйвы перед этим кадром, существует два варианта навигации. Первый вариант: загрузить предшествующий сэйв в режиме Read-Only и покадрово досмотреть мувик до нужного кадра, затем вернуться в режим Записи, тем самым сохранив старый Ввод на промежутке между кадром сэйва и кадром ошибки. Второй вариант: не переключаясь из режима Записи, загрузить ближайший сэйв и по памяти повторить старый Ввод, дойдя до кадра ошибки. Второй вариант используется чаще, потому что после сэйва обычно располагается легковоспроизводимый Ввод (например, простое зажатие </span><spanclass="rvts32">R + B</span><spanclass="rvts22">). Опытный ТАСер на всякий случай сразу создаёт на кадре ошибки сэйв, чтобы в следующий раз быстро возвращаться прямо к кадру, не тратя время на навигацию. Такая предусмотрительность имеет смысл, потому что ошибка редко исправляется с первой попытки, обычно требуется многократно переписывать один и тот же кусочек </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а, начиная примерно с одного и того же кадра.</span></li>
<liclass="rvps10"><spanclass="rvts22">Неудобства метода наглядно проявляются, когда нужно увидеть отдалённый результат </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а (например, кнопка выбора была нажата сейчас, а шарик рулетки остановится только через несколько секунд). В таком случае ТАСер делает сэйв перед началом </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а, записывает решающий </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> и делает сэйв после него, а затем отпускает паузу и наспех проходит игру до появления результата. При удовлетворительном результате ТАСер загружает сэйв, идущий после решающего Ввода, и покадрово записывает оптимальное прохождение, уже будучи уверенным в успешном исходе. При неудовлетворительном результате он загружает начальный сэйв, меняет решающий </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> и повторяет все действия снова (создаёт сэйв на конец </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а, отключает паузу и ждёт результата). И так может продолжаться довольно долго, особенно если для просмотра отдалённого результата требуется не просто ждать, а ещё и вводить несущественные для результата нажатия.</span></li>
<liclass="rvps10"><spanclass="rvts22">Чтобы скопировать старый </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> (например, разгон Марио в начале каждого уровня), ТАСер либо зазубривает комбинацию кнопок и каждый раз вбивает её заново, либо копирует кнопочную последовательность с помощью нескольких прыжков (загрузок сэйвов) между местом-источником и местом-приёмником. Игра посылается то на сэйв предыдущего </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а (посмотреть нажатия в режиме Read-Only и запомнить парочку в уме), то на сэйв текущего места записи (переключиться на Read+Write и выложить запомненные нажатия). Если после каждого прыжка пододвигать тот и другой сэйв на пару кадров вперёд, навигация между источником и приёмником </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а будет не очень утомительной. Нуа когда требуется скопировать длинную последовательность нажатий, используется внешний редактор </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">ас функциями копипаста. Но переключение между разными программами сильно отвлекает ТАСера, поэтому зачастую проще скопировать </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> вручную.</span></li>
<liclass="rvps10"><spanclass="rvts22">Чтобы посмотреть весь записанный уровень, ТАСер отключает Запись и загружает сэйв, поставленный в начале уровня (обычно для этого используется редкий слот на клавише </span><spanclass="rvts27">F10</span><spanclass="rvts22">). Затем он отпускает паузу и смотрит прохождение, как обычный зритель. После окончания просмотра ТАСер возвращается точно к последнему записанному кадру, загрузив его сэйв (обычно это наиболее часто используемый слот, </span><spanclass="rvts27">F1</span><spanclass="rvts22">), и начинает записывать новый участок.</span></li>
<liclass="rvps10"><spanclass="rvts22">Таким образом, большинство слотов (из 10 имеющихся) используется для навигации между различными моментами игры. Используя термины Тасэдитора – для навигации Курсором Проигрывателя по мувику. Вособо напряжённых ситуациях десяти слотов может и не хватить для быстрой телепортации между всеми интересующими местами, но обычно хватает 5-7 штук, которыми опытный ТАСер жонглирует с поразительной скоростью.</span></li>
<liclass="rvps10"><spanclass="rvts22">Парочка оставшихся слотов обычно используется для хранения альтернативных стратегий прохождения. Когда ТАСер заранее не знает, какой из двух вариантов прохождения уровня окажется лучше, он сначала записывает первый вариант, делает сэйв на окончание уровня в отдельный слот, а затем записывает второй вариант, и делает сэйв на окончание уровня в соседний слот. Затем попеременно загружает то один, то другой слот (или поочерёдно просматривает оба варианта мувика) и, выбрав лучший из них, продолжает запись, начиная с конца выбранного варианта, а другой вариант выбрасывается.</span></li>
<pclass="rvps10"><spanclass="rvts22">Как видите, почти всё в традиционном методе ТАСинга делается благодаря сэйвам. </span><spanclass="rvts22">В Тасэдиторе же сэйвы (точнее, пришедшие на их место Закладки) не играют основную роль. Они здесь используются в основном для хранения альтернативных стратегий прохождения, а навигация Курсором Проигрывателя осуществляется либо с помощью перетаскивания, либо с помощью колеса мыши.</span></p>
<pclass="rvps10"><spanclass="rvts22">Более того, при редактировании Ввода Тасэдитор делает упор на навигацию без Курсора Проигрывателя. Чтобы исправить ошибку, не обязательно возвращать саму игру к кадру с ошибкой, можно пролистать Piano Roll к этому месту и изменить </span><spanclass="rvts22">Ввод</span><spanclass="rvts22"> мышкой.</span></p>
<pclass="rvps10"><spanclass="rvts22">Так как вместо Записи в Тасэдиторе эффективнее использовать редактирование, отпадает необходимость постоянно переключать режимы. Теперь эмулятор всё время находится в режиме Read-Only.</span></p>
<pclass="rvps10"><spanclass="rvts22">Игра по-прежнему всё время стоит на паузе, но ТАСер теперь видит результат своего </span><spanclass="rvts22">Ввод</span><spanclass="rvts22">а не всегда, а только когда пожелает. Поначалу это может показаться неудобством (отсутствует привычная отдача от вводимых нажатий), но на самом деле в этом скрывается большой плюс Тасэдитора – независимость пользователя от игры. Вместо механизма стандартной геймерской отдачи задействуются другие механизмы передачи информации. ТАСер всё равно получает все необходимые сведения о том, как игра воспринимает его</span><spanclass="rvts22">Ввод</span><spanclass="rvts22">, но информационный поток не вливается в него постоянно, а выдаётся по команде.</span></p>
<pclass="rvps10"><spanclass="rvts22">Нуа при необходимости можно получить в Тасэдиторе многократно усиленную "отдачу" – для этого нужно использовать третий метод ТАСинга.</span></p>
<liclass="rvps15"style="text-indent: 0px"><spanclass="rvts22">по команде пользователя: просмотр промежуточных или итоговых результатов </span><spanclass="rvts22">Ввода</span></li>
<liclass="rvps15"style="text-indent: 0px"><spanclass="rvts22">автоматический просмотр промежуточных или итоговых результатов </span><spanclass="rvts22">Ввода</span></li>
<pclass="rvps8"><spanclass="rvts18">Created with the Personal Edition of HelpNDoc: </span><aclass="rvts19"href="http://www.helpndoc.com/feature-tour">Easily create Web Help sites</a></p>