Идеи

Parent Previous Next

Идеи



Тасэдитор объединяет множество экспериментальных идей в единую систему. Многие из этих идей возникли очень давно (см. темы на форуме в духе "инструмент мечты" и т.д.), но понадобилось немалое время, чтобы реализовать их в рамках непротиворечивой системы.

Основообразующей идеей Тасэдитора является интерфейс Piano Roll, позволяющий взаимодействовать с мувиком в интуитивно понятной форме. Первые упоминания о необходимости создания инструмента для ТАСинга на основе Piano Roll звучали ещё в 2005 году, возможно, даже ранее. Прототип под названием TASEdit был создан в 2008 году. Окончательное видение Тасэдитора сформировалось в сентябре 2011 года и дорабатывалось по ходу разработки вплоть до лета 2012. Помимо реализованных в это время идей, было придумано множество перспективных, но второстепенных или сложно реализуемых идей, которые было решено отложить на будущее.


Реализовано в 1.0

Запланировано на 2.0

Piano Roll

Выделение

Маркеры

Горячие Правки

Гринзона

Проигрыватель

Зелёная стрелка

Автовосстановление прошлой позиции

Мультитрекинг-рекордер

Lua-автоматизация

Закладки и ответвления

Всплывающие окна

Журнал Истории

Счётчик перезаписей

Система клавиш-модификаторов

Шаблоны

Пересечение промежутков

Компактное сохранение

Автосохранение

Журнал Вывода

Миникарта

Виртуальный Джойстик

Усовершенствование Выделения

Гибкая настройка колонок

Теплокарта перезаписей

Прочие мелочи

Поддержка платформ, отличных от NES




Реализованные идеи


Piano Roll


Основа Тасэдитора, вокруг этой идеи и были сформированы все остальные.



Выделение


Как и в любом другом редакторе,  в Тасэдиторе Выделение служит для применения операций к множеству кадров одновременно. Кроме того, здесь Выделение служит в качестве указателя (курсора) на место последнего редактирования Ввода.



Маркеры


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



Горячие Правки


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



Гринзона


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



Проигрыватель


Проигрыватель – это собрание всех функций по просмотру Вывода (состояния игры).



Зелёная стрелка


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

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

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


  1. эмуляция хотя бы одного кадра (подразумевается, что пользователь запустил просмотр участка)
  2. следующее отступление Курсора Проигрывателя из-за усечения Гринзоны


Автоматическое восстановление прошлой позиции


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

Этот процесс можно автоматизировать, автоматически запуская добегание к зелёной стрелке после каждого усечения Гринзоны. Для этого служит галочка "Auto-restore last position".



Мультитрекинг-рекордер


Рекордер – это собрание всех функций по редактированию Ввода на кадре под Курсором Проигрывателя. Рекордер предоставляет ТАСеру второй способ редактирования Ввода – Запись.



Lua-автоматизация


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



Закладки и ответвления


Закладки являются специализированной альтернативой Маркерам. А ответвления служат для хранения нескольких мувиков в одном проекте. Для упрощения создания и навигации по ответвлениям они привязаны к Закладкам, по аналогии с традиционными сохранениями.



Всплывающие окна


Служат для показа контекстозависимой информации, которая нужна только в определённые моменты времени.



Журнал Истории


Журналирование всех существенных изменений проекта служит, главным образом, для отката этих изменений, а также для визуального отслеживания этой истории.



Счётчик перезаписей


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



Система клавиш-модификаторов


Для повышения интуитивности клавиатурного управления в Тасэдиторе используется строгое разделение функций клавиш модификаторов:



Шаблоны


Заготовленные последовательности состояний для одной кнопки. Подробнее см. Продвинутые возможности.



Пересечение промежутков


Дополнительный способ быстрой навигации по содержимому Piano Roll, облегчающий визуальное прослеживание длинных последовательностей для отдельно взятой кнопки или Маркеров. Также он позволяет переходить от одной Закладки к другой.



Компактное сохранение


Файл проекта Тасэдитора в первую очередь предназначен для сохранения точного снимка рабочего процесса. Чтобы использовать тот же самый формат для обмена файлами, необходимо предоставить пользователю возможность избирательного сохранения рабочих данных в файл. При открытии такого fm3-файла отсутствующие данные будут заменяться данными по умолчанию.

Подробнее см. Продвинутые возможности и Формат FM3.


Автосохранение


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

Подробнее см. Настройка программы.




Запланированные идеи



Журнал Вывода


Следующий этап эволюции инструмента Memory Watch – просмотр состояния игровых данных в динамике, а не только в статике. Аналогично Журналу лага, эта фича позволит легче и точнее анализировать принципы изменения игрового Вывода.



Миникарта


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



Виртуальный Джойстик


Альтернативный способ ввода инпута. Очень похож на изменение инпута щелчками по Заголовку Piano Roll, однако более нагляден и интуитивен.



Усовершенствование Выделения


Архитектура TAS Editor 1.0 не рассчитана на выделение столбцов Piano Roll, однако в некоторых ситуациях это может быть полезно при ТАСинге. Например, для очистки Ввода первого джойстика без очистки Ввода второго джойстика. Либо для перемещения Ввода одной кнопки без смещения остальных внопок.

Кроме того, необходимо усовершенствовать процесс рисования Выделения, чтобы пользователь мог видеть цвет строк Piano Roll под полупрозрачным Выделением.



Гибкая настройка колонок


В TAS Editor 1.0 столбцы Piano Roll имеют фиксированную ширину. Количество и порядок следования столбцов также фиксированы. Для команд приставки (сброс, вставка диска и т.д.) отдельные столбцы не отводятся, так как эти команды используются крайне редко. Однако при портировании Тасэдитора на другие эмуляторы количество столбцов будет возрастать (например, у PSX нужно отображать столбцы для 14 кнопок), необходимо предоставить пользователю возможность настраивать их.



Теплокарта перезаписей


Хранит и отображает статистику "изменений после просмотра" (перезаписей). Может быть полезна для выявления сложных мест в мувике.



Прочие мелочи



Поддержка платформ, отличных от NES


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







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