Найти в Дзене
Моя игра на Godot Engine

Godot генерация пещер

Добрый день! В этой статье я расскажу как я сделал генерацию уровней для своей игры на движке Godot. Генерация уровня происходит следующим образом: на стартовой позиции создается кусочек пещеры 3x3. Потом эта точка движется в рандомном направлении и постепенно заполняя пустоту полом пещеры, он будет передвигаться ограниченное количество раз, с этим параметром можно играться и добиваться разных размеров пещер. В своей игре я сделал это с помощью того, что я в функции generate() заполняю пустую картинку белыми пикселями, а потом считываем пиксели из этой картинки и строим по нему пещеру с помощью TileMapLayer. После того как пещера была создана можно уже украшать с помощью кода объектами, чтобы игроку не было скучно бегать по уровням. Спасибо вам за прочтение! Если вас интересует разработка игр на движке Godot можете подписаться на меня, буду частенько выкладывать интересные фичи которые я использовал в своей игре, которую делаю для Яндекс игр.

Добрый день! В этой статье я расскажу как я сделал генерацию уровней для своей игры на движке Godot.

Пример как генерируется уровень
Пример как генерируется уровень

Генерация уровня происходит следующим образом: на стартовой позиции создается кусочек пещеры 3x3. Потом эта точка движется в рандомном направлении и постепенно заполняя пустоту полом пещеры, он будет передвигаться ограниченное количество раз, с этим параметром можно играться и добиваться разных размеров пещер.

В своей игре я сделал это с помощью того, что я в функции generate() заполняю пустую картинку белыми пикселями, а потом считываем пиксели из этой картинки и строим по нему пещеру с помощью TileMapLayer.

Функция для шаблона пещеры
Функция для шаблона пещеры

После того как пещера была создана можно уже украшать с помощью кода объектами, чтобы игроку не было скучно бегать по уровням.

-3

Спасибо вам за прочтение! Если вас интересует разработка игр на движке Godot можете подписаться на меня, буду частенько выкладывать интересные фичи которые я использовал в своей игре, которую делаю для Яндекс игр.