Devlog #2: Движок и процедурная генерация уровней

Devlog #2: Движок и процедурная генерация уровней

Привет, друзья! С вами разработчик игры HEXA-WORLD-3D. Сегодня я хочу рассказать о том, как я выбрал движок для HEXA-WORLD-3D и как продвигается работа над процедурной генерацией уровней.

Выбор движка

Для создания игры я остановился на Unreal Engine 5 с использованием C++. Этот выбор был обусловлен рядом причин:

  • Язык программирования: UE5 написан на С++, так как у меня есть опыт в С++ решил изучить этот движок
  • Графические возможности: Технологии Nanite и Lumen дают возможность создавать потрясающие визуальные эффекты
  • Развитие и обучение: Так как у меня есть опыт в С++ но в 2D движках, решил перейти в 3D движки и начать обучать Unreal Editor и сам движок

Начало работы над генерацией уровней

Интересный факт: чтобы протестировать алгоритмы генерации, я сначала создал генератор на Python.

  • Python-генератор: Я разработал простой скрипт с визуализацией hex grid, который позволил оценить работу алгоритмов на практике и выявить оптимальные параметры для создания уникальных уровней (умеет генерировать разной формы hex grid : квадрат, шестиугольник, треугольник и.т.д).
  • Этот опыт стал отличной отправной точкой, благодаря которому я смог понять, какие механики работают лучше и как можно масштабировать систему.
Квадрат
Квадрат
Шестиугольник
Шестиугольник
Треугольник
Треугольник
Примерно вот так будет выглядеть в игре (в игру я еще не внедрил это изначально созданное поле)
Примерно вот так будет выглядеть в игре (в игру я еще не внедрил это изначально созданное поле)

Интеграция в UE5

Сейчас я переношу полученные идеи и алгоритмы в Unreal Engine 5:

  • Процедурная генерация: Основная задача — создание уровней (Hexagon Grid), генерирующихся случайным образом при каждом запуске в режиме уровней. Это позволит обеспечить разнообразие и непредсказуемость игрового процесса.
  • Оптимизация: Особое внимание уделяю оптимизации кода. Работа с большим числом динамических объектов требует аккуратного управления ресурсами и эффективного использования пулов объектов.

Что дальше

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

Спасибо, что следите за развитием HEXA-WORLD-3D! Ваши отзывы очень помогают мне в работе. И конечно, не забудьте добавить игру в свой вишлист на Steam — это реально поддерживает проект!

В следующем посте расскажу как я пытаюсь "продвигать" игру бесплатно...

PS: Изза того что Unreal Engine 5 не поддерживает HTML5 (web игры) я игру не смогу выложить на яндекс играх итд, предлагайте движки для портирования кода моей игры в движок поддерживающий HTML5...

Ссылка на Steam:

Первая часть девлога:

7
6 комментариев