Автор Тема: [SMD] SGDK  (Прочитано 166135 раз)

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

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #300 : 29 Сентября 2016, 22:57:57 »
по части элементов уровня трудно судить.

Правда тут ещё не все цвета (которых в распоряжении 31 штука) задействованы.


Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #301 : 29 Сентября 2016, 23:11:49 »
ALKOSHA, скажи-ка, а ты можешь из массива изображений, вытащить один элемент для .tileset->numTile ?пример кода...

const void ImgArr[]=
{
    &image0,
    &image1,
    &image2
};

а в функции...
u32 ind = TILE_USERINDEX;
u8 i = 0;
ind += ImgArr[i].tileset->numTile; // (тут жалуется на "неструктурность" tileset, пробовал с & и без - результат один)

а то писать для каждого изображения отдельно ind += image0.tileset->numTile это как-то костыльно.
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #302 : 30 Сентября 2016, 08:37:18 »
Ещё раз повторюсь, что я не программист.
Поэтому пока пользуюсь только такой вот костыльной итерацией индекса.

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #303 : 30 Сентября 2016, 23:49:12 »
ALKOSHA,
Цитировать
пока пользуюсь только такой вот костыльной итерацией индекса
Ясненько, будем дальше изучать)
Цитировать
я не программист
ну так если ты не программист, это не значит, что ты полнейший чайник в кодинге) Ты можешь что-то знать, а чего-то не знать) Какой код я писал несколько лет назад - вспоминать стыдно, сейчас же дела обстоят несколько лучше, но все равно назвать это жалкое подобие говнокодинга программированием язык не поворачивается)
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #304 : 01 Октября 2016, 10:54:02 »
Переделал палитру с вырвиглазных SNES'овских оттенков на более холодные тона SMD




Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #305 : 02 Октября 2016, 17:31:28 »
Не слишком гавёная палитра?
Лучше, чем была.
А у меня тут какой-то звездец тотальный происходит - не могу третий спрайт добавить :lol:
А еще говорят, что SGDK облегчает программирование... Я от ассемблера большего добиваюсь - он требует только терпения и внимательности, проверенно лично не 1 раз. Тут же все черезчур высокоуровненно (даже палитра берется из исходного изображения, вместо сохранения генресовского output'а что черезвычайно неудобно).

Кажись, нашел причину того, почему не рисуется третий спрайт - движок начинает рисовку чуть ли не в самом конце vdp, на третий спрайт просто тупо не хватает места снизу (при том, что выше его полно)... А далее - шрифт, который я даже не инициализировал. Бесит эта автоматизация в ущерб оптимизации. Иногда я удивляюсь, как Стеф, при таком подходе, вообще смог склепать сгдк?
« Последнее редактирование: 04 Октября 2016, 20:09:33 от worm »
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #306 : 05 Октября 2016, 08:57:58 »
А я наоборот рассчитывал на автоматизацию, расставляя повторяющиеся тайлы сразу в редакторе.



Но потом вспомнил, что такая фишка прокатит лишь с картинкой, равной виртуальной области 512*512.
У меня же 1024*512 , к тому же в два слоя.
Тайлы придётся расставлять вручную, указывая позиции в программе.
Эххх...

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #307 : 06 Октября 2016, 00:48:10 »
Тайлы придётся расставлять вручную, указывая позиции в программе.
Прикрути себе к сгдк map editor какой-нибудь, да и все.

Люблю лолей.
I'm loli loli loli, i'm loli loli in my life.
I'm loli loli loli, now help me, help me to survive...
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #308 : 06 Октября 2016, 08:15:57 »
Прикрути себе к сгдк map editor какой-нибудь, да и все.

Для меня сия процедура сложнее в познании, нежели долбёжка мозга с координатами внутри программы.

И тут ещё один момент, не знаю как бы сделать так, чтоб в нужный момент всё необходимое генерилось за экраном.
Ну то есть
if (прицел сместился на 512-320 пикселей влево) генерировать_следующий_участок()

Это уже некоторые зачатки сайдскроллера.
Когда я делал в Кровавыше босса Левиафана, я кое-как сделал там генерацию по кусочкам. Но в этом шутере планировал сделать не константное движение камеры (а то покаааа чердак повернёшь, уже завалят 10 раз).
Я думал с ускорением сделать повороты для удобства управления. Так что вычислить отрезок, в момент которого генерить следующий экран будет сложнее.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #309 : 19 Октября 2016, 21:40:07 »
йоу, программизды.  :wow:
Шарите, как узнать, когда XGM-музон подошёл к концу ?
Ну, играет у меня музыка, играет, потом заканчивается, и надо следующую пластинку ставить.
Как?

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #310 : 20 Октября 2016, 06:08:07 »
йоу, программизды.  :wow:
Шарите, как узнать, когда XGM-музон подошёл к концу ?
Ну, играет у меня музыка, играет, потом заканчивается, и надо следующую пластинку ставить.
Как?
Никто нам тут не поможет) Надо по вопросам сгдк на spritesmind переезжать xD
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #311 : 05 Ноября 2016, 00:03:04 »
А в сеге есть такая фишка, чтоб скроллировались все спрайты одновременно ?
Или надо индивидуально каждому спрайту обновлять координаты? 

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #312 : 06 Ноября 2016, 05:51:50 »
А в сеге есть такая фишка, чтоб скроллировались все спрайты одновременно ?
Или надо индивидуально каждому спрайту обновлять координаты? 
По-моему, можно "камеру" двигать (не факт).
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #313 : 29 Ноября 2016, 23:05:10 »
Какую шнягу набыдлокодил.
На видео кадр рвётся, но я это уже профиксил.

https://vk.com/video373388239_456239271

Добавлено позже:
По-моему, можно "камеру" двигать (не факт).
Стеф написал, что низя.


Добавлено позже:
Думал сделать попиксельную плазму ( https://youtu.be/FMfGiSZePXk )

Для теста пока просто массив пикселей рандомом заполняю.
Жестячок. Массив 100*100 заполняется кадра 2 в секунду.
Придётся чанками делать.

Добавлено позже:
У плазмы ещё такая формула мозговыносная.
http://www.flipcode.com/archives/The_Art_of_Demomaking-Issue_04_Per_Pixel_Control.shtml

Тригонометрия то ладно. Но настроить на имеющуюся градацию цветов и разрешение пока не удаётся.
Либо просто разноцветные вертикальные полосочки, либо вообще Divide by zero.
« Последнее редактирование: 29 Ноября 2016, 23:42:45 от ALKOSHA »

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #314 : 30 Ноября 2016, 20:36:00 »
Видеороликом можно любой эффект запихнуть :lol:
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #315 : 30 Ноября 2016, 20:44:54 »
Видеороликом можно любой эффект запихнуть

теоретически сежка бы справилась с этой фигурой в полигональном графоне с фпс, эдак, 15-тью. Тонированный кубик же 20 фпс стабильно. Своп памяти слишком много жрёт времени.
Но я полики ещё не осваивал.

Добавлено позже:
Но справедливее, конечно, пререндер в сегу пихать туда, где это возможно.
99% игор с масштабированием\вращением спрайтов -  тоже ведь пререндер.
(И зачастую симметричный.)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3283
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Настройка SGDK
« Ответ #316 : 30 Ноября 2016, 21:31:31 »
99% игор с масштабированием\вращением спрайтов -  тоже ведь пререндер.
На сеге полно игр с программным масштабированием спрайтов.   С вращением сложнее, но тоже есть, там таблицы используются для этого.
На денди масштабирование в бтдд есть: https://www.youtube.com/watch?v=W7jdPJXJERI   (заставка 5-ого уровня).

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #317 : 01 Декабря 2016, 00:09:51 »
На сеге полно игр с программным масштабированием спрайтов.
Полно? Ха!
Я знаю только Road rash, scitchin, Zero tolerance, Outlander, Blood shot, Corporate, Duke nukem, заставки Battletoads DD (так же, как и на денде, только менее дискретно, и более хайрезно)... эмм... больше пока ничего не припомню.
И по фпс оно конечно ощутимо, где процедурно, а где пререндер.

Да, есть некоторые с зумом слоя (PLAN A\B), но то растровый эффект, а не спрайты, так что их не беру в расчёт. Это всё равно, что и вращение. Вращать слои и я могу.

Добавлено позже:
С вращением сложнее, но тоже есть, там таблицы используются для этого.

Полное вращение на 360' делается тоже пререндером.
Red Zone -  задник состоит из пререндеренных тайлов. Позиционируются тайлы конечно процедурно, но я за саму пикчу поясняю. (всматриваемся в края берегов)
Спрайтов то же самое касается.
Бонусные уровни первого сцаника.
« Последнее редактирование: 01 Декабря 2016, 00:19:46 от ALKOSHA »

Оффлайн bgr

  • Пользователь
  • Сообщений: 625
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #318 : 01 Декабря 2016, 01:48:01 »
ИМХО! Самое крутое масштабирование у Mega Turrican.
Игр с масштабированием действительно много, только эти игры малоизвестные, либо используется там где оно нахрен не надо. К примеру, в концовке первого бетмана. Ну или к играм теряли интерес, как в случае с Puggsy - не больно уж увлекательная игра.
Оберег можно и получше найти.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #319 : 01 Декабря 2016, 08:09:07 »
Самое крутое масштабирование у Mega Turrican.


Там того масштабирования понты.
Только в случае с первым боссом ведь, так? Или оно ещё где-то там встречается (помимо растрового эффекта бэкграунда, где Чужие бегают)? Я всю не проходил.
https://youtu.be/6H-qskYLiAE?t=720

Добавлено позже:
в концовке первого бетмана

Это что ли?
https://youtu.be/b8t0hv4ACJM?t=2257

Тут пререндер.

Добавлено позже:
как в случае с Puggsy

Там только мелкий участок карты масштабируется.
может я упустил там что-то...

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3283
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #320 : 01 Декабря 2016, 10:24:26 »
Полно? Ха!
Я знаю только Road rash, scitchin, Zero tolerance, Outlander, Blood shot, Corporate, Duke nukem, заставки Battletoads DD (так же, как и на денде, только менее дискретно, и более хайрезно)... эмм... больше пока ничего не припомню.
Ну в той же Дюне карта расширяется на брифинге.
Полное вращение на 360' делается тоже пререндером.
https://www.youtube.com/watch?v=Ue8O9QKzrBk

Добавлено позже:
99% игор с масштабированием\вращением спрайтов -  тоже ведь пререндер.
(И зачастую симметричный.)
75% игр в которых всякие псевдо вращения и растровые эффекты? Оставшееся пререндер/программно поровну. Во всяком случае не 1% точно.
« Последнее редактирование: 01 Декабря 2016, 10:32:01 от Ti_ »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #321 : 01 Декабря 2016, 10:48:08 »
Ну в той же Дюне карта расширяется на брифинге.
Но не спрайт же.
Так быстро скейлить сега может лишь за счёт растрового эффекта.
Это ВЕСЬ слой скейлится. А спрайт относительно спрайта не отскейлишь так.
Lawnmower Man последний босс. Там тоже быстро масштабируется рожа. Но это не спрайт тоже -  растровый эффект. Как и параллакс попиксельный почти.
Только пока не знаю каким образом по горизонтали растягивается.

Добавлено позже:
Во всяком случае не 1% точно.

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

Добавлено позже:
https://www.youtube.com/watch?v=Ue8O9QKzrBk

Скорее всего тоже пререндер. Надо смотреть VDP.

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

Добавлено позже:
А там, где платформа вращается - очевиднейший пререндер, видны даже стыки пререндеренных кусочков.

Добавлено позже:
И даже тут - растровый эффект с попиксельным скроллом + пререндер на определённые углы.
https://youtu.be/OGDtViPngi8?t=217

Это всё из-за того, что по вертикали сега не умеет скроллить попиксельно. А лишь по 16 пикселей. Поэтому полный оборот не сделаешь.

Добавлено позже:
Вся жизнь этой чахленькой приставки - сплошной пререндер. :hang:

Добавлено позже:
Парадокс, но даже на СНЕС есть пререндер спрайтов.
Топ гир 2. Видимо, наспех портировали, не адаптировав под аппаратную графику.
Машинки дискретно приближаются, и за счёт симметрии виден стык диззеринга пикселей. Возможно есть ещё подобные случаи.
 
Подозрительно тормозной Outlander. Сега уж ладно, у неё видяха каличная. Но на СНЕС фпс ничуть не выше. И "приближается" как то рывками (хрусть-хрусть-хрусть), будто тоже пререндер.
« Последнее редактирование: 01 Декабря 2016, 11:23:10 от ALKOSHA »

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3283
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Настройка SGDK
« Ответ #322 : 01 Декабря 2016, 11:32:26 »
Но не спрайт же.
Так быстро скейлить сега может лишь за счёт растрового эффекта.
Это ВЕСЬ слой скейлится. А спрайт относительно спрайта не отскейлишь так.
Ну да не спрайт. Ну в видеопамяти видно что тайлы расширяются, то есть не растровый.


Добавлено позже:
Скорее всего тоже пререндер. Надо смотреть VDP.
посмотри

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #323 : 01 Декабря 2016, 11:36:47 »
посмотри

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

Оффлайн blackbird_ru

  • Пользователь
  • Сообщений: 1230
  • Пол: Мужской
    • Просмотр профиля
Настройка SGDK
« Ответ #324 : 01 Декабря 2016, 19:08:34 »
Парадокс, но даже на СНЕС есть пререндер спрайтов.
Так снес не умеет зумить и вращать спрайты, только один фоновый слой.

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3283
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Настройка SGDK
« Ответ #325 : 01 Декабря 2016, 19:28:33 »
Выдрал код вращения спрайтов из турикана:

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9541
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Настройка SGDK
« Ответ #326 : 01 Декабря 2016, 20:37:43 »
симпатично. только table1.bin не табличка, а хренова кучка процедурок поворота на все возможные углы.
***** *****!

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #327 : 01 Декабря 2016, 22:38:25 »
Выдрал код вращения спрайтов из турикана:
0_0

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #328 : 05 Декабря 2016, 15:40:47 »
Как бы так Стэфу намекнуть, чтоб он всё-таки помимо автоматического определение зеркальных тайлов сделал  зеркалку всего изображения.
Вот например домик (ну к примеру. Там всё что угодно, любую декорацию) чтоб как-то разнообразить надо флипнуть. А это значит надо весь тайл-сэт перебирать в цикле. Я не программизд, для меня это сложновато и непонятно. Было бы удобней, если бы в функции вывода пикчи был флаг зеркального изображения, а то зеркалятся лишь тайлы, а позиции их остаются неизменными.


Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1146
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #329 : 05 Декабря 2016, 21:53:34 »
Ti_, Проиграл с подливой от вращающегося сцаника :'D
73 6C 79 73 68 2C 20 63 68 65 72 74 69 6C 61 21