Как бы вы хранили сложные спрайты NES, например, из оригинальной Final Fantasy? - PullRequest
9 голосов
/ 20 июля 2010

Я знаю, что у NES были 4-цветные спрайты ( с 1, обычно прозрачным Редактировать: в соответствии с zneak, 1 цвет всегда прозрачный) Как же тогда в оригинальной Final Fantasy было так много спрайтов с 4 цветами + прозрачность? ( Пример листа спрайта - особенно обратите внимание на большие рядом с ним.)

Я понимаю, что вы можете наложить спрайты, чтобы получить дополнительные цвета (например: наложение мегамана дает ему 6 цветов: тело = 3 + транс, лицо = 3 + транс). Странно, что все эти FF ровно 4 цвета + прозрачный. Если FF использовал аналогичные слои, почему они остановились бы на 4 + 1 вместо того, чтобы использовать преимущество 6 + 1?

Есть ли другой способ отображения спрайтов, который дает вам дополнительный цвет?

Также интересным является тот факт, что большие спрайты имеют размер 18х26. Спрайты имеют размер 8x8 (и я думаю, что где-то читал, что они иногда 8x16), но и 18, и 26 [фактор 8] + 2. Очень странно.

Ответы [ 5 ]

3 голосов
/ 23 июля 2010

Я нашел ответ. Я наконец сломался и загрузил ROM и извлек растровые изображения с NAPIT. (кстати: смотреть на извлеченные растровые изображения ПЗУ очень тяжело на ваших глазах!)

Я сопоставил несколько растровых изображений и конечных результатов здесь .

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

Вот видео на YouTube с множеством хороших примеров. Когда вы находитесь на синем фоне экрана (@ 0:27), контуры и лицо черного мага - это синий фон (то есть: черный контур отсутствует, он прозрачный). В бою фон черный. @ 1:46 наложено заклинание, заставляющее фон вспыхивать серым. Все черные области, включая очертания и черные глаза, светятся серым. Вокруг этой части видео также накладываются другие заклинания с разными цветами вспышек. Результаты одинаковы.

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

3 голосов
/ 20 июля 2010

Насколько я знаю, 1 не обычно прозрачно: оно всегда есть.

Как вы заметили, спрайты имеют размер 8x8 или 8x16 (это зависит от бита 6 регистра управления PPU, отображенного на адрес памяти 0x2000 в адресном пространстве ЦП). Размеры символов, не кратные 8, просто означают, что в одном или нескольких составляющих спрайтах есть потерянные пиксели.

Относительно цветов, позволю себе отличаться: последний спрайт внизу с поднятым мечом имеет следующие 8 цветов: Final Fantasy sprite 8 цветов: черный, коричневый, бежевый, голубой, темно-синий, темно-бирюзовый, бирюзовый, голубой http://img844.imageshack.us/img844/2334/spritecolors.png

Я считаю, что это скорее художественный выбор, потому что каждый блок 8х8 ограничен 3 непрозрачными цветами; может быть, было бы более логично использовать меньше цветов.

1 голос
/ 20 июля 2010

Я только что бросил быстрый взгляд на лист спрайтов, но мне кажется, что спрайты с более чем 3 цветами + 1 прозрачный либо имеют оружие, либо используют 3 цвета + черный контур. Кроме того, если бы вы могли показать этот спрайт лист с сеткой, разделяющей плитки ...

1 голос
/ 20 июля 2010

Возможно, вы захотите проверить Разработка игр StackExchange вместо здесь.

0 голосов
/ 20 июля 2010

Может быть, дополнительные 2 цвета были зарезервированы для оружия.

...