Автор Тема: Создание special screens для nes  (Прочитано 3042 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Bull-Dog

  • Пользователь
  • Сообщений: 6
    • Просмотр профиля
Создание special screens для nes
« : 27 Июль 2018, 15:06:09 »
А научите кто нибудь, как сделать свою заставку в формате nes. Допустим, нарисовал я в фотошопе картинку 256*240 bmp, закидываю в nes screen tool и происходит чёрти что. во первых- остаётся всего 4 цвета. Но как же тогда делались сочные заставки вроде этой?

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
Создание special screens для nes
« Ответ #1 : 27 Июль 2018, 17:07:08 »
Для разных частей изображения использовалась разная палитра.
Насколько я помню nes screen tool вычисляет и использует только одну палитру при импорте картинки.
А лого кодемастерс вообще сделано из спрайтов со своей отдельной палитрой.

Оффлайн UnderCrops

  • Пользователь
  • Сообщений: 326
  • Пол: Мужской
    • Просмотр профиля
Создание special screens для nes
« Ответ #2 : 28 Июль 2018, 11:15:55 »
А научите кто нибудь, как сделать свою заставку в формате nes. Допустим, нарисовал я в фотошопе картинку 256*240 bmp, закидываю в nes screen tool и происходит чёрти что. во первых- остаётся всего 4 цвета. Но как же тогда делались сочные заставки вроде этой?
А как вы закидываете свой рисунок в ROM?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
Создание special screens для nes
« Ответ #3 : 28 Июль 2018, 15:16:35 »
А лого кодемастерс вообще сделано из спрайтов со своей отдельной палитрой.
Там ещё press start и CAMERICA спрайты со своими палитрами (смотрел в PPU Viewer).
NES Screen Tool определяет больше одной палитры при импорте (см. скрин), но программа слишком глупая чтобы правильно разбивать на палитры (даже если стереть спрайты) и почему-то не использует вторую таблицу тайлов.

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

Оффлайн Bull-Dog

  • Пользователь
  • Сообщений: 6
    • Просмотр профиля
Создание special screens для nes
« Ответ #4 : 30 Июль 2018, 10:03:25 »
Sharpnull, вот вопрос как раз в том, какие нужны программы и откуда вы всё это знаете, где научиться? можете скинуть какие нибудь ссылки на туториалы, как праивльно делать заставки под нес?

Добавлено позже:
UnderCrops, пробовал import - BMP file as a nametable. А ещё пробовал через NESImageConverter2 сделать из картинки NES, а потом Import-Nes file. Но тут вопрос скорее правильнее задать так: в случае, если я хочу нарисовать заставку для NES не хуже, чем у Робин Гуда, в каких программах и как это сделать? может, есть где нибудь туториалы, как это сделать? буду признателен.
« Последнее редактирование: 30 Июль 2018, 10:14:37 от Bull-Dog »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 4999
    • Просмотр профиля
Создание special screens для nes
« Ответ #5 : 30 Июль 2018, 16:05:19 »
Bull-Dog, сам я знаю только базовые понятия о тайлах, палитрах и никогда под NES ничего не делал.
Немного разъясним ситуацию. В задаче "сделать красивую заставку для NES" есть две подзадачи: (1) сделать заставку и (2) чтобы она была красивой. Для (2) нужен опыт в пиксель арте, есть куча материалов по этому, в том числе книг. Для (1) нужно знать как разрабатывать под NES и её архитектуру, об этом написано на http://wiki.nesdev.com/.
Коротко об ограничениях: экран 256x240 состоит из тайлов 8x8 пикселей, каждый такой тайл хранится в pattern tables - две таблицы по 256 тайлов (в Робин Гуде используются обе, но в разных частях экрана сверху и снизу, за счёт чего это происходит не знаю, наверно переключается по середине), поэтому мы ограничены в уникальных тайлах. В каком месте отображать какой тайл хранится в nametables. Палитра задаётся не для одного тайла, а для 2x2 тайла. Цветов в каждой палитре 3 + фон/прозрачность, а палитр для фона всего 4. Плюс к этому можно отображать спрайты со своими палитрами.
В серии уроков по NES на C, есть простой готовый пример с отображением фона, нужно из NES Screen Tool сохранить CHR в lesson7.chr, nametable and attributes как RLE packed as C header в BG/1.h и палитру изменить в DEFINE.c.

Оффлайн Bull-Dog

  • Пользователь
  • Сообщений: 6
    • Просмотр профиля
Создание special screens для nes
« Ответ #6 : 30 Июль 2018, 17:12:38 »
Sharpnull, спасибо за развёрнутый ответ. буду изучать.