Выпуск открытого игрового движка 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 для расчёта произвольного поведения частиц (использование шейдеров).
- Улучшенный интерфейс управления ресурсами, в котором обеспечена более традиционная организация автоматического импорта ресурсов — достаточно перетащить ресурс в раздел проекта. Также добавлена возможность импорта 3D-сцен в виде одного файла, разбиения сцен на части, выделения из сцены материалов и мешей, автоматического выбора метода сжатия текстур, импорта сцен в формате glTF 2.0, импорта SVG в виде битовых карт и т.п. Полностью переписана система экспорта.
- Представлен фреймворк GDNative, позволяющий расширять функциональность движка через подключение внешних библиотек (плагинов). Плагины могут быть написаны на C/C++ и не требуют перекомпиляции движка для подключения. Например, через плагины может быть добавлена функциональность из внешних библиотек (OpenVR, Steam, Kinect, SQLite), добавлена поддержка новых звуковых и видео кодеков, обеспечена работа со шлемами виртуальной реальности. Для будущих выпусков развиваются средства для разработки плагинов на языках Python, Nim и D.
- Обеспечена поддержка разработки скриптов для Godot на языке С# 7.0 (интеграция поддержки Mono);
- Реализован новый язык для визуальной разработки скриптов, позволяющий определять игровую логику в виде блок-схем, не имея навыков программирования;
- Разработан новый движок управления звуком, который манипулирует звуковыми потоками (AudioStreams) и позволяет в режиме реального времени воспроизводить файлы .wav и .ogg. Поддержка старого движка прекращена. Обеспечена поддержка объёмного 3D звука (5.1 и 7.1). Подготовлена большая коллекция готовых звуковых эффектов, которые можно привязывать к разным звуковым каналам.
- Предложена новая тема оформления редактора, улучшена поддержка HiDPI и расширены возможности кастомизации интерфейса;
- Значительно улучшен режим просмотра в 3D-редакторе;
- Добавлена начальная реализация сервера ARVRServer для создания окружений виртуальной и дополненной реальности. Пока поддерживается только симуляция шлемов виртуальной реальности на смартфоне. Реализация выполнена в виде плагина, использующего OpenVR и совместимого со SteamVR;
- Добавлен бэкенд на базе Bullet, который по умолчанию задействован для симуляции физических процессов;
- Добавлен новый API для создания многопользовательских сетевых игр с RPC на базе ENet;
- Добавлена поддержка IPv6, WebAssembly и WebGL 2.0.
© OpenNet