Godot, кроссплатформенный игровой движок с открытым исходным кодом, постепенно набирал популярность с момента своего первого стабильного выпуска в 2014 году. В связи с приближающимся выпуском Godot 4.0 многие разработчики игр с нетерпением ждут долгожданного выпуска бета-версии 1 от 15 сентября.
Что для вас значат новые возможности Godot 4.0? Как это будет сравниваться с Unity?
От нового API рендеринга и физического движка до новых узлов, функций GDScript и поддержки API .NET 6 — Godot 4.0 может решить многие проблемы недоброжелателей.
Новый API рендеринга
Godot переходит с рендерера OpenGL на Vulkan. Это означает, что освещение в 3D-сценах будет выглядеть значительно лучше.
При сравнении большого количества вызовов отрисовки средство визуализации Vulkan лучше поддерживает игры с открытым миром и большим количеством объектов. Рендерер OpenGL, с другой стороны, имеет тенденцию нагружать ресурсы и создавать узкие места.
Наряду с новым API рендеринга появляются новые узлы, которые добавляют больше деталей в 3D-сцены:
- Узел VoxelGI — это капитальный ремонт старой системы глобального освещения. Это позволяет получить более тонкое освещение в небольших и средних помещениях.
- Узел Signal Distance Field Illumination позволяет создавать большие открытые миры с лучшими тенями объектов, преломлением света и многим другим.
- Узел FogVolume позволяет разработчикам писать шейдеры для сложных деталей тумана и тумана.
Хотя это и не новый узел, внедрение шейдеров Sky позволяет использовать шейдеры для скайбокса, что приводит к динамическому позиционированию и обновлению в реальном времени.
Есть много мелких улучшений, таких как частицы на основе графического процессора, дополнения к сценариям шейдеров и новые методы оптимизации. Но самые значительные изменения стоит изучить подробнее.
Новый физический движок
При развертывании физики в 3D-сценах Godot исторически полагался на движок Bullet. Больше не надо. Встречайте физический движок Godot.
Некоторые новые функции включают новые формы столкновения и повторную реализацию мягких тел. Это позволяет быстро создавать прототипы и более реалистично манипулировать объектами. Кроме того, поддержка многопоточности означает больше оптимизации; все эти изменения сопровождаются меньшими затратами на производительность.
Новый узел CharacterBody, заменяющий KinematicBody, обеспечивает повышенную гибкость и дополнительные возможности. Исправление ошибок, связанных с дрожанием и странным поведением при движении, — это Godot-send. Результат? Более стабильные и последовательные модели движения — даже при странных формах столкновений или экстремальных картах высот.
Новая навигационная система полностью заменяет узловую систему на серверную, повышая удобство использования без ущерба для производительности.
Новые функции качества жизни в GDScript
Благодаря полной переработке в бета-версии GDScript стал быстрее. Кроме того, добавляются более широко применимые функции и общие улучшения:
- Теперь вы можете обращаться с функциями как с переменными и использовать анонимные функции.
- Общие улучшения синтаксиса позволяют создавать более согласованный код.
- Вы можете указать определенные типы для массивов, чтобы уменьшить количество ошибок.
- Ждите и супер ключевые слова заменяют старый, менее понятный код в отношении времени и наследования.
Если вы работаете в команде или пересматриваете старый проект, вы обнаружите, что плохо названные переменные могут раздражать. Чтобы бороться с этим, скрипты теперь автоматически генерируют полезную документацию. При наведении указателя мыши на экспортированные переменные в Docker можно получить полезные описания переменных.
C# и поддержка .NET 6
Поддержка .NET 6 в основном завершается бета-версией. Если вы хотите придерживаться C# из соображений предпочтения или производительности, есть много новых возможностей, которых стоит ожидать.
При использовании .NET 6 по умолчанию используется C# 10. Новая зависимость от генераторов исходного кода означает, что если в вашем коде есть проблема, Godot выдаст ошибку во время компиляции, а не во время выполнения. Это сэкономит время, особенно если в игре есть ошибка.
Теперь вы можете объявлять сигналы как события C# для более согласованного кода сигналов. Активная разработка также направлена на написание GDExtension на C#. Одним из примеров является то, что классы C# регистрируются так же, как и встроенные классы. Это поможет улучшить поддержку узлов C#. Наконец, Godot 4.0 представит единую унифицированную загрузку, поэтому пользователям C# не нужно специально загружать версию Mono.
Godot 4.0 лучше, чем Unity?
Бета-версия — это всего лишь бета-версия, то есть она все еще нестабильна. Есть много ошибок, которые разработчики должны найти и исправить. Тем не менее, Godot постепенно становится более устоявшимся и приземленным движком с функциями Unity. Тем не менее, важно понимать, что, хотя Godot и Unity являются игровыми движками, они ориентированы на разные аудитории.
В последние годы Unity сосредоточилась на VFX и гиперреалистичных 3D-сценах. Напротив, разработчики используют Godot для прототипирования и создания небольших, часто 2D-игр. Это не означает, что использование любого движка ограничивает вас. Опыт работы с обоими двигателями полезен, поэтому вы действительно понимаете, какой из них лучше всего подходит для ваших нужд.
Являетесь ли вы разработчиком Unity, интересуетесь двигатель Godot и что он делает, или просто ищу новые инструменты для разработки игр, этот выпуск содержит множество новых функций, которые помогут вам создать следующую игру.
Хотя это сложно определить количественно, сообщество Godot — одна из его лучших особенностей. Вы найдете поддерживающих разработчиков, которые будут рады поделиться своими знаниями. Если новая система узлов выглядит устрашающе, просто попросите о помощи. И если это недостаточно убедительно, есть больше причин рассмотреть возможность использования Godot для вашей следующей игры.
Будущее: что Godot 4.0 означает для разработчиков игр
Godot 4.0 интегрирует функции качества жизни, отсутствующие в 3.5, а также привнесет желаемые функции из других движков.
Поскольку Godot 4.0 может привести к повышению производительности игр, в будущем он должен набрать обороты. Различные функции и улучшения могут быть интегрированы в проекты для их оптимизации или улучшения детализации мира.
Видя эти совершенно новые функции, можно предположить, что движок будет продолжать расти. Поэтому всякий раз, когда вы чувствуете желание участвовать в каламбурах Сэмюэля Беккета, помните, что первая версия Godot 4.0 Alpha была выпущена только 17 января 2022 года.