[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-549065259", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&puid32=&fmt=1&pr=" } } ]
{ "author_name": "Андрей Верещагин", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442","\u0440\u0435\u0442\u0440\u043e"], "comments": 3, "likes": 35, "favorites": 11, "is_advertisement": false, "section_name": "gamedev", "id": "11716", "is_wide": "" }
Андрей Верещагин
1 259
Gamedev

Ремастер роликов в Full Throttle

Трудности восстановления оригинальных FMV.

Поделиться

В избранное

В избранном

Тревор Дием (Trevor Diem) из студии Shiny Shoe в блоге на сайте Gamasutra рассказал, как проходила подготовка к ремастерингу роликов в квесте Full Throttle для переиздания 2017 года.

Full Throttle — квест, изданный LucasArts в апреле 1995 года. В дополнение к стандартному для жанра визуальному исполнению (спрайты персонажей расположены поверх статичных задников), в игре использовались видеовставки (FMV) как для роликов, так и для интерактивных сцен. Эта технология позволяла расширить рамки сторителлинга, не нагружая процессор. Кроме того, сжатые FMV-ролики не занимают много «места», и могут быть помещены на диски объёмом около 650 мегабайт.

Оригинальная версия Full Throttle использовала технологию, разработанную Винсом Ли из LucasArts. Она называлась INSANE — Interactive Streaming Animation Engine. Впервые эта технология использовалась в Star Wars: Rebel Assault. Её также применяли в следующих тайтлах:

  • Star Wars: Rebel Assault (Ноябрь 1993 года);
  • Full Throttle (Апрель 1995 года);

  • Star Wars: Rebel Assault II (Ноябрь 1995 года);

  • The Dig (Ноябрь 1995 года);

  • Outlaws (Март 1997 года).

Технология позволяет переводить большие объёмы данных в меньший формат, который можно поместить с другими необходимыми для игры данными на CD-ROM. Сжатые FMV транслировались напрямую с диска. В Full Throttle разрешение роликов было 320х200, а фреймрейт — 10 кадров в секунду. Аудио добавлялось к видео в реальном времени.

Видео-файлы в игре находятся в формате .SAN. Для его создания использовали инструмент SMUSHFT.EXE (что значит SMUSH для Full Throttle). Файлы с расширением .SAN, в отличие от других, могут содержать в себе несколько аудио и видео дорожек, которые будут проигрываться в зависимости от действий игрока.

Вот так выглядит проект оригинального FMV в SMUSHFT.EXE. Зелёные линии — это кадры видео, а горчичные — это звуковые файлы. Серые же содержат текстовую информацию, субтитры.

Основная задача при ремастере классических игр от LucasArt — это сохранить целостность оригинала, улучшив техническую часть. Разработчики хотели, чтобы переиздание Full Throttle чувствовалось и игралось так же, как в девяностые, но поддерживало новые устройства ввода, имело более насыщенный звук и картинку.

Сперва, пришлось перенести оригинальную игру на новое «железо». Затем, когда она заработала на современных устройствах, разработчики кадр за кадром переделывали её, стремясь сохранить дух оригинала. Это значит, что разработчики адаптировали под новые компьютеры все технологии, использованные при создании Full Throttle, включая движок INSANE.

Ролики из оригинальной игры разработчики воспринимали как «чертежи» новых синематиков. Результат совпадает с изначальными FMV вплоть до кадра, при этом соотношение сторон стало больше, а также улучшился звук.

Извлечение

Сначала необходимо было извлечь оригинальные видео и аудио из .SAN-файлов и сделать на их основе тот самый «чертёж». У разработчиков уже был заготовлен код для декодирования этих файлов, поэтому они написали на C# специальный инструмент, который работал бы вместе с оригинальным декодером. Инструмент под названием SanExtract отделял видео от аудио и помещал их в те директории, из которых создателям ремастера было бы удобно с ними работать.

Разработчикам надо было узнать, как создавались оригинальные кадры, чтобы воссоздать похожий производственный процесс при работе над ремастером, ведь некоторые сцены содержали в себе несколько разных графических стилей.

Например, здесь присутствует как и отрисованные вручную элементы, так и 3D-модель. Мотоцикл Бэна, тень от него и лимузин — это всё части эпизода, сделанного в 3D. Позолоченная моделька Купидона была нарисована вручную. Конечный результат представляет собой комбинацию 3D и 2D-анимации на фоне статичного задника с облаками.

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

Чтобы ремастер оставался эстетически аутентичным, разработчики не могли просто взять все 16 тысяч кадров из игры и перерисовать их заново. Создателям нужно было переделать твёрдые поверхности мотоциклов и автомобилей так же, как это было в оригинале. Более того, им потребовалось найти оригинальные 3D-модели и двумерные анимации, а затем переделать каждую их них. Но файлы с оригинальными ассетами были переименованы и потеряны. Поэтому разработчиком пришлось искать другой способ.

Архивы

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

Они создали своего рода список всех файлов, с расширениями .ANM, .CEL, .FLC, .FLI, .GIF, .MAX, .NUT, .OBJ, .PRO. Именно они использовались в FMV. Для систематизации данных разработчики написали специальный скрипт на Python, который создавал XML-карту всех файлов и их расширений, при этом он отслеживал и копии документов. В результате получилась директория с файлами, в которой легко было найти нужные. Вот отрывок итогового xml-файла.

Можно увидеть, что в архивах были обнаружены два разных файла с названием b_cm1

Сортировка зависимостей

Какого-то удобного способа найти все зависимости (dependencies), использованные в финальных вариантах FMV, не было. Разработчики могли лишь предполагать, но в конце концов решили сделать специальный инструмент, позволяющей просматривать и отсортировывать нужные ассеты. Его назвали SanWrangler. В него загружаются оригинальные последовательности кадров, чтобы потом можно было увидеть все части, из которых была собрана та или иная сцена.

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

SanWrangler позволяет искать среди файлов с расширениями:

  • .ANM — файлы анимации, созданные с помощью собственного ПО LucasArts. В них содержатся нарисованные вручную анимации, которые затем собирались вместе, если это требовалось;
  • .FLC/.FLI — файлы Autodesk Animator и Autodesk Animator Pro;

  • .NUT — содержат серии линейных кадров, использующихся в SMUSHFT.EXE и позднее сжатых в .SAN-файле;

  • .MAX — файлы оригинальных мешей, созданные в 3D Studio 2.0.

Теперь, когда подготовительный процесс был закончен, разработчики смогли приступить непосредственно к ремастеру роликов в Full Throttle. С этого момента рабочий процесс разделился на три части: ремастер созданных вручную анимаций, 3D-моделей и звука.

#опыт #ретро

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Узнавайте первым важные новости

Подписаться