Репродукция Dendy игрушек 3709 В конец треда | Веб
Дров мужики. Я вот чё хотел собсна. Загорелся недавно идейкой одной. Клепануть какую-нибудь простенькую бродилку на подобии Марио или Контры, ну в общем в Dendy стиле. Желательно платформер (понимаете да). Идея даже не в том, чтобы что-то новое изобрести, а хотя-бы тупо воссоздать того же Марио, но на современных программных лыжах. Короче вынул тайлы из оригинального Mario.nes. подравнял в Фотошопе немного. Создал форму в Delphi, наклепал объектов, tplayer, tvrag, tgrib, twall, t....под все типы тайлов контейнера замутил. Сделал так что Марио бегает и прыгает (без фона). Короче, хеллоу ворлд заложен. Но потом меня осенила мысль. А что если вообще впринципе что-то замутить такое в точно таком же стиле Nes игр. Т.е не пытаться тюнинговать что-либо, а придерживаться именно NES'овской стилистики и правил.
Но самае первая бросающаяся в глаза особенность Nes игр, это даже не кодинг, не логика и не звуковое сопровождение, а цветовая гамма! и вообще цветовая палитра игр.
Об этом я нашёл небольшую статейку на хабре. Там один энтузиаст ретрогеймер, написал о том какие именно это цвета (пикрил около 60 цветов всего-то) , а также описал ещё одну особенность разработки, которая обязывает художников подберать цвета определенным образом! Т.е короче говоря, движок Nes - весьма несовершенен, архаичен и своеобразен, и главный его косячёк как раз в том, что он не может единовременно выводить на экран все цвета. Более того, для движущегося фона, используются одни цвета, для менее подвижных объектов другие цвета, а для персонажей и вовсе третья группа оттенков.
Понятно дело, что на современном железе и софте, эти все ограничения и правила - это смех. Но все же ! хотелось бы не изменять этой традиции.
Собственно вопрос следующий: где подробнее ознакомиться с этими графическими ограничениями? Т.е интересуют технические подробности.
Ну со звуковом сопровождением пока повременю.
Предугадываю ваши комментарии по поводу того что бы

> скачать какой-нибудь тайловый редактор для денди игр и не париться..


Можно и скачать конечно, но хочется свой редактор замутить. На крайняк лучше paint переделать под эти нужды.
Всё должно соответствовать стандартам nes. Даже разрешение стандартное - 240 на 260 точек.

Есть вообще единомышленники тут?
2 3713
>>709 (OP)
Ебать ты геймдевелопер. Ну да ладно, покормлю. Тайловый редактор - гугли YY-Chr или Nes Screen Tool. Ознакомиться с ограничениями можешь здесь: http://dendy.migera.ru/nes/g02.html

И да, не 240х260, а 256х240/224 в зависимости от региона.
3 3715
>>713
Ну тайловый редактор запилил свой (пик1). Официальными тайловыми редакторами нет смысла пользоваться в моём случае, так как планирую делать игрушки для платформы windows. Т.е это не .nes файл будет, а exe'шка, хранящая в себе и графику и код. Поэтому мне на выходе не нужна графа в форматах .chr и пр. Графику в своём редакторе сохраняю в свой примитивный текстовый файл. Тут кстати ещё одна проблемка - сохранённый тайл 8х8 в файле весит 36 байт вопреки 16 байтам "заводским". Сейчас её активно пытаюсь устранить.
Я впринципе могу делать тайлы хоть из всех 17 миллионов цветов. Это возможно, так как игру собираюсь не через эмулятор запускать, а через свою программу. НО фишка в том, что стилистику nes'овскую хотелось бы все же сохранить. Т.е я собираюсь искусственные трудности ограничения создать для разработки игры, чтобы в результате продукт выглядел максимально правдоподобно.
Основной вопрос конечно - это вопрос цветовой палитры. А точнее цветовых палитр. Это вводит меня в заблуждение. Поскольку разные источники пишут о палитрах Nes, coвершенно по разному. В одной из статей я вычитал следующее (пик 2) я заскринил и подчеркнул.
И как эти палитры различить здесь? (Пик3).
В связи с этим, я в своём редакторе допустил возможность раскраски всеми 56 цветами. Но однако сделал так, что редактор каждый раз подсчитывает сколько уникальных цветов уже использованно в тайле (show max colors). Разумеется структуру файла, я предусмотрел таким образом, что сохраняется не буквально цвет как он есть, а лишь индекс этого цвета (грубо говоря 01-56)
Т.е правило согласно логики (пик4).
Далее...
4 3716
Далее.
Незнаю конечно, может моё представление о 4хгруппах палитр неверно, а это наверняка так. Но всё же смею предположить что может это так как на рисунке (2). Следовательно на рисунке (1) , тайлов неверно сделан. Ну или как-то неправильно. Хрен знает.
Или же палитры разделены следующим образом. (Пик3) цвета 00-0F т.е верхняя строка - это одна палитра , ну скажем для фона. А остальные цвета, стр 2,3,4 это другая палитра. Для подвижных объектов может быть. Т.е один тайловый банк , к примеру с фоном, создан первой палитрой, а другой второй палитрой. Ну и т.д по аналогии.
image.png150 Кб, 1072x537
5 3717
В графике денди нет ничего "магического" что ты пытаешься найти. 56 возможных цветов, из которых только 13 (по три уникальных цвета в каждой из 4 субпалитр + 1 общий цвет) можно использовать на фон и 13 на спрайты.
Что тебе с битами непонятно я тоже не понимаю, тебе ж на твоём же скрине написано: 2 бита на пиксель. Пикселей в тайле = 8х8 = 64. 64 пикселя * 2 бита на пиксель = 128 бит или 16 байт.

Открой любую игру в эмуляторе fceux затем выбери debug - ppu viewer. Первые 4 субпалитры которые ты увидишь, будут фоновые. Как видишь, полы, стены, потолки нарисованы субпалитрой 2, интерфейс субпалитрой 1 а задний план субпалитрой 3.

Если так и не понял, кури что такое атрибуты. Грубо говоря, экран денди поделен на квадраты из 16х16 пикселей (или 4 тайлов). Каждый из этих квадратов может быть раскрашен только одной из четырёх субпалитр. 4 субпалитры ты можешь наблюдать на своём втором пике.
Если всё ещё не понял, то всё это подробно описано здесь: https://wiki.nesdev.com/w/index.php/PPU_attribute_tables
6 3718
>>717

> тебе ж на твоём же скрине написано: 2 бита на пиксель. Пикселей в тайле = 8х8 = 64. 64 пикселя * 2 бита на пиксель = 128 бит или 16 байт.


Да то понятно. Моя ошибка в то, что я рассматривал пиксель как 56 возможных цветов. А не как всего 4. Поэтому у меня изначально в голове не укладывалось как можно уложиться в 2 бита на пиксель. Но таки упихнул всё-таки все 56 цветов, правда не в 16 байт, а в 26 сила есть ума не надо.

> Открой любую игру в эмуляторе fceux затем выбери debug - ppu viewer.


Спасибо за совет. Скачал. Действительно хороший эмулятор и годный отладчик.

> Первые 4 субпалитры которые ты увидишь, будут фоновые.


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

> Грубо говоря, экран денди поделен на квадраты из 16х16 пикселей (или 4 тайлов).


Т.е можно и 30х32 , и 16х16 использовать блоки?

Блин спасибо за подсказки бро. Всё равно понимаю конечно что хуйню какую-то спрашиваю и вопросы ламерские. Просто всего нелелю как колупаю эту nes платформу.
image.png48 Кб, 823x640
7 3719
>>718

>Так это получается, что эти субпалитры везде, во всех играх используются как фоновые что-ли? Чи я хуйню несу уже?


>Уже мозги кипят от одного слова денди.



Всё нормально, это денди. Да, во всех играх на фон используются эти 4 субпалитры. И ещё 4 на спрайтовый слой, но пока лучше до конца врубись как работает фон.
Грубо говоря здесь фон - это лист в клеточку, размером 32х30 клеток. У тебя есть тайлсет - набор из 256 тайлов, которые ты можешь исользовать чтобы сформировать этот фон. Это попросту выражаясь знакогенератор. Кстати, учти что 32х30 = 960, а тайлов у тебя всего 256, т.е. уникальный фуллскрин здесь невозможен (возможен на самом деле но трюками).
Погнали далее. На этом листе бумаги сгруппируй каждый квадрат из 4 клеток в один квадрат. Это поле, на которое действует атрибут - номер субпалитры. Прикрепил пикчу, на которой видно применение всех 4 субпалитр на простой фон.
image.png251 Кб, 1214x772
8 3720
>>718
И более наглядный пример - Супермарио. Как видишь, кирпичный блок (2х2 тайла или 16х16 пикселей) имеет одну субпалитру, зеленая растительность вторую, облака третью, и т.д.
9 3721
>>718

>я рассматривал пиксель как 56 возможных цветов. А не как всего 4


Ну вот здесь и разгадка, графика фона у денди по сути 4 цветная, но есть возможность использовать атрибут - комбинацию из 4 цветов, взятых из той большой палитры. 0..1..2..3 этого хватает ровно на 4 значения.
10 3723
Как успехи?
11 3724
>>723
Ой. Не спрашивай.
Неделю пробездельничал. (Видимо это сказывается тот камень преткновения с дендивскими "законами" использования цветовых палитр).
А вчера как-то внезапно вдохновение пришло и я начал редактор уровней пилить. Редактор уровней - примитивный. Основан на двумерных массивах. Они же и экспортятся в обычный текстовый файл типа карта тайлов. Правда один важный момент я пока что! вычеркнул из общей хронологии. Это банки тайлов. Поскольку именно банки как таковые пока ещё не реализовал как механизм вообще. Есть конечно идеи довольно четкие, как это сделать, но пока не сделал. Загружаю и обрабатываю каждый тайл как отдельный элементик.
Рендеринг тоже разумеется на массивах планирую делать. Но есть ещё один вопрос открытый!
Это вопрос о том, какую основу выбрать для приложения? Тупо форму и на ней уже клепать окно в котором будет всё прорисоваться ? Но это уже +360 КБ к exe'шнику (проще) А пишу я всё на Delphi. Или же второй вариант, это тупо консоль-консольная, с каким-нибудь примитивным выводом графики. Это минимализм во первых, 16K всего. A с подключенным Opengl - 18K (просто хотелось бы хоть немного ближе укладываться в nes'овские рамки винрарности. В те самые 250-500К. Пока я и сам сомневаюсь конечно что это возможно.
Всё-таки я НЕ планирую какой-нибудь универсальный эмулятор для своих недоигрушек, которые будут в каком-нибудь *.game формате, необходимо чтобы всё было уже в ехе файле. Чтоьы просто - Щёлкнул и побежал.
Bопрос о цветовых палитрах для меня ещё открыт.
Решил пока не акцентировать на этом внимание. В принципе, чисто технически, я могу загрузить тайл хоть с миллионами цветов. Технически это возможно. Ограничений никаких нет, что со стороны компа, что со стороны водюхи. Цветовую гамму необходимо соблюдать лишь из соображений стилистики и сохранения ретро-стиля. Мой редактор тайлов создаёт и экспортирует тайлы с любым количеством цветов (из 56 разумеется). Хотя я конечно заставил его подсчитывать и прописывать в статистике, текущее количество уже использованных цветов. Но если там больше 4х, то он просто подчеркивает число красным и продолжает считать дальше.
Поэтому вопрос о правилах "раскрашивания" можно поднять уже на стадии разработки и продакш... так сказать. А до этого момента как известно - как до Китая раком.
На счёт продакшна я конечно загнул. Я реалист и понимаю что из всего этого набора софтятины, вряд-ли что-то годное получится. Но зато по фану.
11 3724
>>723
Ой. Не спрашивай.
Неделю пробездельничал. (Видимо это сказывается тот камень преткновения с дендивскими "законами" использования цветовых палитр).
А вчера как-то внезапно вдохновение пришло и я начал редактор уровней пилить. Редактор уровней - примитивный. Основан на двумерных массивах. Они же и экспортятся в обычный текстовый файл типа карта тайлов. Правда один важный момент я пока что! вычеркнул из общей хронологии. Это банки тайлов. Поскольку именно банки как таковые пока ещё не реализовал как механизм вообще. Есть конечно идеи довольно четкие, как это сделать, но пока не сделал. Загружаю и обрабатываю каждый тайл как отдельный элементик.
Рендеринг тоже разумеется на массивах планирую делать. Но есть ещё один вопрос открытый!
Это вопрос о том, какую основу выбрать для приложения? Тупо форму и на ней уже клепать окно в котором будет всё прорисоваться ? Но это уже +360 КБ к exe'шнику (проще) А пишу я всё на Delphi. Или же второй вариант, это тупо консоль-консольная, с каким-нибудь примитивным выводом графики. Это минимализм во первых, 16K всего. A с подключенным Opengl - 18K (просто хотелось бы хоть немного ближе укладываться в nes'овские рамки винрарности. В те самые 250-500К. Пока я и сам сомневаюсь конечно что это возможно.
Всё-таки я НЕ планирую какой-нибудь универсальный эмулятор для своих недоигрушек, которые будут в каком-нибудь *.game формате, необходимо чтобы всё было уже в ехе файле. Чтоьы просто - Щёлкнул и побежал.
Bопрос о цветовых палитрах для меня ещё открыт.
Решил пока не акцентировать на этом внимание. В принципе, чисто технически, я могу загрузить тайл хоть с миллионами цветов. Технически это возможно. Ограничений никаких нет, что со стороны компа, что со стороны водюхи. Цветовую гамму необходимо соблюдать лишь из соображений стилистики и сохранения ретро-стиля. Мой редактор тайлов создаёт и экспортирует тайлы с любым количеством цветов (из 56 разумеется). Хотя я конечно заставил его подсчитывать и прописывать в статистике, текущее количество уже использованных цветов. Но если там больше 4х, то он просто подчеркивает число красным и продолжает считать дальше.
Поэтому вопрос о правилах "раскрашивания" можно поднять уже на стадии разработки и продакш... так сказать. А до этого момента как известно - как до Китая раком.
На счёт продакшна я конечно загнул. Я реалист и понимаю что из всего этого набора софтятины, вряд-ли что-то годное получится. Но зато по фану.
12 3725
Зачем ты изобретаешь велосипед? Есть Tiled. Редактор уровней, который тебе нужен. Выгружает и в csv в том числе.
Что до сих пор не понятно по палитрам?
13 3829
>>709 (OP)
ОП, ты хуитой занимаешься.
Лучше бы в оригинальных NES-ромах переделал графон под современное HD-разрешение, с полным сохранением геймплея и механики.
Ну и до кучи можно зашить в один исполняемый файл и ром, и эмуль сразу, и какой-то лаунчер, скомпилить это под все основные платформы - Win, Linux, Android.
Сразу поясню нахуя - хотя бы для того чтобы можно было геймпад индивидуально настроить под каждую игру, ну и банально для удобства юзера, чтобы он запускал ярлыком сразу игру, а не эмуль в котором надо еще открыть саму игру.
14 3840
Цветовая гамма говоришь. Ну-ну. Удачнаго тебе рисования. Только не прибегай ко мне в слезах и не жалуйся что у тебя ничего не получается когда тебе нужно будет нарисовать землянику, а у тебя в палитре имеются только цвета свёклы.
Хуже Фамикома пожалуй есть только Спектрум, а дальше только графика текстом. Хотя нет, про Атари 2600 забыл! Но тут уже без матерной брани не смогу.
Родина им дала звёздочки. Носи звёздочки. Игровые автоматы, Амигу, Atari ST...
15 3861
>>840
Какой эпичный долбоеб
Обновить тред
« /8/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее