После 6 месяцев разработки опубликован выпуск свободного игрового движка Godot 3.4, подходящего для создания 2D- и 3D-игр. Движок поддерживает простой для изучения язык задания игровой логики, графическую среду для проектирования игр, систему развёртывания игр в один клик, широкие возможности анимации и симуляции физических процессов, встроенный отладчик и систему выявления узких мест в производительности. Код игрового движка, среды проектирования игр и сопутствующих средств разработки (физический движок, звуковой сервер, бэкенды 2D/3D рендеринга и т.п.) распространяются под лицензией MIT.
Исходные тексты движка были открыты в 2014 году студией OKAM, после десяти лет развития проприетарного продукта профессионального уровня, который использовался для создания и публикации многих игр для PC, игровых консолей и мобильных устройств. Движком поддерживаются все популярные стационарные и мобильные платформы (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), а также разработка игр для Web. Готовые для запуска бинарные сборки сформированы для Linux, Windows и macOS.
В отдельной ветке развивается новый бэкенд рендеринга на базе графического API Vulkan, который будет предложен в следующем выпуске Godot 4.0, вместо предлагаемых ныне бэкендов рендеринга через OpenGL ES 3.0 и OpenGL 3.3 (поддержка OpenGL ES и OpenGL будет сохранена через обеспечение работы старого бэкенда OpenGL ES 2.0/OpenGL 2.1 поверх новой архитектуры рендеринга на базе Vulkan). Переход с Godot 3.x на Godot 4.0 потребует переработки приложений из-за нарушения совместимости на уровне API, но для ветки Godot 3.x будет обеспечен длительный цикл поддержки, срок которого будет зависеть от востребованности строго API пользователями.
Godot 3.4 примечателен добавлением следующих новшеств:
- Переработан интерфейс пользователя для редактирвоания тем оформления, в котором реализован наглядный процесс выбора узла и предоставлена возможность изменения оформления не покидая режим предпросмотра.
- В редактор внесены улучшения для повышения удобства работы: добавлена функция быстрой загрузки ресурсов в режим инспектирования, разрешено создание узла в произвольной позиции, добавлен новый интерфейс экспорта шаблонов, реализованы дополнительные операции с gizmo (система ограничивающих параллелепипедов) и улучшен редактор анимации на основе кривых Безье.
- Добавлен режим отката изменений, позволяющий отменить сразу все изменения сцены, вызванные применением анимации через AnimationPlayer, вместо отмены изменения каждого свойства по отдельности.
- В настройки добавлена опция для изменения уровня масштабирования
области 2D-просмотра (2D viewport), которую, например, можно использовать для увеличения или уменьшения 2D-элементов, независимо от текущего режима растяжения (stretch mode). - В File API добавлена возможность работы с файлами (в том числе с PCK), размер которых превышает 2 ГБ.
- Включены изменения для повышения плавности отрисовки за счёт расчёта изменений в кадрах без привязки к системному таймеру и решения проблем с синхронизацией вывода при использовании vsync.
- В системе обработки ввода InputEvents добавлена поддержка привязки к скэнкодам, отражающим физическое размещения клавиш на клавиатуре, независимо от активной раскладки (например, клавиши WASD в раскладке QWERTY будут автоматически сопоставлены с клавишами ZQSD на французской раскладке AZERTY).
- Добавлены интерфейсы AESContext и HMACContext для доступа из скриптов к алгоритмам шифрования AES-ECB, AES-CBC и HMAC. Также добавлена возможность сохранения и чтения открытых ключей RSA для формирования и проверки цифровых подписей.
- В движок рендеринга добавлена начальная поддержка прекращения отрисовки объектов, попадающих в фокус камеры, но не видимых из-за перекрытия другими объектами (например, находящихся за стеной). Растровое (на уровне отдельных пикселей) отсечение перекрытия будет реализовано только в ветке Godot 4, а в Godot 3 включены некоторые геометрические методы отсечения перекрывающихся объектов и поддержка портального перекрытия.
- Добавлен новый метод тонирования ACES Fitted, позволяющий добиться большей реалистичности и физической точности за счёт повышения контрастности ярких объектов.
- Добавлена поддержка формы испускания трехмерных частиц в виде кольца или полого цилиндра.
- В движке симуляции физических процессов значительно повышена производительность генерации выпуклых объектов из мэшей и переработан режим отслеживания столкновений в интерфейсе инспектирования. Для движка 2D-физики добавлена поддержка структуры BVH (Bounding Volume Hierarchy) для динамического пространственного разделения. В движке 3D-физики реализована поддержка функции HeightMapShapeSW и добавлены средства синхронизации с KinematicBody3D.
- Добавлена возможность экспортировать 3D-сцены в формате glTF, например, для открытия подготовленных в Godot мэшей в Blender.
- Добавлена поддержка режима сжатия изображений WebP без потерь, который теперь по умолчанию применяется для сжатия текстур вместо формата PNG.
- В порте для платформы Android добавлена начальная поддержка API Scoped storage и нового способа загрузки дополнительных ресурсов (Play Asset Delivery) для исполняемых файлов в формате AAB (Android App Bundle).
- Для платформы HTML5 реализована возможность установки в форме приложений PWA (Progressive Web Apps), добавлен интерфейс JavaScriptObject для взаимодействия между Godot и JavaScript (например, можно вызывать методы JavaScript из скриптов Godot), для многопоточных сборок реализована поддержка AudioWorklet.
- Для платформы macOS добавлена поддержка систем на чипе Apple Silicon (M1).