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

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

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1142
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #180 : 31 Декабря 2015, 23:48:28 »
ALKOSHA, вот, merry xmass!
Правда не думаю, что это Вам хоть как-то поможет. Там толком ничего и нет, кроме меню.
Цитата
worm, в сишке можно заключить переменную внутрь модуля таким образом, чтоб знать, в каком модуле она расположена ?
Ну вот как на крестах можно обращаться к переменным (полям) внутри класса, вписывая сперва имя класса... Короче, возможно ли на обычных сях модуль использовать, как отдельный класс на крестах?
К сожалению, тут я Вам не помощник :(

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #181 : 01 Января 2016, 06:06:03 »
На  данный момент столкнулся с такой шляпенцией, как скачущий (подобно не москалям) ФПС, при появлении того или иного массива частиц.
Попытался стабилизировать картинку согласно предпоследнему примеру из статьи ЭлектроКардиоГама, представленной на хабре, но получил лишь ещё больше нестабильности. По всей видимости, из-за несколько иного получения тиков ф-ции getTick().
Хыыыы.

Добавлено позже:
А чем так хороша процедура очистки экрана
VDP_setReg(0x0b, 0x00); // set scroll mode to plane/plane
VDP_resetSprites();

VDP_setPlanSize(64, 64);

VDP_setVerticalScroll(PLAN_A, 0);
VDP_setVerticalScroll(PLAN_B, 0);
VDP_setHorizontalScroll(PLAN_A, 0);
VDP_setHorizontalScroll(PLAN_B, 0);

VDP_updateSprites();

VDP_fillTileMapRect(APLAN, 0, 0, 0, 64, 64);
VDP_fillTileMapRect(BPLAN, 0, 0, 0, 64, 64);

VDP_setTextPalette(0);
?

Почему бы просто не влепить:
VDP_clearPlan (VDP_PLAN_A,1);
VDP_clearPlan (VDP_PLAN_B,1);
VDP_resetSprites();
« Последнее редактирование: 01 Января 2016, 07:06:26 от ALKOSHA »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #182 : 01 Января 2016, 20:46:55 »
Как вам один из боссов игры "Сотонический мячЬ"?



Добавлено позже:
Ещё добавлю Левиафана, Бегемота, Лилит и прочей нечисти по мелочи.

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1142
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #183 : 02 Января 2016, 20:41:37 »
А чем так хороша процедура очистки экрана
Полный сброс ВДП) скроллы и т.д.
Как вам один из боссов игры "Сотонический мячЬ"?
Какой мужчина :blush:
(Если это не то, что я думаю. Я, хоть и атеист, все же ни в чем не уверен на все 100%)

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #184 : 03 Января 2016, 21:41:03 »
Мда уж, напрягает этот рассинхрон по скорости игры при появлении разного рода частиц.

Эт вам не супер-марио пилить, где два\три спрайта приходится на один экран.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #185 : 04 Января 2016, 18:42:53 »
Если для синхронизации игрового процесса использовать SYS_setVIntCallback(), то возникают глюки в растровых эффектах.

Добавлено позже:
Вот как при подобной рамсе сделать примерно одинаковый темп игры?
https://youtu.be/9v3B1hzMwnQ?t=488

Добавлено позже:
Ещё, как вариант, можно каждое приращение по координатам умножать на дельтатайм, но это изврат. Во-превых, дополнительная нагрузка на проц. Во-вторых, программа громоздкая становится.

Добавлено позже:
ЫыыыыЪ

довыкобеливался с этими счётчиками кадров, что теперь выбивает в СДКшный отладчик. ;)


Поменять цвет фона - и будет мортал-комбад... Ну или оставить такой, как есть и будет почти как FlashBack.
« Последнее редактирование: 04 Января 2016, 22:07:09 от ALKOSHA »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #186 : 04 Января 2016, 23:03:17 »
Тута http://live13.livejournal.com/469940.html пример "Догонялки" более-менее стабильно пашыт, в качестве счётчика использую getTick, но почему-то в начале игры некоторое время рендерер (апдейт спрайтов) не обновляется, так же, как и было со счётчиком кадров (только при кадровом счётчике ещё и растр всяко-разно блымал при попытке пер-пиксельного скроллинга).

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #187 : 09 Января 2016, 13:16:13 »
  while(TRUE)
{
handleInput();
 if(star_game_f==TRUE)
{
u32 current = getTick();
u32 elapsed = current - previous;
previous = current;
lag += elapsed;
while (lag >=VAR)
{
upgate_gaym();
lag -= VAR;
}
 SPR_update(sprites, 80);
}

Вот если VAR равно 10-ти, то игровой процесс безупречен, картинка гладкая, но первые пару секунд спрайты не обновляются, тогда как координаты их обновляются с бешенной скоростью.
Если же VAR сделать равным 50-ти, то всё обновляется сразу, но картинка получается слайдшоу.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #188 : 09 Января 2016, 21:14:14 »
Добавил спрайт босса 136*176 пикселей. Сделал двухкадровую анимашку - тормозит.
Много времени уходит на распаковку. Если сделать без компрессии, не так сильно лагает.

Надо как-то прокэшировать спрайты в оперативе.

Добавлено позже:
 можно ли затереть набор символов, хранящийся в VDP-RAM?

Добавлено позже:
Прожорливый выдался босс. Сожрал тайлы двух плэйнов.
Придётся пожертвовать одним из плейнов и на нём нарисовать босса, а не в виде спрайта.
« Последнее редактирование: 09 Января 2016, 21:36:38 от ALKOSHA »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #189 : 10 Января 2016, 21:06:33 »
Хыыыыы :oldgamer:

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #190 : 15 Января 2016, 14:22:06 »
Пробовали забадяжыть какие-нибудь эффекты на СГДК ? (статическая сетка для игор, типа  "крестиков-ноликов" не в счёт)

Ща парюсь с параллакс-скроллингом. Сложновато зациклить текстуру, чтоб можно было "бесконечно" скроллить в одном направлении.



Добавлено позже:
Автор СДКи уверяет, что сделал оптимизон симметричных изображений.
Но почему-то у меня абсолютно симметричные изображения грузятся в видео-озу полностью (обе части).
Сранно...  :neznayu: (изображения спокойно делятся на 2 части и на 8-ми-пиксельные тайлы, но почему-то компилятор ресурсов так не считает.)
« Последнее редактирование: 15 Января 2016, 14:41:55 от ALKOSHA »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #191 : 16 Января 2016, 20:53:54 »


Оффлайн Ogr

  • Пользователь
  • Сообщений: 7806
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #192 : 16 Января 2016, 21:54:01 »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #193 : 16 Января 2016, 22:26:44 »
Бэтман то фигня.  Пер-пиксель-параллакс-скроллинг на сеге встречается в каждой третьей игре.

А вот именно такой параллакс, как в Toy Story, до сих пор диву даюсь как они его так замутили.
Обратите внимание на бэкграунд. Он реально как бы трёхмерный.
https://youtu.be/1HmB4ZOEMd0?t=1678

Той-стори вообще уникальная игруля. Единственный случай, где используется мультиколор (динамическое переключение пол-литр), из-за чего в заставках раза в два больше цветов, чем способна отобразить сега по дэфолту.
Это, пожалуй, единственная игра, где присутствует трэкерная музыка (в меню и титрах), именно не FM-синтез + один канал PCM, а  микширование сэмплов, как на Амиге или SNES.
« Последнее редактирование: 16 Января 2016, 22:35:02 от ALKOSHA »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7806
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #194 : 17 Января 2016, 00:28:37 »
 
Цитата: ALKOSHA
А вот именно такой параллакс, как в Toy Story, до сих пор диву даюсь как они его так замутили.

из паралакса там только пол.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #195 : 17 Января 2016, 00:43:35 »
 
из паралакса там только пол.

Из построчного скроллирования там только пол.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #196 : 17 Января 2016, 20:43:29 »
Реально ли ресетнуть на 0 таймер, считающий время с момента включения? >:(

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #197 : 20 Января 2016, 20:43:28 »
Ок да?  o_0

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1580
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #198 : 21 Января 2016, 16:38:57 »
ALKOSHA, Классно выглядит.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #199 : 23 Января 2016, 01:38:13 »
Курлык.


Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2950
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #200 : 23 Января 2016, 03:24:33 »
шо за психоделический гемдев? :)

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #201 : 24 Января 2016, 15:36:53 »
Начал делать Левиафана.
В ширину он 512 пикселей, ровно столько, сколько плэйн видео-контроллера.

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


 :ohmy:

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1142
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #202 : 25 Января 2016, 20:13:50 »
И кто еще кого учить должен? :lol: я бы так в жизни не сделал)

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #203 : 26 Января 2016, 23:00:36 »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #204 : 29 Января 2016, 21:38:32 »
Чё-то с фиксами не вдупляю, как они работают.
Щас мяч дискретно рикошетит, так как интами вычисляется траектория.

Инициализирую координаты.
fix16 x;
fix16 y;

bball.x=FIX16(120.00);
bball.y=FIX16(100.00);

Спрайт находится на координатах 0,0 .

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #205 : 30 Января 2016, 10:25:27 »
Вы тестировали звуковой движок на реальной железке или на эмуляторе Gensoid ?
Воспроизведение WAV-сэмплов.
Именно не тех, что поставляются с примерами, а собственных каких-нибудь.
У меня одного зависает ?

Оффлайн bgr

  • Пользователь
  • Сообщений: 618
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #206 : 30 Января 2016, 16:00:33 »
Вы тестировали звуковой движок на реальной железке или на эмуляторе Gensoid ?
Воспроизведение WAV-сэмплов.
Именно не тех, что поставляются с примерами, а собственных каких-нибудь.
У меня одного зависает ?
На новодельных клонах не виснет :lol:
http://romhacking.ru/forum/14-361-8
« Последнее редактирование: 30 Января 2016, 16:47:05 от bgr »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #207 : 30 Января 2016, 16:48:33 »
А в генсоиде ? Можете скинуть семпл, который тестировали ?
У меня клон тоже относительно новодельный - 2000ый год от рождества Христова. На микросхеме SM801.
Такое ощущение, что при определённой амплитуде виснет.

Добавлено позже:
Ещё попробую сэмпл с плавным нарастанием громкости, дабы убедиться, что дело именно в амплитуде.
Что генсоид, что железка одинаково зависают при воспроизведении PCM.
« Последнее редактирование: 30 Января 2016, 16:55:46 от ALKOSHA »

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1142
  • Пол: Мужской
    • Просмотр профиля
Re: Настройка SGDK
« Ответ #208 : 02 Февраля 2016, 00:50:45 »
ALKOSHA, я пользуюсь md.emu, там vgm проектов сгдк очень быстро проигрывается. Давно хотел сообщить о баге, но все никак руки не доходят... Да и что-то я в последнее время потерял интерес ко всему, включая кодинг и хацкинг.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 773
  • Кищучнëм по-маленькой?
    • ВКонтакте
    • Просмотр профиля
Настройка SGDK
« Ответ #209 : 02 Февраля 2016, 09:03:53 »
Ну, к вгм претензий-то нет.
Тут проблема именно с PCM.
Сега зависает наглухо, когда пытается воспроизвести wav-звук. Причём некоторые сэмплы может немного начать воспроизводить и тоже зависает. А генсоид крашит - вылетает из программы, потом через несколько секунд в андроидовском трее сообщение "gensoid: anal error", что-то в этом роде. С амплитудой и дискретизацией ещё не баловался, пока что в "Кровавыше" пытаюсь расхлебаться с другой проблемой (не имеющей отношения к СГДКшным багам).