https://i.postimg.cc/ZqGygVcG/boar.gif
https://i.postimg.cc/25bZ2P4d/pig.gif
Вид для печати
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