It is currently Mon Oct 23, 2017 12:12 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
 Post subject: Re: NESEmDev - Russian
PostPosted: Tue Sep 17, 2013 9:47 am 
Offline

Joined: Sat Jan 23, 2010 11:41 pm
Posts: 1161
Если графика тайлов в игре лежит в ПЗУ графики, то её формат жёстко определён самим железом и потому одинаков во всех играх. То есть изменить графику тайлов в этом случае легко, есть множество соответствующих редакторов. Однако, место хранения и формат палитр, метатайлов и карт уровня не определён ничем и в каждой игре разный, такой, какой посчитали нужным использовать разработчики. В этом случае могут помочь редакторы ресурсов конкретных игр, типа упомянутого выше CAD Editor. Но такие редакторы есть далеко не для всех игр.


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Tue Sep 17, 2013 1:46 pm 
Offline

Joined: Sat Aug 03, 2013 3:08 pm
Posts: 36
Location: Russia
08--n7r6-7984 wrote:
Еще интересен вот какой момент - как это дело можно потестировать? Возможен ли такой вариант - взять похожую игру и поменять в ней графику? Например Jackal - схожая механика, размер метаспрайтов 16х24, протагонист в такой габарит вполне влезет. Насколько мне известно есть специальные патчеры, которые используют для переводов игр, заодно и получу наглядный пример подготовки графики для игры.

Ну, во-первых 'метаспрайты' любого(разного) размера могут быть. Это только фон строится из мета-тайлов одинакового размера (16x16 или 32x32).

А насчет Jackal, добавив к тому что Shiru написал, там ещё и графика то как-раз не в ПЗУ(chr-rom) лежит, а просто в роме (prg-rom) - там где код и данные и т.д.; а значит наверняка ещё и сжата. Так что менять её удобно не будет.

_________________
My profile on RHDN.


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Fri Sep 20, 2013 2:23 am 
Offline
User avatar

Joined: Sat Sep 14, 2013 7:19 am
Posts: 10
Shiru wrote:
Если графика тайлов в игре лежит в ПЗУ графики, то её формат жёстко определён самим железом и потому одинаков во всех играх. То есть изменить графику тайлов в этом случае легко, есть множество соответствующих редакторов. Однако, место хранения и формат палитр, метатайлов и карт уровня не определён ничем и в каждой игре разный, такой, какой посчитали нужным использовать разработчики. В этом случае могут помочь редакторы ресурсов конкретных игр, типа упомянутого выше CAD Editor. Но такие редакторы есть далеко не для всех игр.


Понятно. Ладно, значит соберу все временно в гейммейкер, а там что-нибудь придумаю.

Quote:
В этом случае могут помочь редакторы ресурсов конкретных игр, типа упомянутого выше CAD Editor. Но такие редакторы есть далеко не для всех игр.

Интересный редактор, многое прояснилось. Что касается метаспрайтов, то нашел в топике на emu-land редактор Capcom Sprite Assembler, надеюсь он поможет понять, как готовить спрайты.

Ti_ wrote:
Ну, во-первых 'метаспрайты' любого(разного) размера могут быть. Это только фон строится из мета-тайлов одинакового размера (16x16 или 32x32).


Разного, но не больше 8x8 (или 8x16)? И могут ли они использовать разные цвета?

Quote:
А насчет Jackal, добавив к тому что Shiru написал, там ещё и графика то как-раз не в ПЗУ(chr-rom) лежит, а просто в роме (prg-rom) - там где код и данные и т.д.; а значит наверняка ещё и сжата. Так что менять её удобно не будет.
[/quote]

Ясно, попробую поискать похожие редакторы, даже если там будет другая палитра.

_________________
@


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Fri Sep 20, 2013 2:29 am 
Offline

Joined: Sat Jan 23, 2010 11:41 pm
Posts: 1161
Один произвольно взятый метаспрайт состоит из N апппаратных спрайтов, которые имеют размер 8x8 или 8x16. Эти аппаратные спрайты могут иметь разные смещения относительно центра координат метаспрайта (не обязательно кратно 8, как для тайлов), разные флаги поворота, разные палитры. Они могут частично накладываться друг на друга. Так как NES позволяет использовать только три цвета на спрайт, многие игры использовали несколько наложенных друг на друга спрайтов, чтобы сделать главного героя более цветным. Например, Mega Man - пять цветов, потому что лицо сделано спрайтом с другой палитрой.


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Fri Sep 20, 2013 2:47 am 
Offline
User avatar

Joined: Sat Sep 14, 2013 7:19 am
Posts: 10
Shiru wrote:
Один произвольно взятый метаспрайт состоит из N апппаратных спрайтов, которые имеют размер 8x8 или 8x16. Эти аппаратные спрайты могут иметь разные смещения относительно центра координат метаспрайта (не обязательно кратно 8, как для тайлов), разные флаги поворота, разные палитры. Они могут частично накладываться друг на друга. Так как NES позволяет использовать только три цвета на спрайт, многие игры использовали несколько наложенных друг на друга спрайтов, чтобы сделать главного героя более цветным. Например, Mega Man - пять цветов, потому что лицо сделано спрайтом с другой палитрой.


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

_________________
@


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Mon Sep 23, 2013 5:18 am 
Offline
User avatar

Joined: Sat Sep 14, 2013 7:19 am
Posts: 10
Еще вопрос - могу ли я использовать для спрайтов другую системную палитру? Для тайлов я сейчас использую "NTSC Palette with both Blue and Green Emphasized", в ней нет белого и поэтому все смотрится тускловато - но для тайлов это ок, тем проще будет акцентировать внимание игрока на игровых объектах.

Ну и если интересно, закончил основные анимации персонажа:

Image
Image

Осталось вытянуть читаемость и поправить пару косячных кадров во время движения по диагонали.

_________________
@


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Mon Sep 23, 2013 6:25 am 
Offline

Joined: Sat Jan 23, 2010 11:41 pm
Posts: 1161
У NES всего одна единственная неизменная палитра из 54 цветов, общая для фона и спрайтов. Ввиду того, что цвет в PPU реализован непосредственной генерацией сигнала в NTSC/PAL (если посмотреть на биты цветов, можно увидеть, что младшие 4 управляют оттенком, а следующие 2 яркостью), т.е. в системе нет RGB в принципе, а также аналоговости сигнала и телевизоров, мы никак не можем получить 'правильную' палитру. Точнее, используя реверс-инжиниринг PPU мы знаем, какая палитра математически правильна для такой схемы, но за отсутствием в природе идеального телевизора мы эту самую идеальную палитру никогда в жизни не видели, а видели какую-то условную, присущую конкретно связке отдельно взятых приставки и телевизора. Поэтому во всех эмуляторах палитра отличается, и вообще пользователи наплодили тысячу с лишним её вариантов. Но это касается исключительно эмуляторов. Всё, что касается софта - мы можем более-менее уверенно рассчитывать на уровни яркости, а касательно оттенка цвета остаётся только надеяться, что он будет примерно таким, каким мы его видим. У нас нет никакого контроля над тем, что увидит вместо выбранного оттенка пользователь на его приставке и телевизоре (или эмуляторе). По техническим причинам палитре NES есть чистый белый и чёрный, четыре серых, много синих и зелёных оттенков, но мало красных и жёлтых (вообще нет чистого красного и жёлтого).

Есть один способ немного изменить эту самую неизменную палитру - биты усиления цветовых составляющих. Но они изменяют всю палитру целиком, придавая цветам определённый оттенок, например, зеленоватый. Использование этой фишки можно наблюдать в играх Eurocom (James Bond Jr., Jungle Book) или в Felix The Cat - такая своеобразная выцветшая палитра, напоминающая Commodore 64. Однако, лучше эти биты не трогать, потому что на клонах они работают как повезёт (см. видео Кинамана, он не раз упоминал про эти проблемы), а на RGB PPU не работают вообще.


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Mon Sep 23, 2013 11:49 pm 
Offline
User avatar

Joined: Sat Sep 14, 2013 7:19 am
Posts: 10
Shiru wrote:
У NES всего одна единственная неизменная палитра из 54 цветов, общая для фона и спрайтов. Ввиду того, что цвет в PPU реализован непосредственной генерацией сигнала в NTSC/PAL (если посмотреть на биты цветов, можно увидеть, что младшие 4 управляют оттенком, а следующие 2 яркостью), т.е. в системе нет RGB в принципе, а также аналоговости сигнала и телевизоров, мы никак не можем получить 'правильную' палитру. Точнее, используя реверс-инжиниринг PPU мы знаем, какая палитра математически правильна для такой схемы, но за отсутствием в природе идеального телевизора мы эту самую идеальную палитру никогда в жизни не видели, а видели какую-то условную, присущую конкретно связке отдельно взятых приставки и телевизора. Поэтому во всех эмуляторах палитра отличается, и вообще пользователи наплодили тысячу с лишним её вариантов. Но это касается исключительно эмуляторов. Всё, что касается софта - мы можем более-менее уверенно рассчитывать на уровни яркости, а касательно оттенка цвета остаётся только надеяться, что он будет примерно таким, каким мы его видим. У нас нет никакого контроля над тем, что увидит вместо выбранного оттенка пользователь на его приставке и телевизоре (или эмуляторе). По техническим причинам палитре NES есть чистый белый и чёрный, четыре серых, много синих и зелёных оттенков, но мало красных и жёлтых (вообще нет чистого красного и жёлтого).

Есть один способ немного изменить эту самую неизменную палитру - биты усиления цветовых составляющих. Но они изменяют всю палитру целиком, придавая цветам определённый оттенок, например, зеленоватый. Использование этой фишки можно наблюдать в играх Eurocom (James Bond Jr., Jungle Book) или в Felix The Cat - такая своеобразная выцветшая палитра, напоминающая Commodore 64. Однако, лучше эти биты не трогать, потому что на клонах они работают как повезёт (см. видео Кинамана, он не раз упоминал про эти проблемы), а на RGB PPU не работают вообще.


Понятно. Ладно, тогда просто продолжу рисовать, сейчас на эту тему нет смысла голову ломать. А каким способом можно/лучше тестировать это во время разработки? Записывать на картридж с usb разъемом или может эмуляторы генерации сигнала в NTSC/PAL?

_________________
@


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Tue Sep 24, 2013 6:10 am 
Offline

Joined: Sat Jan 23, 2010 11:41 pm
Posts: 1161
Любым удобным способом. Ни тесты на железе, ни на эмуляторах видеосигнала, ничего особенного в плане выбора оттенков цвета не дадут, разве что позволят учесть искажения, свойственные PAL/NTSC (в том числе dot crawling). Надо просто рисовать, учитывая, что такой-то цвет условно-красный, такой условно-синий, и проверять, как оно смотрится в нескольких разных палитрах, чтобы было более-менее нормально. Больше ничего с этим сделать нельзя.

При тестировании же кода однозначно удобнее тестировать и отлаживать в эмуляторах. Тесты на железе нужны только потому, что эмуляторы всё ещё не идеальны. При тестировании на Flash-картриджах надо учитывать, что игра запускается не точно так же, как запускалась бы на реальном картридже, т.к. для вывода меню софт Flash-картриджа инициализирует PPU (по крайней мере, так в Power Pak).


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Tue Sep 24, 2013 8:14 am 
Offline
User avatar

Joined: Sat Sep 14, 2013 7:19 am
Posts: 10
Ок, всё понял, еще раз большое спасибо за подробные ответы =)

_________________
@


Top
 Profile  
 
 Post subject: Re:
PostPosted: Mon Jan 20, 2014 5:41 pm 
Offline

Joined: Mon Jan 20, 2014 4:07 pm
Posts: 2
Shiru wrote:
Самые популярные сейчас - CA65 (из пакета CC65) и ASM6. До сих пор сохраняет популярность NESASM, но он сильно устарел и не рекомендуется к использованию.


Что с NESASM не так, почему он устарел и не рекомендуется к использованию? Мне кажется он очень удобный, пользуюсь версией 3.1.
Там есть какието баги?


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Tue Jan 28, 2014 3:10 am 
Offline
User avatar

Joined: Tue Aug 07, 2012 12:27 pm
Posts: 59
Quote:
Всего на экране может быть 256 разных на вид тайлов фона и отдельно либо 256 разных на вид спрайтов 8x8
64 :) При этом не более 8 на 1 строку.


Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Mon May 05, 2014 11:57 am 
Offline

Joined: Sat Aug 03, 2013 3:08 pm
Posts: 36
Location: Russia
...

_________________
My profile on RHDN.


Last edited by Ti_ on Thu Sep 11, 2014 7:21 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Sat Jun 28, 2014 6:38 am 
Offline

Joined: Sat Aug 03, 2013 3:08 pm
Posts: 36
Location: Russia
http://www.youtube.com/watch?v=JS3hsgpbSpw

_________________
My profile on RHDN.


Last edited by Ti_ on Thu Sep 11, 2014 7:19 am, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: NESEmDev - Russian
PostPosted: Sat Jun 28, 2014 11:55 am 
Offline
User avatar

Joined: Wed Apr 02, 2008 2:09 pm
Posts: 1021
So, I don't speak Russian, but since there hasn't been a response to it in a while I want to say I enjoy seeing these DuneEmperor updates, Ti_.

_________________
https://kasumi.itch.io/indivisible


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group