[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Старые игры. Как вытащить спрайты.
Стальной_ВластелинДата: Суббота, 03.01.2015, 20:31 | Сообщение # 1
Идеальный сплав из твоих боли и страданий...
Группа: Администраторы
Сообщений: 8
Награды: 2
Репутация: 1000
Статус: Offline
А у вас в детстве была игровая приставка вроде Dendy, Sega или Super Nintendo? Нынешние флэш-игры мне очень сильно напоминают это восьми и 16-битное счастье. “Счастье” – в хорошем смысле. Игры для этих приставок делались отличные, а уж в плане всяких спецэффектов – так это и вовсе сокровищница.

Народные умельцы давным-давно изобрели способ запускать эти игрушки на компе. А раз так – то, наверное, можно и графику из них вытащить, чтобы рассмотреть получше? Многое уже вытащено и выложено на Sprite Database, The Spriters Resource и других подобных сайтах. Но как-то мне понадобилось подсмотреть одну анимацию, которой там не оказалось. Как распотрошить игру самостоятельно?

Оказывается, довольно просто.

Начнем с игр (ROMов) приставки Super Nintendo. Эмуляторов для нее много, причем большинство поддерживают функции регулировки скорости и отключения слоев. Пример – ZSNES. Клавишами 1, 2, 3, 4 на клавиатуре отключаются слои фона, 5 – сами спрайты (персонажи), 6 включает обратно все вместе. Config – Speed вызывает окошко, где ползунком внизу можно замедлить игру (так удобнее будет ловить нужные моменты). F1 ставит игру на паузу и вызывает меню, где Incr Frame Only прокручивает анимацию до следующего кадра (передвигаем подсветку стрелочками и жмем Enter), а Snapshot/Incr frm делает то же, но одновременно сохраняет скрин в формате BMP. Изменить на PNG можно в том же меню, подсветив последнюю строчку Image Format:BMP и нажав Enter. То есть, последовательность действий примерно такая: я знаю, что, если герой выстрелит, предмет взорвется с красивым “бумом”, который мне и нужен. Стреляю, тут же жму F1 и дальше проматываю покадрово с помощью Incr Frame Only, делая скриншоты Snapshot/Incr frm, когда мне нужно.

С моей любимой Sega ситуация не столь безоблачна. Простой Gens не умеет отключать слои и замедлять игру. Существует вариация под названием Gens K-Mod:

Gens_KMod 2.12a 0.1
Gens_KMod 2.12a 0.2
Gens_KMod 2.12a 0.3
Gens_KMod 2.12a 0.4
Gens_KMod 2.12a 0.5
Gens_KMod 2.12a 0.6
Gens_KMod 2.12a 0.7
source code
Gens_KMod 2.12a 0.7b
Gens_KMod 2.12a 0.7c
Розовый фон (случается, что в играх после отключения слоев остается не синий “задник”, а черный, который может сливаться с деталями спрайтов. Данная модификация делает розовый фон. Включается дополнительной галочкой в окошке управления слоями.)

и Gens+, но в обоих есть только отключение слоев. В Gens K-Mod это выглядит так: CPU – Debug – Layers. Убираем галочки – убираются слои. Можно еще заглянуть в Graphic и отметить VSync. Там же можно поменять Frame Skip, но так получится только ускорить, а не замедлить игру.

Одиночный скриншот делается клавишами Shift+Backspace. Сохраняется в формате BMP. Но помимо этого есть еще один способ. Graphic – Screen shot each frame (выключается повторным щелчком по этой строке). Этот режим сам нащелкает скрины и сложит их в папку с эмулятором, а на экране покажет цифры – количество сделанных скриншотов. Лучше так “записывать” небольшие кусочки – скринов получится много. А если растягивали экран эмулятора – не помешает предварительно проверить одиночным скриншотом, не будет ли какой странности. Если на скрине все скособочилось или пропали все цвета, кроме серого – значит, эмулятору не понравилось соотношение сторон экрана.

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


 
Стальной_ВластелинДата: Суббота, 03.01.2015, 20:36 | Сообщение # 2
Идеальный сплав из твоих боли и страданий...
Группа: Администраторы
Сообщений: 8
Награды: 2
Репутация: 1000
Статус: Offline
Вопрос №1:
Цитата
А как на Gens, когда заходишь в Screen shot each frame сделать так, чтобы он много делал скрин-шотов? Просто у меня он делает только 2...


Ответ №1:
Цитата
Вы всё правильно нажали. Нажав "Screen shot each frame", эмулятор должен был снимать скрины до тех пор, пока повторно не нажмёте на "Screen shot each frame". У меня эмулятор делает скрины именно так. Возможно, если я не ошибаюсь, надо перейти "Graphic" → "Frame Skip" и выбрать "Auto" (возможно, у вас там стоит галочка на 2). Если не помогло, то я тогда не знаю, как вам помочь.


Вопрос №2:
Цитата
Как изменить черный фон на розовый когда убираешь все галочки в layers???


Ответ №2:
Цитата
В "Layers" галочки должны стоять у "Show Sprites" и "Colour key". "Colour key" появляется в "Layers" после установки мода на розовый фон.


 
Белый_ВластелинДата: Среда, 23.12.2015, 21:33 | Сообщение # 3
Я заставлю тебя страдать...
Группа: Администраторы
Сообщений: 8
Награды: 2
Репутация: 1010
Статус: Offline
С Денди всё намного проще. Существует эмулятор под названием Fceux, с помощью которого можно вырезать спрайты из NES игр. В эмулятор встроена замечательная функция - ускорение или замедление игры. С помощью этой функции можно замедлить игру до такого предела, что кадры нужного чара проигрываются раз в 10-20 секунд, что обеспечивает возможность вырезать их не торопясь. А с помощью кнопки F12 можно создавать скриншоты игры, на которых сохраняются оригинальные пропорции и качество чара. Все скриншоты сохраняются в формате PNG, что обеспечивает сохранение качества при обработке скриншота и вырезания кадров.
 
  • Страница 1 из 1
  • 1
Поиск: