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:
Первая часть девлога: