Некомпетентный Разработчик
202 subscribers
33 photos
28 videos
4 links
Сюда я буду публиковать ранние наработки проектов...

Буст:
https://t.me/boost/IncompetentDeveloper
Download Telegram
Еду в Новосибирск, как приеду, надо будет первый плейс доделать и выложить, пока роблокс в бане и есть органика.

Я не играю в роблокс, но верю и надеюсь что его разблокируют, так как просто знаю что есть много кто очень любит эту игру
5
5
Media is too big
VIEW IN TELEGRAM
Генерация деревни.

Пока сырая и кривая версия, почти без ничего

@IncompetentDeveloper
81
Заменил большие тропинки на маленькие, оставив только для центра деревни

вроде выглядит лучше
5
В моём городе злые люди и дожди
5
Исправил тропинки на песке, теперь спрайт тропинки зависит от поверхности
👍72💩211
С новым годом
🎉11❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Карта (радар)

Нужен просто потому что игра 2д и поле зрения узкое. Отображает иконки структур, не сами объекты

Кому интересно — работает на тех же сюрфейсах, генерируя новый сюрфейс покадрово, перераспределяя нагрузку от проверки шума и отрисовки пикселей на несколько кадров.
Сделано так ради оптимизации, так как рисовать каждый тик тысячи пикселей трудоёмко.

Радар отслеживает постоянные объекты, те же деревья на радаре это чанки где много пальм. Сами объекты не отслеживаются, так как все объекты за пределами камеры деактивируются для той же оптимизации. Деревни отслеживаются с помощью структурных объектов которые в отличие от домов постоянные.
42
повозки

А что еще бывает? Не приходит в голову.
Пропы нужны не только для деревень, но и для других структур, которые можно будет случайно встретить и залутать.
4
Нарисуйте что-нибудь для структур, пропы либо объекты, будто палатка для лагерей, или водонапорная башня из бетона

Размер тайла (1 метр) - 32x32
🔥63
Скалы
👍81
Оптимизировал генерацию и радар.
последние дней 5 только этим и занимался, поэтому единственное что могу запостить.

средний фпс с 2000 повышен до 3400 (ryzen 5 5600, rtx 5060 ti)
На достаточно мощную видеокарту внимания не обращайте, с отрисовкой справятся и мобильные чипы.
На моём телефоне около 500 кадров (snapdragon 870)

Кому интересно:

• Радар теперь работает на девяти поверхностях в качестве чанков, а отрисовка не попиксельная, вместо них используются примитивы (круги, можно и квадраты), в целом генерация радара теперь похожа на генерацию чанков поверхности мира.

Генерация объектов теперь работает не на рандоме от координат как раньше, а на системе весов:

Если раньше приходилось перебирать массив со структурами объектов array(n) и считать шансы со значением шума, то теперь у нас есть два массива с объектами и весами (индексами) простой пример:

objects = [three, bush, grass]
weight = [0,1,1,2,2,2] // цифры в массиве это индексы массива objects. редкий индекс 0, а самый частый 2.
Так, получая случайную ячейку с weight мы получаем индекс объекта с нужным шансом, без перебора массива.
var _ind = weight[n] //n = случайное число..
object = objects[_ind]
На скрине функция установки объекта

• Для поиска структур добавлена функция которая создаёт real ключ (32 битное числовое значение), вместо string (текст) имени, для поиска переменной в каждой структуре.

• Так же теперь сюрфейсы поверхности рисуются только тогда, когда их видно на камере.

• Объекты же как и раньше деактивируются за пределами камеры, однако теперь замораживаются и все события объектов если они находятся на определенном расстоянии, даже если в пределах камеры, так как необходимости проверять столкновение с игроком для анимации даже на малой дистанции нет.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Ролик с процессом генерации

фпс сверху слева, это не средний фпс, хотя написано avg (просто удалил подсчёт)

Возможны скачки, из-за быстрого перемещения
👍5
Добавил октаву для естественного спавна объектов в виде скоплений

(раздельно от основного шума)
5