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

Студия OKAM после 18 месяцев разработки подготовила выпуск свободного игрового движка Godot 3.0, предоставляющего средства для создания 2D- и 3D-игр. Движок поддерживает простой для изучения язык задания игровой логики, удобную графическую среду для проектирования игр, систему развёртывания игр в один клик, широкие возможности анимации и симуляции физических процессов, мощный встроенный отладчик и систему выявления узких мест в производительности.

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

Основные новшества:

  • Новый движок рендеринга, обеспечивающий физически корректный рендеринг для 3D (PBR — Physically Based Rendering). Изначально Godot предлагал достаточно продвинутый 2D-движок, но отставал от других проектов в плане поддержки 3D, так как 3D-движок предоставлял достаточно скудный набор базовых возможностей. Сейчас данное ограничение снято и в проекте появился полноценный 3D-движок для рендеринга. Новый движок примечателен такими возможностями, как расчёт реалистичных отражений от поверхностей при помощи функции BSDF, несколько видов глобального освещения, набор инструментов для постобработки и промежуточного рендеринга, возможность имитации глобального освещения (SSAO), использование GPU для расчёта произвольного поведения частиц (использование шейдеров). 0_1517308649.png
  • Улучшенный интерфейс управления ресурсами, в котором обеспечена более традиционная организация автоматического импорта ресурсов — достаточно перетащить ресурс в раздел проекта. Также добавлена возможность импорта 3D-сцен в виде одного файла, разбиения сцен на части, выделения из сцены материалов и мешей, автоматического выбора метода сжатия текстур, импорта сцен в формате glTF 2.0, импорта SVG в виде битовых карт и т.п. Полностью переписана система экспорта. 0_1517306987.png
  • Представлен фреймворк GDNative, позволяющий расширять функциональность движка через подключение внешних библиотек (плагинов). Плагины могут быть написаны на C/C++ и не требуют перекомпиляции движка для подключения. Например, через плагины может быть добавлена функциональность из внешних библиотек (OpenVR, Steam, Kinect, SQLite), добавлена поддержка новых звуковых и видео кодеков, обеспечена работа со шлемами виртуальной реальности. Для будущих выпусков развиваются средства для разработки плагинов на языках Python, Nim и D.
  • Обеспечена поддержка разработки скриптов для Godot на языке С# 7.0 (интеграция поддержки Mono);
  • Реализован новый язык для визуальной разработки скриптов, позволяющий определять игровую логику в виде блок-схем, не имея навыков программирования; 0_1517307428.png
  • Разработан новый движок управления звуком, который манипулирует звуковыми потоками (AudioStreams) и позволяет в режиме реального времени воспроизводить файлы .wav и .ogg. Поддержка старого движка прекращена. Обеспечена поддержка объёмного 3D звука (5.1 и 7.1). Подготовлена большая коллекция готовых звуковых эффектов, которые можно привязывать к разным звуковым каналам. 0_1517307689.png
  • Предложена новая тема оформления редактора, улучшена поддержка HiDPI и расширены возможности кастомизации интерфейса; 0_1517308289.png
  • Значительно улучшен режим просмотра в 3D-редакторе; 0_1517308395.png
  • Добавлена начальная реализация сервера ARVRServer для создания окружений виртуальной и дополненной реальности. Пока поддерживается только симуляция шлемов виртуальной реальности на смартфоне. Реализация выполнена в виде плагина, использующего OpenVR и совместимого со SteamVR;
  • Добавлен бэкенд на базе Bullet, который по умолчанию задействован для симуляции физических процессов;
  • Добавлен новый API для создания многопользовательских сетевых игр с RPC на базе ENet;
  • Добавлена поддержка IPv6, WebAssembly и WebGL 2.0.

© OpenNet