Open 3D Engine - мой новый фаворит среди игровых движков
Хочу поделиться своим опытом погружения в Open 3D Engine (O3DE). Провел с ним около 3 месяцев, и пришло время для честного разбора полетов. До этого я активно использовал Godot, но теперь я здесь...
Что меня привлекло и почему я это рассказываю вам
- Рендеринг и Производительность: Конвейер рендеринга – мощный и производительный. Работа с современной 3D-графикой ощущается стабильнее и более зрелым в некоторых аспектах, чем в моем опыте с Godot 4 (хотя Godot тоже сильно вырос).
- Технологическая "Чистота" и Гибкость: 💻 Отсутствие синтаксического сахара поверх C++ (в отличие от Unreal) – плюс для любителей контроля. Плюс Lua для скриптинга и визуальное программирование (Script Canvas). Архитектура изначально заточена под модульность и масштабируемость (Так называемые гемы), что дает огромную свободу.
- Сильное ощущение, что разработчики движка смотрят на индустрию профессионально и стремятся к комплексным решениям для коммерческой разработки.
Мой опыт с движком (и переход с Godot)
Приходя из Godot, я ценю простоту и скорость прототипирования этого движка. Однако в O3DE я нашел то, чего мне не хватало для более амбициозных проектов: ощутимо более зрелые решения в ключевых областях под капотом – рендеринг, продвинутая физика (PhysX) и, что крайне важно, все еще доступность и открытость.
Сейчас я пока не готов использовать его для полноценной разработки игр, однако уже осваиваю множество его аспектов
Сейчас большую часть времени я погружаюсь в написание шейдеров. O3DE предоставляет мощные инструменты для написания собственных шейдеров, и это было одновременно и сложно, и интересно! Результатом стало создание специфического визуального стиля.
Слабые стороны движка
- Навязанные Решения: например отсутствие встроенной системы частиц, вместо этого используется PopcornFX – главная "боль" для инди. Лицензия PopcornFX может быть барьером.
- Не все "из коробки": Нет готовых решений уровня "включи и работай" для ландшафта (есть базовые инструменты, но не Terrains как в UE/Unity), системы воды, продвинутого AI. Нужно кастомизировать самому.
- Документация: Неравномерная. Базовые вещи есть, но для сложных тем или новых систем часто приходится лезть в исходники или искать ответы у сообщества. Кривая обучения очень ощутима.
- Требует C++ Экспертизы: Для глубокой кастомизации или создания сложных систем глубокое знание C++ критически важно. Lua и Script Canvas (Визуальное программирование) – отличные помощники для логики геймплея/инструментов, но сердце движка – нативный код.
Выводы:
Open 3D Engine – это мощный и многообещающий инструмент с огромным потенциалом. Он отлично подойдет:
- Независимым разработчикам / Студиям, которые ценят открытость и контроль над своим стеком технологий.
- Тем, кто любит экспериментировать и строить собственные решения, а не просто ожидать готовое.
- Проектам, где важны современный рендеринг, производительность и гибкость архитектуры.
Это не движок для тех, кто ищет "все включено" как в Unreal или Unity. O3DE – это конструктор, где вам предстоит собрать свой идеальный движок. Требует технических навыков (особенно C++), терпения и готовности копаться под капотом. Но если вы ищете открытую, развивающуюся платформу для своих амбициозных идей – определенно стоит присмотреться!
Что думаете об O3DE? Буду рад если кто-то поделится своим опытом работы с ним!