Выпуск открытого игрового движка Godot 4.3

После восьми месяцев разработки опубликован релиз свободного игрового движка Godot 4.3, подходящего для создания 2D- и 3D-игр. Движок поддерживает простой для изучения язык задания игровой логики, графическую среду для проектирования игр, систему развёртывания игр в один клик, широкие возможности анимации и симуляции физических процессов, встроенный отладчик и систему выявления узких мест в производительности. Код игрового движка, среды проектирования игр и сопутствующих средств разработки (физический движок, звуковой сервер, бэкенды 2D/3D рендеринга и т.п.) распространяются под лицензией MIT.

Исходные тексты движка были открыты в 2014 году студией OKAM, после десяти лет развития проприетарного продукта профессионального уровня, который использовался для создания и публикации многих игр для PC, игровых консолей и мобильных устройств. Движком поддерживаются все популярные стационарные и мобильные платформы (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), а также разработка игр для Web. Готовые для запуска бинарные сборки сформированы для Linux, Android, Windows и macOS.

Основные изменения:

- Добавлена экспериментальная встроенная поддержка протокола Wayland на системах Linux и BSD.
- Добавлены новые ресурсы AudioStreamInteractive, AudioStreamPlaylist и AudioStreamSynchronized, позволяющие создавать динамическое музыкальное сопровождение, меняющееся в зависимости от контекста в игре.
- Добавлена возможность интерполяции при симуляции физических процессов в двумерном пространстве, создающая дополнительные кадры для отрисовки промежуточных состояний между текущей и следующей позициями объекта, что делает вывод более плавным на экранах с высокой частотой обновления и на маломощных устройствах.
- Полностью переделан визуальный редактор шейдеров, который теперь лучше адаптирован для работы с большими и сложными графами шейдеров. Для повышения наглядности восприятия информации узлы теперь раскрашиваются в зависимости от категории, а для соединений узлов используются более заметные цвета. Добавлено два новых типа узлов - "reroute" и "frame" для упрощения перемещения и визуального выделения узлов.


- Повышена гибкость работы со слоями. Добавлен новый узел TileMapLayer для упрощения добавления слоёв. Ранее созданные узлы TileMap могут быть преобразованы в узлы TileMapLayer одним щелчком мыши в редакторе.


- Возвращена поддержка экспорта приложений для Web, работающих в однопоточном режиме. Однопоточные приложения лучше совместимы с браузерами и не требуют усложнённой серверной поддержки.
- Проведена оптимизация производительности в многопоточном режиме. Внесены изменения, снижающие вероятность возникновения взаимных блокировок. Повышена надёжность многопоточной загрузки ресурсов.
- В средства для создания скелетной анимации добавлен новый узел SkeletonModifier3D, упрощающий организацию перемещения сочленений, используя скрипты. Добавлены новые опции для импорта скелетной анимации в формате fbx. В интерфейсе управления анимацией добавлена поддержка выделения, копирования, вставки и дублирования ключевых кадров.


- Добавлена возможность автоматического разделения навигационных сеток на отдельные части, что упрощает работу с проектами, содержащими большие игровые миры, а также сокращает потребление памяти и повышает производительность. Разделение настраивается через определения границ и размеров при помощи новых свойств в ресурсах NavigationPolygon (2D) и NavigationMesh (3D).


- В редактор добавлена встроенная поддержка импорта файлов в формате fbx, не требующая использования стороннего конвертера. Предоставлена возможность перемещения панели доступа к файловой системе в нижнюю часть экрана, что позволяет выделить больше свободного пространства для просмотра файлов.


- Переделано оформление менеджера проектов, в котором предоставлена возможность прямого доступа к таким настройкам редактора, как язык, тема оформления, уровень масштабирования и сетевой режим. Добавлен компонент для проверки наличия обновлений. https://honk.any-key.press/d/YVBB2Fvh46qM2wfxyV.png
- Добавлен новый узел Parallax2D, упрощающий создание иллюзии глубины в 2D-играх через движение фоновых элементов с разной скоростью.
- В систему рендеринга добавлена предварительная поддержка смешивания альфа-каналов в 3D-шейдерах, позволяющая создавать более реалистичные языки пламени и фейерверки. Добавлен API управления эффектами на стадии композитинга, позволяющий подключить свой кода для изменения логики отрисовки (например, можно использовать для создания эффекта размытия при движении). Расширены возможности генерации тумана, позволяющие определить где начинается туман и когда он становится полностью непрозрачным. Значительно доработан бэкенд рендеринга "Compatibility".


- Модернизирована архитектура объекта RenderingDevice и добавлена поддержка направленного ациклического графа рендеринга, позволяющего оптимизировать передачу команд к графическому API, что демонстрирует повышение частоты кадров на 5-15% без внесения изменений в 3D-сцену.
- Добавлен новый драйвер рендеринга, использующий Direct3D 12.
- В GDScript предоставлена возможность сокращения размера кода при экспорте за счёт его чистки, упаковки и обфусцирования. Добавлен новый оператор "is not" (например, "if my_node is not Node3D:"). В редакторе расширены возможности автодополнения кода.
- Расширены возможности для создания игр для шлемов виртуальной реальности, используя OpenXR и WebXR. Добавлена поддержка симулятора Meta XR Simulator. https://honk.any-key.press/d/D9124YKD712LpKGBJ3.png
- В играх для Web повышено качество звука и добавлена возможность показа заставки.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61716