Согласование (грамматика)
- 1 year ago
- 0
- 0
Tool-assisted speedrun (сокращенно TAS ) — скоростное прохождение игры с использованием встроенных инструментов эмулятора , таких как сохранение и перезапись, замедление и покадровый ввод, просмотр содержимого памяти и анализ исполняемого кода . Идея TAS заключается в том, чтобы превзойти ограничения человеческой реакции и способностей игрока ради достижения теоретических пределов игры, то есть границ реальных возможностей игрового движка . Главной целью работы над TAS является создание развлекательных видеороликов, демонстрирующих полное прохождение выбранной игры.
Демо-мувик , записанный при помощи эмулятора, не является видеофайлом. Это лишь записанная во времени последовательность кнопочных нажатий ( input log ). Если она просматривается на тех же (либо совместимых) версиях эмулятора и РОМа , на которых была записана, ответная реакция игры на вводимые действия игрока будет всегда одной и той же, включая действия игрового ИИ и генерацию псевдослучайных чисел . Вследствие детерминизма игровых движков одинаковые по времени нажатия клавиш дают одинаковый результат.
Цель каждого TAS-ера (создателя TAS-прохождения) — найти оптимальную последовательность нажатий, приводящую к желаемому результату при минимуме временных затрат. Для этого используются следующие приёмы.
Скорость эмуляции может быть увеличена либо уменьшена. Замедление используется для более точного мониторинга игровых событий во время записи TAS. Таким образом игрок может тщательно продумывать каждое действие, абстрагируясь от скорости своей реакции.
Появление в современных эмуляторах функции frame advance , то есть покадрового продвижения игры, позволило заранее зажимать нужные клавиши для каждого отдельно взятого кадра. Запись TAS в таком режиме позволяет вводить в игру последовательности нажатий, выверенных с точностью до кадра (минимальной неделимой единицы игрового времени).
Перезапись неэффективно пройденных участков игры осуществляется на основе мгновенных сэйвов — возможности сохранять и загружать игру в любом месте. В итоговый демо-мувик попадает лишь последний вариант прохождения. Таким образом TAS-ер может многократно перепроходить любой участок игры, оптимизируя тактику или экспериментируя с игровым движком. Например, выпадающий из убитого врага приз в ряде игр зависит от того, в какой момент времени враг был убит. На этой особенности основана так называемая манипуляция удачей , то есть косвенное управление значениями ячеек памяти , ответственных за тот или иной элемент геймплея.
Просмотр памяти необходим для получения точной информации о различных элементах игры, таких как здоровье/статус персонажей, их координаты и скорость с точностью до дробной доли пикселя . Подобная информация значительно облегчает анализ и принятие игроком оптимальных решений.
Для наблюдения за этими значениями необходимо знать адреса соответствующих ячеек в памяти приставки . В каждой игре они различны. Интересующую ячейку можно найти посредством постепенного отсева. Далее эта ячейка добавляется в список постоянно просматриваемых игроком адресов.
Просмотр памяти в сочетании с замедлением и перезаписью позволяет с предельной точностью контролировать игрового персонажа, а значит, и ход событий всей игры.
Современные TAS-еры используют широкие возможности скриптового языка Lua , чтобы сделать процесс прохождения более простым и удобным. Известные ситуации применения Lua:
Счётчик кадров помогает отследить, сколько кадров длится то или иное действие, чтобы объективно сравнить разные игровые стратегии, оценивая их с точки зрения затраченного времени. Счётчик лага позволяет выявить закономерности нежелательного замедления игры и выработать оптимальную стратегию минимизации потерянного из-за лага времени.
Просмотр кнопочных нажатий позволяет каждому зрителю TAS-мувиков составить понятие о выполняемых манипуляциях и, зачастую, повторить трюки, не вдаваясь в их суть .
Дизассемблирование кода игры открывает доступ к скрытым закономерностям. Работа с встроенным в эмулятор отладчиком , как правило, требует специальных знаний, однако она позволяет разобрать логику игры, понять принципы работы отдельных механизмов (например, алгоритм генерации псевдослучайных чисел, чтобы манипулировать удачей, не прибегая к методу проб и ошибок ), обнаружить возможные баги и уязвимости игрового движка.
Дизассемблирование приставочных игр тесно связано со сферой ромхакинга .
Специально составленные программы-боты, играющие в игру вместо человека, могут использоваться лишь для коротких отрезков времени, так как количество всех возможных нажатий возрастает экспоненциально для каждого следующего кадра мувика. Кроме того, для создания действительно развлекательного видеоматериала необходимо непосредственное участие человека в записи, поэтому программирование ботов для TAS применяется лишь в частных случаях манипуляции.
Прохождения различаются по поставленным целям и используемым для их достижения приёмам. Вот некоторые из них :
Цель — дойти до финала максимально быстро. Основной тег большинства прохождений. В угоду времени игрок часто пропускает призы, так как подсчёт призовых очков занимает лишнее время, пропускает удары противников, уворачивание от которых займет несколько кадров, уничтожение же противников часто происходит самым неожиданным образом .
Несколько разных игр проходятся одновременно, то есть записывается такой input-файл, который работает в них всех. При перекодировании в видеофайл все прохождения помещают на один экран .
По ходу прохождения автор пропускает некоторые уровни с помощью общедоступных приёмов, таких как секретные переходы и бонус- телепорты . Иногда перепрыгнуть через несколько уровней удаётся с помощью ошибки в коде или дизайне карты. Наряду с такими пробегами на сайт обычно выкладывается прохождение игры без пропусков — No warps .
Когда количество энергии перестает зависеть от случая или ошибки, человек может управлять её уровнем в зависимости от поставленной задачи. Почти в любой игре есть участки, которые дольше проходятся, если беречь энергию. TAS-ер обменивает резерв энергии на время, тонко рассчитывая, в каком месте её можно сэкономить, а в каком с большей пользой потратить.
|
В разделе
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Дословно — манипуляция удачей. Достаточно сложная техника, подразумевающая понимание логики игры. Так как всякое значение всякой ячейки памяти строго детерминировано, есть возможность управлять тем, что обычный игрок посчитает случайным элементом. Само по себе управление этими элементами не так сложно, как нахождение фактора, влияющего на них.
Для ускорения прохождения TAS-еры нередко пользуются ошибками разработчиков ( дисбаланс геймплея, недогляд тестеров, баги программистов). Такие ошибки происходят из-за сильной ограниченности возможностей консоли.
На примере платформы NES , для того, чтобы разгрузить память, разработчики упрощают проверки, совершаемые игрой. Если персонаж начнёт идти в стену, стена будет его отталкивать от себя, не позволяя проникнуть внутрь. Однако, если он уже оказался в этой стене — она начнет выталкивать его в направлении, противоположном движению. А оказаться в ней можно, если не зайти в неё, а, например, запрыгнуть сидя .
Иногда такие мувики могут поразить зрителя феерией непонятных событий. [ источник не указан 1863 дня ] Некоторые спидраны буквально балансируют на грани зависания игры. [ источник не указан 1863 дня ] Данный класс прохождений подразумевает, что человек управляет глюком , рассчитывая, какое ненормальное поведение игры ему более выгодно: проверяются возможности поведения персонажа для каждого кадра и ответы игрового движка на это поведение .
В некоторых играх персонаж при умирании не отбрасывается в начало уровня. Кроме того, после смерти во многих играх герою даётся неуязвимость на короткое время .
|
В разделе
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Один человек контролирует сразу двоих персонажей (иногда и больше — до четырёх). Есть два способа реализации этой идеи, каждая по-своему сложна. Либо обеспечивать главным героям кооперацию , одновременно зажимая клавиши за обоих, либо использовать скрипт multitrack.lua, позволяющий прописать управление для каждого персонажа отдельно примерно на несколько секунд: один стоит на месте, другой движется, и скрипт «запоминает» input, потом игра отматывается назад и прописывается управление для стоявшего персонажа. Сложность в том, что пока второй игрок стоит, поведение врагов одно, а когда он тоже движется, уже другое; приходится вновь корректировать движения первого.
|
В разделе
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
Чтобы больше заинтересовать зрителей, автор фильма выбирает максимальную сложность. Такое применимо лишь в тех играх, которые становятся объективно сложнее в этом случае. Если же усложнение только увеличивает энергию врагов, либо уменьшает отведённое герою время — оно использоваться не будет.
Система/консоль | Эмуляторы |
---|---|
NES | FCEUX , BizHawk, FCE Ultra |
Super Nintendo | Snes9x, BizHawk, lsnes |
Virtual Boy | VBjin |
Nintendo 64 | BizHawk, mupen64 |
Game Boy , Game Boy Color , Game Boy Advance | BizHawk, VisualBoyAdvance |
Nintendo DS | DeSmuME |
Playstation | BizHawk, PSXjin, PCSX |
Master System | BizHawk |
Sega Mega Drive | BizHawk, Gens |
Saturn | BizHawk, Yabause |
Arcade , Neo Geo | Final Burn Alpha rerecording |
PC-Engine | BizHawk, PCЕjin, Mednafen |
DOS | JPC-rr |
MSX | OpenMSX |
Windows | Hourglass |
Linux | libTAS |
Для улучшения этой статьи
желательно
:
|