# 4. Методология ТАСинга

Методология ТАСинга

Эта глава посвящена центральному занятию в ТАСинге – созданию оптимального Ввода на отдельно взятом участке мувика. Именно благодаря упорной ручной шлифовке Ввода ТАСы выглядят так блестяще. Размер участка может быть любым, критерии и факторы оптимальности могут быть разными, но метод в сущности один и тот же: перепробовать всевозможные подходы и выбрать самый лучший. Вопрос только в том, как сделать это с минимальными затратами времени и усилий.

- Геймеры ошибочно считают, что для создания ТАСа достаточно просто один раз пройти игру, пользуясь сэйвами только в тех случаях, когда совершаются фатальные ошибки, приводящие к невозможности пройти текущий участок (например, смерть персонажа).
- ТАСеры-новички понимают, что для красивого ТАСа нужно исправлять все замеченные ошибки (например, такие мелочи, как спотыкание о порог). Они тоже проходят каждый участок лишь один раз, но затрачивают на прохождение больше времени, чем простые игроки, так как сохраняются и загружают сэйвы гораздо чаще. При ТАСинге простых игр этого может быть достаточно.
- Опытные ТАСеры знают, что для совершенного ТАСа не достаточно исправления всех замеченных ошибок. Нужно также исправлять незамеченные ошибки. Учитывать неизвестные факторы. Подходить к задаче с неочевидной стороны. Для всего этого они проходят один и тот же участок несколько раз, исправляя все замеченные ошибки и пытаясь как-то не совершить незаметные.

Нелегко убедить себя тратить время на альтернативные способы прохождения участка, когда он уже пройден, и в нём уже исправлены все явные ошибки. После достижения текущей внутриигровой цели хочется сразу ставить перед собой следующую цель в рамках игры. Однако следует помнить, что цель ТАСера сильно отличается от целей игрока. Поэтому нужно абстрагироваться от правил игры и не отступать от участка, пока не выполнена реальная цель, а не просто мелкая цель игрока.

Это вообще самое сложное – изобретать новые подходы к решению одной и той же задачи. Главным образом на ум ТАСеру приходит тот же самый подход, который использовал бы в этом месте игры обычный игрок. Поэтому в большинстве случаев вместо революционного пути используется эволюционный. ТАСер производит постепенную модификацию имеющегося базового подхода, то исправляя его ошибки, то проводя эксперименты. В ходе таких вдумчивых модификаций ТАСер пополняет свою базу знаний об игре, и в результате получается Ввод, до которого невозможно было догадаться сразу.

Конечно, иногда приходит озарение, и некая революционная идея даёт потрясающие улучшения, превосходящие все выгоды от полировки. Ради таких эмоциональных моментов многие и любят ТАСинг. Только это не отменяет необходимость отшлифовывать новый революционный подход теми же самыми методами, чтобы сделать его ещё ближе к идеалу.

Вместо чтения описываемых здесь техник вы можете сразу приступить к реальному ТАСингу, чтобы по завершении нескольких проектов выработать собственную методику. Но, вероятнее всего, через год ТАСинга вы придёте к описываемой здесь схеме работы.

Итак, процесс создания наилучшего Ввода на оптимизируемом участке можно условно представить в виде зацикленного процесса исправления ошибок в предыдущих версиях Ввода на этом участке. Ошибкой мы называем любое отличие текущего Ввода от неизвестного идеального Ввода. В такой постановке вопроса хорошо то, что к совершенному Вводу можно приближаться постепенно, совершая небольшие шаги, которые реально разработать, даже не будучи гением. Большинство ошибок успешно исправляются многократным осмотром и модификацией. То есть, даже когда у вас нет никаких оригинальных идей, вы можете достигать успехов за счёт упорства. Успехи мотивируют продолжать работу, и это подготавливает почву для прорывных идей.

Чтобы исправить ошибку во Вводе мувика, нужно:

1. Осознать факт ошибки.
2. Предположить способ решения.
3. Осуществить навигацию к месту исправления.
4. Внести изменения.
5. Оценить результат и подтвердить факт исправления.

1. Осознание ошибки происходит либо во время просмотра мувика в режиме Read-Only, либо прямо во время Записи/редактирования Ввода.

Примечание: Зачастую вместо обнаружения осязаемой ошибки ТАСер только предполагает, что данный участок ещё можно улучшить. Всегда полезно усомниться в идеальности текущего результата и поэкспериментировать с Вводом – порой действительно обнаруживаются нереализованные возможности.

2. Способы решения либо очевидны сразу, либо находятся экспериментальным путём. В редких случаях требуются расчёты и сравнения. В правильно выбранных участках все ключевые факторы оптимальности находятся внутри участка. Информация из предыдущих или последующих участков требуется редко.

Примечание: Иногда, исправляя одну ошибку, мы незаметно создаём другую. В этом случае процесс оптимизации мог бы пойти в неправильном направлении, но, к счастью, в ТАСинге такие ситуации возникают крайне редко, потому что видеоигры гораздо нагляднее и линейнее реальной жизни, поэтому игрок может обнаружить все факторы и верный критерий оптимальности. Тасэдитор дополнительно облегчает этот процесс благодаря визуализации данных.

3. Возможность навигации к месту ошибки является главным отличием ТАСинга от обычных спидранов. Простые игроки могут осознать ошибку, но только ТАСеры всегда возвращаются назад для её коррекции.

В традиционном методе ТАСинга навигация может занимать заметное количество времени и усилий. Тасэдитор же делает навигацию молниеносной..

Примечание: Иногда место совершения ошибки находится на более раннем участке, а обнаруживается только на текущем. В этом случае нужно выявить участок совершения ошибки и отредактировать его согласно полученной информации от проигрываемого участка. И в этом случае скорость навигации ещё более критична.

4. Внесение изменений во Ввод – это воплощение мыслей ТАСера в жизнь. Чем меньше задержка между мыслью и её реализацией, тем лучше.

В традиционном методе ТАСинга модификация Ввода длится дольше, так как помимо перезаписи ошибочных кадров требуется ещё перезаписать соседние кадры. В Тасэдиторе это обычно не требуется.

Примечание: Так как любое изменение Ввода влечёт за собой изменения игрового процесса, иногда и в Тасэдиторе может потребоваться пересинхронизация Ввода, следующего за местом исправления ошибки.

5. Чтобы увидеть результат, достаточно возобновить просмотр мувика с начала участка или прямо с кадра исправления ошибки, не перепроверяя предшествующие участки, так как исправление ошибки влияет только на последующие события.

Примечание: Хотя, если вы записываете не спидран, а развлекательный мувик, после исправления ошибки (например, перемещение спрайта по более плавной траектории) всё-таки желательно просмотреть предшествующие события, чтобы это исправление удачно смотрелось не только в контексте своего участка, но и в общей последовательности игровых событий.

Досмотреть участок требуется до конца, то есть до момента, когда в игре происходит целевое событие, и к нему можно надёжно применить критерий оптимальности. Потому что может оказаться, что это исправление только поначалу кажется выгодным, но в итоге только ухудшает участок.

После оценки результата ошибка либо считается исправленной/несуществующей, либо требуется вернуться к шагу 2 и переобдумать ситуацию.

До Тасэдитора все ошибки (как явные, так и предполагаемые) исправлялись с помощью создания и загрузки сэйвов. Если вы не знакомы с традиционным методом ТАСинга, вот его основные принципы:

- Эмуляция игры почти всё время стоит на паузе. Пауза отпускается только при просмотре готовых участков.
- ТАСер последовательно впечатывает Ввод в кадры, на которые указывает Курсор Проигрывателя. Он видит результат совершённого Ввода на следующий кадр после впечатывания (а иногда через несколько кадров). Опытный ТАСер создаёт новый сэйв после любого сложно воспроизводимого действия, чтобы иметь возможность быстро возвращаться назад и не переигрывать весь участок с начала.
- Чтобы исправить ошибку, ТАСер возвращается к предполагаемому месту ошибки и переписывает весь Ввод, начиная с кадра, требующего изменения. Если на этом кадре был сделан сэйв, можно сразу загрузить этот сэйв в режиме Read+Write и начать впечатывать кнопки. Если же имеются только сэйвы на некотором расстоянии перед этим кадром, существует два варианта. Вариант 1: загрузить ближайший сэйв в режиме Read-Only и досмотреть мувик до нужного кадра, затем переключиться обратно в режим Записи и начать исправление, тем самым не затронув Ввод на промежутке между кадром сэйва и кадром ошибки. Вариант 2: сразу, не переключаясь из режима Записи, загрузить ближайший сэйв и по памяти повторить старый Ввод, дойдя до кадра ошибки, а затем начать исправление. Второй способ используется чаще, потому что после ближайшего сэйва обычно располагается легко воспроизводимый Ввод (например, простое зажатие R + B). Также, по прибытии на предполагаемый кадр ошибки, опытный ТАСер машинально создаёт сэйв (на всякий случай!), чтобы в следующий раз быстро возвращаться прямо к кадру, не тратя время на навигацию. Такая предусмотрительность имеет смысл, потому что ошибки редко исправляются с первой попытки, обычно требуется многократно переписывать один и тот же кусочек Ввода, начиная примерно с одного кадра.
- Неудобства этого традиционного метода наглядно проявляются, когда нужно увидеть отдалённый результат Ввода (например, кнопка выбора была нажата сейчас, а шарик рулетки остановится только через несколько секунд). В таком случае ТАСер делает сэйв перед началом Ввода, записывает решающий Ввод и делает сэйв после него, а затем отпускает паузу и наспех (неоптимально) проходит игру до появления результата. При удовлетворительном результате ТАСер загружает сэйв, идущий после решающего Ввода, и покадрово записывает оптимальное прохождение, уже будучи уверенным в успешном исходе. А при неудовлетворительном результате он загружает начальный сэйв, меняет решающий Ввод и повторяет все действия снова (создаёт сэйв после Ввода и наспех проходит до результата). И так может продолжаться довольно долго.
- Чтобы скопировать старый Ввод (например, хитроумный разгон Марио в начале каждого уровня), ТАСер либо зазубривает комбинацию кнопок, либо копирует её по частям с помощью нескольких прыжков между местом-источником и местом-приёмником. Игра посылается то на сэйв предыдущего Ввода (посмотреть нажатия в режиме Read-Only и запомнить парочку в уме), то на сэйв текущего места записи (переключиться на Read+Write и выложить запомненные нажатия). Если после каждого прыжка пододвигать тот и другой сэйв на пару кадров вперёд, навигация между источником и приёмником Ввода будет не очень утомительной. И всё же, когда требуется скопировать длинную последовательность нажатий, используется внешний редактор Ввода с функциями копипаста. Но переключение между разными программами сильно отвлекает ТАСера, поэтому зачастую проще скопировать Ввод вручную.
- Чтобы осмотреть текущий прогресс, ТАСер сохраняется, отключает Запись и загружает сэйв, оставленный в начале уровня (обычно для этого служит редко используемый слот на клавише F10). Затем он отпускает паузу и смотрит мувик, словно посторонний зритель. Для продолжения записи он включает режим Read+Write и возвращается точно к последнему записанному кадру, загрузив последний сэйв (обычно это наиболее часто используемый слот, F1). А если во время просмотра ТАСер принял решение изменить старый Ввод, он делает сэйв на этом месте, переключается на Read+Write и загружает только что созданный сэйв. Предварительно следует убедиться, что последнее актуальное состояние мувика сохранено не только в F1, но и в другой слот, который вы не будете трогать во время экспериментов со старым Вводом. Это нужно для того, чтобы в случае провала эксперимента можно было восстановить старый мувик, даже если слот F1 уже затёрт в ходе экспериментов.
- Таким образом, большинство из имеющихся 10 слотов используется для навигации между различными моментами игры. Используя термины Тасэдитора – для навигации Курсором Проигрывателя по мувику. Даже на больших участках десяти слотов должно с лихвой хватить для быстрой телепортации между всеми интересующими местами. Обычно хватает 3-5 слотов, которыми опытный ТАСер жонглирует с поразительной скоростью.
- Парочка других слотов обычно используется для хранения альтернативных стратегий прохождения. Когда ТАСер заранее не знает, какой подход к прохождению большого участка (например, целого уровня игры) окажется лучше, он сначала отшлифовывает первый подход и сохраняет его в отдельный слот (например, F8), а затем отшлифовывает второй подход и делает сэйв в соседний слот (например, F7). Затем попеременно загружает то один, то другой слот (или даже просматривает оба ответвления мувика поочерёдно) и выбирает лучший из них, пересохраняет его в слот F1 и продолжает работу в этом ответвлении.

Как видите, почти всё в традиционном методе ТАСинга делается благодаря сэйвам (Закладкам). В Тасэдиторе они частично заменены Гринзоной и Журналом Истории, но и здесь они по-прежнему играют немаловажную роль, в основном для хранения альтернативных ответвлений. Навигацию Курсором Проигрывателя теперь быстрее осуществлять либо перетаскиванием, либо с помощью колеса мыши. Более того, при редактировании Ввода теперь вообще не требуется возвращать Курсор Проигрывателя к кадру исправления, достаточно проскроллировать Piano Roll к этому месту и изменить Ввод мышкой.

Так как вместо Записи в Тасэдиторе эффективнее использовать редактирование, отпадает необходимость постоянно переключать режимы. Теперь эмулятор всё время находится в режиме Read-Only.

Игра по-прежнему всё время стоит на паузе, но ТАСер теперь видит результат своего Ввода не всегда, а только когда пожелает. Поначалу это может показаться неудобством (отсутствует привычная отдача от совершаемых нажатий), но на самом деле в этом скрывается большой плюс – более высокий уровень независимости игрока от игры. Вместо механизма стандартной "вовлечённости в игровой процесс" задействуются другие механизмы передачи информации. Так что вы всё равно получите все необходимые сведения о том, как игра воспринимает ваши изменения Ввода, просто этот информационный поток не будет вливаться в вас постоянно, а будет доставляться по команде.

Ну а при необходимости можно получить в Тасэдиторе многократно усиленную отдачу. Для этого нужно использовать третий метод ТАСинга.

Рассмотрим преимущества и недостатки всех трёх методов по порядку.

Три метода ТАСинга в Тасэдиторе:

- Традиционный метод

- навигация по Вводу Курсором Проигрывателя через прыжки по Закладкам
- запись последовательностей Ввода с клавиатуры/джойстика
- автоматический просмотр промежуточных результатов Ввода

- Нелинейный метод

- навигация по Вводу мышкой
- редактирование Ввода мышкой/клавиатурой/джойстиком
- по команде пользователя: просмотр промежуточных или итоговых результатов Ввода

- Полуавтоматический метод

- навигация по Вводу мышкой
- редактирование Ввода мышкой/клавиатурой/джойстиком
- автоматический просмотр промежуточных или итоговых результатов Ввода

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites