Сжал все спрайты, бинарник сдулся с 31к до 11к. Следующий этап сделать тоже самое для тайлов графики.
Помимо этого написал простой тулчейн для биллинга проекта. Теперь не нужно ждать реэкспорта или сжатия графики если исходники не менялись. Знаю что это велосипед и есть make, но если он нужен под виндой это значит тащить в нее кучу всего ненужного, да и тестирование репы для заинтересовавшихся превратится в дикий квест.
Сжал данные для уровней. Бинарник усох до 10к. Но тайловой графики пока немного, поэтому размер ещё сильно вырастет.
Следующий этап научить игру распаковывать все на квазидиск и рисовать с квазидиска тайлы и спрайты.
nzeemin(16.08.2022)
parallelno, с большим интересом слежу за вашим прогрессом. Желаю не потерять интерес и довести дело до конца.
Про тех, кто будет пытаться за вами собирать ваш проект - можно особо не думать. Как правило, у каждого складывается свой любимый тулчейн. Я чаще всего только поглядываю в код других проектов, собирать их самому смысла особого не вижу.
parallelno(17.08.2022)
Научил.Прикольно. Все рисуется все с квазидиска.
За одним улучшил сборку проекта и немного прибрал.
- - - Добавлено - - -
Следующий этап добавить какую нибудь тестовую музыку.
добавил музыкальный плеер gigachad16, спасибо за код ivagor и svofski. данные плеера находятся на квазидиске. Это можно видеть на видео когда слева на экране пробегают снизу вверх красные горизонтальные полоски.
Было бы здорово видеть еще синим цветом считывание данных. Класная цветомузыка бы была, ну и польза для отладки.![]()
Последний раз редактировалось parallelno; 28.08.2022 в 00:33.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сделал отрисовку спрайтов с маской, исправил подмаргивание спрайтов. Только к сожалению маска в ее простой реализации не взлетела так как спрайты рисуются не каждый кадр. Разве что с фоном она поможет, чтобы он не просвечивал, но с остальными спрайтами пока чет не очень. Нужно думать.![]()
А в чем суть проблемы с маской?
Больше игр нет
Суть проблемы в том что спрайты рисуются не каждый кадр.
Допустим в первый кадр нужно нарисовать только два первых спрайта. Они будут стёрты на старых позициях. Затем нарисованы в новых с маской.
Во второй кадр нужно нарисовать два следующих спрайта. Они будут стёрты в старых позициях.
Если старые позиции перекрывают предыдущие нарисованные спрайты, то они будут стёрты. Маскирование не сработает. В этом проблема.
Придумал как частично полечить. Буду пробовать.
Идея в том чтобы разбить кадр на 4 вертикальные области. Если спрайты попадают в эту область то они за один кадр рисуются с маской. Отрисовка в этих областях в таком порядке чтобы не пересекаться с лучем.
Во, понял.
Похоже, что способ разделения спрайтов на кадры не идеальный.
Идеально было бы, понятно, отрисовать всё за кадр. Но это видимо вызывает теринг. А ты проверял, правда получается заметный прям режущий глаз теринг? Все же есть вещи, которые мы 8-битным игрушкам охотно прощаем.
Можно складывать всех пересекающихся (вернее, пересекавшихся на прошлом кадре) врагов в одну кучку, рисовать их строго одним кадром, остальных поровну распределять между другими рисовательными кадрами.
Способ с 4 вертикальными областями боюсь может подвести если враги столпятся вокруг героя и все окажутся в одной из четырех вертикальных областей.
Больше игр нет
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)