+1 пост в ТГ
Вид для печати
+ 1 пост в ТГ про расширенную коллизию объектов
тут напрашивается цвет, если не помалопиксельная прокрутка
https://i.postimg.cc/WpD1phpZ/Tilema...roy-1-x400.png https://i.postimg.cc/dVFs962R/Tilema...roy-2-x400.png
пост в ТГ
- - - Добавлено - - -Цитата:
- большая и маленькая растительность.
маленькая - это сорванная и/или разрушенная
после разрушения касательно кактусов, становятся декалью поверхности
https://i.postimg.cc/8zvPS5GH/image.png
По просьбам телезрителей добавился Пейот, по мне так репка репкой ')
Но в пост апокалипсисе мутации и всё такое репка-пейот
https://youtu.be/ieHz-g_mUHs
Постарался собрать разные наработки за последнее время.
В целом всё идёт по плану (С)
+1 пост в ТГ про погодные эффекты
+1 пост в ТГ
https://i.postimg.cc/qvrFqjmH/photo-...7-18-39-08.jpg
немного поигрался с комбинациями пропсов, добавил пару новых (ящики армейские, стеллаж и канистру).
попробовал из них собрать пресет, который будет вставляться при генерации, для тестирования.
Работаю над прототипированием генератора местности, должно что то подобное получиться
https://youtu.be/YLtvtvBNhD8
А что изображено почти по центру и справа-снизу, похожее то-ли на атрофированый пинус, то-ли на одного из протогонистов Highway/Alien Encounter?
(ну вот которые тут толпой стоят, что-то вроде настольных ламп...)
+1 пост в ТГ
а шины сделать чёрными не получится?
Пробовал, получается не очень
В скором времени, игра выходит в свет, нужно собрать максимальное количество фитбека и зафиналить её.
Все желающие поучавствовать в тестировании, прошу присоединиться к группе и написать под любым постом, хочу тестить игрулу на железе.
Все присоединившиеся отправлю копию и попадут автоматом в титры.
+ посты в ТГ
- - - Добавлено - - -
https://i.postimg.cc/3NHNYsjF/image.png
https://i.postimg.cc/GhKtnS4v/image.png
https://i.postimg.cc/fRgbJtjL/image.png
https://i.postimg.cc/BvrQBrzf/image.png
Немного об ограничениях и возможностях.
Отрисовка картинки (2х пиксельного скрола) устроена следующим образом,
заранее подготовлены 4 сдвига по 2 пикселя двух смежных тайлов, так называемые тайлопары.
Что позволяет почти за фрейм ~80к тактов вывести фон из таких тайлопар в окне размером 10.5х11 тайлов (168х160 пикселей).
Количество таких тайлопар ограничено доступной памяти в 7 страницы ОЗУ, на хранение адреса и смещённых спрайтов и равно оно 79 тайлопарами.
Данный способ вывода графики является наиболее приемлемый, т.к. обладает высокой производительностью, но остальные объекты имеющие
маску, коллизию и разные флаги для взаимодействия рисуются повторно вторым слоем с предварительной сортировкой по вертикали,
так называемые динамические объекты, обладают свойствами:
- декали (имеют приоритет сортировки),
- проджектайлы (высоту полёта и вектор скорости),
- частицы (вектор скорости и время жизни),
- коллизия видимую и физическую
- т.п. флаги.
размер буфера в 1кб позволяет хранить 42 объекта.
https://i.postimg.cc/hP2D5zYr/image.png
Для того что бы объекты поместились в буфере по мере перемещения окна по миру, объекты добавляются/удаляются постоянно.
Движущиеся частицы, проджектайлы и т.д. это объект или группа объектов, у которых время жизни очень короткая,
но есть и объекты с продолжительным временем жизни, если персонаж находится +- на одном экране, это стенки, заборы и т.д.
Мне хочется сделать поселение, не просто текстовым квестом, а дать возможность пошлындать по нему, что накладывает ряд сложностей на реализацию текущего рендера.
Нельзя размещать большие объекты на экране, если делать такие объекты составные (состоящие из множества маленьких),
заставит сделать окно добавления в буфер динамических объектов больше видимого, что в свою очередь повлечёт её засоряемость.
По этому подумав, что было бы неплохо часть тайлов которые попадали бы в динамические объекты вынести в тайлопары,
для этого потребуется увеличить количество тайлопар до максимума 128шт, а размещать новые 49 шт в любой странице,
перед выводом их копировать в общий буфер, как это делается с динамическими объектами и выводить. Падение производительности прямо пропорционально,
количеству таких тайлопар на экране, 40 шт таких тайлопар съест ~25к тактов, при условии что видимое окно вмещает 121 тайл.
Так же на картинке видно, в жёлтый прямоугольник это тайлопары, красные, это динамические объекты имеющие коллизию, чем не обладают тайлопары.
Голубые кубики, это динамические объекты не обладающие коллизией, но рендер их осуществляется с альфа маской.
Самый верхний прямоугольник, не относится к тайлопаре, хотя находится на его поверхности, подобную проблему скорей всего решится путём, добавления пустых объектов (только коллизия)
https://youtu.be/GWA-B1rNi0E
Благодаря Юре (https://t.me/Jerri1977) получилось оптимизировать отрисовку фона 2х пиксельного скрола от 13% до 19%, причём его оптимизация, даёт стабильный вывод по тактам не взирая на не выровненность.
Любим, ценим, уважаем.
- - - Добавлено - - -
https://i.postimg.cc/QtTFRjcd/image.png
https://i.postimg.cc/Kz2b8bdz/image.png
https://i.postimg.cc/3RXKXNgm/image.png
какая то играбельная демка есть? или только концепты?
https://youtu.be/nR_AZvPRRwc
- - - Добавлено - - -
нету, есть демки
- 0.0.5 (тапок)
- 0.6.18 (ТРД)
пожалуйста только не заливай на zx art, что бы потом не пришлось унижаться и происить удалять от туда. я не хочу иметь дело с помойкой!
https://i.postimg.cc/BQDqMLBt/HUB-concept-2-2.png
Вроде выработал план капкан. Всё же наверно откажусь от заранее подготовленной карты, а буду их формировать в рантайме, но это потребует время (пока это не критично).
общий подход:
- существует атлас всех тайлов (с уникальным ID) > 256шт
- существуют заранее подготовленные постройки/сооружения из этих тайлов
- характеристики пресесетов зданий/сооружений имеют, размеры + тему (поселение, заправка, ферма, свалка и т.п.)
- генерация BSP (ранее показывал), по которому формируется размер доступных ячеек.
- для некоторых генераций, требуются определённое количество ячеек, к примеру для поселения мб от 1-8 шт, в зависимости от развития поселения. что потребует повторное генерирование BSP
- размещение из доступных пресетов объектов/сооружений в ячейках, согласно теме генерации
- размещение вспомогательных объектов (не обязательно)
- формирование тропы (из талов грунта), тропинки (рисованные) или дороги
Далее после генерации:
- прохождение по карте и подсчёт количество тайлопар, по сути формирование мапы, где ключ это тайлопара, а значение это количество встречающихся на карте
- сортировка мапы, что бы часто повторяющиеся разместить в первых 79 тайлопар (они не требуют копирования при отрисовки), остальные разместить в 49 (доступны)
- пересборка тайлов в тайлопары и объекты, по сути разделений на 2 слоя карту
- ну и формирование тайлопар (4 сдвига)
З.Ы. так же могут быть проблемы, если количество тайлопар станет > 128, не спрашивайте, хз что делать
так же формирование мусорных объектов, в зависимости от настроек игры (проработка графики), что может повысить/понизить количество объектов в окне, прямо отражается на FPS
https://i.postimg.cc/021436n4/11112.gif
привожу в божеский вид код генерации, добавил подсказки пока идёт генерация уровня.
"Не забывайте пополнять припасы, перед долгими путешествиями."
https://i.postimg.cc/PrVHgczC/Screen...Project289.gif
чёт решил попробовать как оно ДЭК 251
стримчанский
https://youtube.com/live/ouKoAnMY8nY?feature=share