Випуск відкритого ігрового двигуна Godot 4.0

Після чотирьох років розробки опублікований реліз вільного ігрового двигуна Godot 4.0, що підходить для створення 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.

У гілку Godot 4.0 включено близько 12 тисяч змін та виправлено 7 тисяч помилок. У розробці движка та написанні документації взяли участь близько 1500 чоловік. Серед ключових змін:

  • Запропоновано два нові бекенди рендерингу (кластеризований та мобільний) на базі графічного API Vulkan, які прийшли на зміну бекендам, що виконують малювання через OpenGL ES та OpenGL. Для старих та малопотужних пристроїв інтегрований бекенд забезпечення сумісності на базі OpenGL, який використовує нову архітектуру рендерингу. Для динамічного відтворення з нижчою роздільною здатністю задіяна технологія суперсемплінгу AMD FSR (FidelityFX Super Resolution), що використовує алгоритми просторового масштабування та реконструкції деталей для зниження втрати якості зображення при збільшенні масштабу та перетворення на більш високу роздільну здатність. Реалізовано двигун рендерингу на базі Direct3D 12, який дозволить покращити підтримку платформ Windows та Xbox.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано можливість роботи з інтерфейсом у багатовіконному режимі (різні панелі та частини інтерфейсу можна відкріплювати у вигляді окремих вікон).
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано новий редактор інтерфейсів користувача та новий віджет візуального проектування.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Доданий новий редактор тем оформлення.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Повністю переписана система управління освітленням і тінями, в якій задіяна технологія глобального освітлення SDFGI (Signed Distance Field Global Illumination), що працює в режимі реального часу. Значно підвищено якість малювання тіней.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Вузол GIProbe, який використовується для наповнення сцени відбитим світлом, замінений на вузол VoxelGI, оптимальний для обробки в режимі реального часу освітлення в сценах з невеликими або середніми інтер'єрами приміщень. Для малопотужного обладнання залишено можливість попереджувального рендерингу світла та тіней за допомогою карт освітлення, для прискорення відтворення яких тепер задіяно GPU.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Реалізовано нові техніки оптимізації рендерингу. Додано автоматичне оклюзивне обрізання (occlusion culling), що динамічно визначає та видаляє моделі, приховані за іншими поверхнями для підвищення продуктивності рендерингу та зниження навантаження на CPU та GPU.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано режим SSIL (Screen Space Indirect Lighting), що дозволяє підвищити якість рендерингу на високопродуктивному устаткуванні за рахунок покращення обробки темних областей та непрямого освітлення. Крім того, надано додаткові параметри імітації розсіяного непрямого освітлення за допомогою техніки SSAO (Screen Space Ambient Occlusion), такі як вибір рівня впливу прямого світла.
  • Запропоновано реалістичні одиниці освітленості, що дозволяють коригувати інтенсивність світла та використовувати для керування яскравістю фінальної сцени штатні налаштування камери, такі як діафрагма, витримка та ISO.
  • Додано нові інструменти для редагування рівнів для двовимірних ігор. Внесено радикальні зміни у процес розробки 2D-ігор. Доданий новий редактор тайлових карт (tilemap), яким з'явилася підтримка шарів, автозаповнення ландшафту, рандомізованого розміщення рослин, каменів та різних об'єктів, гнучкого виділення об'єктів. Уніфіковано роботу з тайловими картами та наборами фрагментів для побудови картки (tileset). Забезпечено автоматичне розширення фрагментів у наборі для виключення прогалин між сусідніми фрагментами. Додано нову функцію розміщення об'єктів на сцені, яку, наприклад, можна використовувати для додавання персонажів у комірки тайлової сітки.
  • При 2D-малюванні реалізована можливість використання груп полотна, що дозволяють змішувати елементи полотна, що перекриваються, наприклад, можна об'єднати разом кілька спрайтів і змішати їх з фоном, начебто ці спрайти були одним елементом. Додано властивість Clip Children, що дозволяє використовувати будь-який 2D-елемент як маску. У 2D-движок також додано опцію, що дозволяє використовувати метод згладжування MSAA (Multisample Anti-Aliasing) для підвищення якості зображень та створення більш гладких країв.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Поліпшено роботу з освітленням та тінями у 2D-іграх. Значно підвищено продуктивність при використанні кількох джерел світла. Додано можливість імітації тривимірності через зміну рівня освітлення на картах нормалей, а також створення таких візуальних ефектів, як довгі тіні, ореоли та чіткі контури.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано ефект об'ємного туману, який використовує техніку тимчасово репроекції для досягнення реалістичного вигляду та високої продуктивності.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додані шейдери хмар, що дозволяють динамічно генерувати хмари, що змінюються в режимі реального часу.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Реалізовано підтримку «декалей», методу проектування матеріалу на поверхню.
  • Додані ефекти, що застосовуються для всього ігрового простору на базі частинок, що використовують GPU і підтримують атрактори, зіткнення, шлейфи і випромінювачі.
  • Розширено можливості інтерфейсу для візуального редагування шейдерів.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Розширено мову шейдерів, у якому з'явилася підтримка структур, макросів препроцесора, підстановки шейдерів (оператор include), уніфікованих масивів та використання «varying» для передачі даних з оброблювача фрагмента до оброблювача освітлення.
  • Додано можливість застосування обчислювальних шейдерів, які використовують GPU для прискорення алгоритмів.
  • У мові сценаріїв GDScript покращено систему статичної типізації, додано новий синтаксис визначення властивостей, запропоновано ключові слова await і super, додано операції map/reduce, реалізовано нову систему анотацій, з'явилася можливість використання unicode-символів в іменах змінних та назвах функцій. Доданий інструмент автоматичної генерації документації. Підвищена продуктивність та стабільність GDScript runtime. У розробці забезпечено можливість показу відразу кількох помилок, додано нові попередження для типових проблем.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Розширено можливості розробки ігрової логіки мовою C#. Додано підтримку платформи .NET 6 та мови C# 10. Для скалярних значень задіяні 64-розрядні типи. Багато API переведені з типів int і float на long та double. Надано можливість визначення сигналів у формі подій C#. Додана можливість розробки розширень GDExtensions мовою C#.
  • Додано експериментальну підтримку розширень (GDExtension), які можна використовувати для розширення можливостей движка без його перескладання і без внесення змін до коду.
  • Запропоновано за замовчуванням власний двигун симуляції фізичних процесів Godot Physics, оптимізований для вирішення завдань, властивих комп'ютерним іграм, і доведений до паритету у функціональності з раніше використовуваним движком Bullet (наприклад, в Godot Physics додано обробку нових форм зіткнень, підтримку карт висот SoftBody для симуляції одягу). Проведено оптимізацію продуктивності та розширено застосування багатопоточності з поділом навантаження на різні ядра CPU при симуляції фізичних процесів у 2D- та 3D-оточеннях. Вирішено багато проблем із симуляцією.
  • Запропоновано нову систему відтворення тексту, що надає більше контролю за обрізанням та перенесенням тексту, а також забезпечує високу чіткість за будь-яких екранних дозволів.
  • Розширено інструменти для локалізації та роботи над перекладом.
  • Доданий окремий діалог для імпорту 2D- та 3D-ресурсів, що підтримує перегляд та зміну налаштувань імпортованої сцени, матеріалів та фізичних властивостей.
    Випуск відкритого ігрового двигуна Godot 4.0
  • У редактор додані нові віджети, такі як панель для відкату змін та новий діалог вибору кольору та оновлення палітри.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Оновлено інтерфейс інспектування, панель керування сценою та редактор скриптів. Покращено підсвічування синтаксису, додано можливість відображення кількох курсорів, надані засоби для редагування форматів JSON та YAML.
  • Розширено можливості редактора анімації, в якому з'явилася підтримка змішування фігур та покращено процеси на базі кривої Безьє. Переписано код для 3D-анімації, в якому реалізовано підтримку стиснення для скорочення споживання пам'яті. Переписано систему для змішування анімації та створення перехідних ефектів. Розширено можливості створення складних анімацій. Для зберігання та повторного використання створених анімацій запропоновано бібліотеки анімації.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано режим створення фільмів, який виконує покадровий рендеринг сцени з максимальною якістю для створення заставок та запису відео.
  • Розширено підтримку 3D-шоломів та платформ віртуальної реальності. В основний склад двигуна вбудована підтримка стандарту OpenXR, що визначає універсальний API для створення програм віртуальної та доповненої дійсності. У Windows та Linux забезпечена підтримка всіх популярних 3D-шоломів, включаючи шоломи SteamVR, Oculus та Monado.
  • Підвищено стабільність підсистеми для організації мережевої гри та спрощено процес розробки розрахованих на багато користувачів ігор.
  • Розширені можливості звукової системи, вбудована підтримка поліфонії, доданий API для синтезу мови та реалізована можливість зациклювання звуку.
  • Забезпечено можливість запуску інтерфейсу Godot на Android-планшетах та у web-браузері.
    Випуск відкритого ігрового двигуна Godot 4.0
  • Додано нову систему складання ігор для різних архітектур 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 забезпечений тривалий цикл підтримки, термін якого залежатиме від затребуваності старого API користувачами.



Джерело: opennet.ru

Додати коментар або відгук