Автор Тема: SGDK  (Прочитано 90907 раз)

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

Оффлайн ALKOSHA

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

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


Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Настройка 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 это как-то костыльно.

Оффлайн ALKOSHA

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

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #303 : 30 Сентябрь 2016, 23:49:12 »
ALKOSHA,
Цитата
пока пользуюсь только такой вот костыльной итерацией индекса
Ясненько, будем дальше изучать)
Цитата
я не программист
ну так если ты не программист, это не значит, что ты полнейший чайник в кодинге) Ты можешь что-то знать, а чего-то не знать) Какой код я писал несколько лет назад - вспоминать стыдно, сейчас же дела обстоят несколько лучше, но все равно назвать это жалкое подобие говнокодинга программированием язык не поворачивается)

Оффлайн ALKOSHA

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




Оффлайн Takamura-kun

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

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

Оффлайн ALKOSHA

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



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

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Настройка 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...

Оффлайн ALKOSHA

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

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

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

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

Оффлайн ALKOSHA

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

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #310 : 20 Октябрь 2016, 06:08:07 »
йоу, программизды.  :wow:
Шарите, как узнать, когда XGM-музон подошёл к концу ?
Ну, играет у меня музыка, играет, потом заканчивается, и надо следующую пластинку ставить.
Как?
Никто нам тут не поможет) Надо по вопросам сгдк на spritesmind переезжать xD

Оффлайн ALKOSHA

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

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #312 : 06 Ноябрь 2016, 05:51:50 »
А в сеге есть такая фишка, чтоб скроллировались все спрайты одновременно ?
Или надо индивидуально каждому спрайту обновлять координаты? 
По-моему, можно "камеру" двигать (не факт).

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Настройка 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

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #314 : 30 Ноябрь 2016, 20:36:00 »
Видеороликом можно любой эффект запихнуть :lol:

Оффлайн ALKOSHA

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

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

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

Оффлайн Ti_

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

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Настройка 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

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

Оффлайн ALKOSHA

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


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

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

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

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

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

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

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3277
  • Пол: Мужской
    • ВКонтакте
    • 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

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Настройка 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_

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


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

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #323 : 01 Декабрь 2016, 11:36:47 »
посмотри

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

Оффлайн blackbird_ru

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

Оффлайн Ti_

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

Оффлайн MetalliC

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

Оффлайн ALKOSHA

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

Оффлайн ALKOSHA

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


Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1105
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #329 : 05 Декабрь 2016, 21:53:34 »
Ti_, Проиграл с подливой от вращающегося сцаника :'D