Вышел открытый игровой движок Godot 4.0

Разработчики выпустили релиз опенсорсного игрового движка Godot 4.0 для создания 2D- и 3D-игр. Он поддерживает язык задания игровой логики, графическую среду для проектирования игр, систему развёртывания в один клик, анимацию и симуляцию физических процессов, а также встроенный отладчик. 

194385043a44c40230d0a64921edf81c.jpg

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

Основные изменения в Godot 4.0 включают:

  • два новых бэкенда рендеринга (кластеризованный и мобильный) на базе графического API Vulkan. Для старых и маломощных устройств интегрирован бэкенд обеспечения совместимости на базе OpenGL. Для динамической отрисовки с более низким разрешением появилась технология суперсэмплинга AMD FSR (FidelityFX Super Resolution). Реализован движок рендеринга на базе Direct3D 12;

005d8d7e9e266c09db44fa1892b3f372.pngd6c6a17185bda7baf8bd90ede417c76e.png8c825631a752839d51e6d78902b2abe2.png

  • новый редактор тем оформления;

  • обновлённую систему управления освещением и тенями с технологией глобального освещения SDFGI (Signed Distance Field Global Illumination);

b85042a3f70e46d7db5e7ed77f85a95b.png478816e760d9069aec292c85d0cefac5.png

  • автоматическое окклюзивное обрезание (occlusion culling), динамически определяющее и удаляющее модели, скрытые за другими поверхностями;

32c8ef8bfb435d60da327e9a82347262.png

  • режим SSIL (Screen Space Indirect Lighting) для повышения качества рендеринга на высокопроизводительном оборудовании за счёт улучшения обработки тёмных областей и непрямого освещения. Дополнительные настройки имитации рассеянного непрямого освещения при помощи техники SSAO (Screen Space Ambient Occlusion) позволяют выбирать уровень влияния прямого света;

  • реалистичные единицы освещённости, чтобы корректировать интенсивность света и использовать для управления яркостью финальной сцены штатные настройки камеры;

  • новые инструменты для редактирования уровней для двумерных игр. Добавлен новый редактор тайловых карт (tilemap) с поддержкой слоёв, автозаполнением ландшафта, рандомизированной расстановки и гибким выделением объектов. Унифицирована работа с тайловыми картами и наборами фрагментов для построения карты (tileset), появилось автоматическое расширение фрагментов в наборе для исключения пробелов, добавлена новая функция расстановки объектов на сцене;

  • возможность использования групп холста при 2D-отрисовке. Добавлено свойство Clip Children, позволяющее использовать любой 2D-элемент в качестве маски. Метод сглаживания MSAA (Multisample Anti-Aliasing) внедрён для повышения качества изображений и создания более гладких краев;

efeda699c15db222408af3257ee22025.png

  • улучшенную работу с освещением и тенями в 2D-играх и повышение производительности при использовании нескольких источников света. Появилась возможность имитации трёхмерности через изменение уровня освещения на картах нормалей;

a6a7ee83d545704e7fca29be2ff33c12.png30b1d733951350976621fb8f3ed27ea3.png94761b52b96c466ae1188e7ef3940c97.pnga72479d7ab7b15d8814f42014d9df49e.JPG

  • эффекты на базе частиц, использующие GPU и поддерживающие аттракторы, столкновения, шлейфы и излучатели;

  • новые возможности интерфейса для визуального редактирования шейдеров;

  • расширение языка шейдеров, где появилась поддержка структур, макросов препроцессора, подстановки шейдеров, унифицированных массивов и использования «varying» для передачи данных из обработчика фрагмента в обработчик освещения;

  • возможность применения вычислительных шейдеров, использующих GPU для ускорения алгоритмов;

  • улучшенную систему статической типизации в языке сценариев GDScript, добавление нового синтаксиса определения свойств, предложены ключевые слова await и super, добавлены операции map/reduce, реализована новая система аннотаций, появилась возможность использования unicode-символов в именах переменных и названиях функций. Появился  инструмент для автоматической генерации документации. Повышена производительность и стабильность GDScript runtime. Появилась возможность показа сразу нескольких ошибок и добавлены новые предупреждения для типовых проблем;

  • новые возможности разработки игровой логики на языке C# с поддержкой платформы .NET 6 и языка C# 10. Для скалярных значений задействованы 64-разрядные типы. Многие API переведены с типов int и float на long и double. Появилась возможность определения сигналов в форме событий C#. Добавлена возможность разработки расширений GDExtensions на C#;

  • экспериментальная поддержка расширений (GDExtension) для увеличения возможностей движка без его пересборки и без внесения изменений в код;

  • собственный движок симуляции физических процессов Godot Physics, оптимизированный для решения задач игр;

  • новую систему отрисовки текста, предоставляющая с большим контролем за его обрезкой и переносом;

  • инструменты для локализации и работы над переводом;

  • отдельный диалог для импорта 2D- и 3D-ресурсов с предпросмотром и изменением настроек импортируемой сцены, материалов и физических свойств;

b9b875b01a7d448a3155ef01d24ddc5f.png

  • новые виджеты редактора, такие как панель для отката изменений и новый диалог выбора цвета и обновления палитры;

  • интерфейс инспектирования, панель управления сценой и редактор скриптов с улучшенной подсветкой синтаксиса, возможностью отображения нескольких курсоров, средствами для редактирования форматов JSON и YAML;

  • новые возможности редактора анимации с поддержкой смешивания фигур и процессами на базе кривой Безье. В коде для 3D-анимации реализована поддержка сжатия для сокращения потребления памяти и расширены возможности для создания сложных анимаций;

06f2bee003636d3b0cd2e76a681084b5.png

  • режим создания фильмов с покадровым рендерингом сцены с максимальным качеством для создания заставок и записи видео;

  • расширенную поддержку 3D-шлемов и платформ виртуальной реальности. В основной состав движка встроена поддержка стандарта OpenXR, в Windows и Linux обеспечена поддержка SteamVR, Oculus и Monado;

  • улучшенную стабильность подсистемы для организации сетевой игры и упрощённый процесс разработки многопользовательских игр;

  • новые возможности звуковой системы с поддержкой полифонии, API для синтеза речи и возможностью зацикливания звука;

  • возможность запуска интерфейса Godot на Android-планшетах и в браузере;

243f11bec726f8f365e3eea23a483480.png

  • новую систему сборки игр для различных архитектур CPU. Теперь можно выполнить сборку для Raspberry Pi, Microsoft Volterra, Surface Pro X, Pine Phone, VisionFive, ARM Chromebook и Asahi Linux;

  • изменения в API, которые нарушают совместимость. Переход с Godot 3.x на Godot 4.0 потребует переработки приложений, но для ветки Godot 3.x обеспечен длительный цикл поддержки.

© Habrahabr.ru