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

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

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

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

  • Возвращена убранная в выпуске 3.0 возможность рендеринга с использованием OpenGL ES 2.0 / OpenGL 2.1 вместо OpenGL ES 3.0 / OpenGL 3.3, что позволяет добиться более высокой производительности на устаревшем оборудовании, обойти некоторые проблемы с драйверами и обеспечить совместимость со старыми мобильными устройствами и браузерами без поддержки WebGL 2.0. Так как по возможностям рендеринг на базе OpenGL ES 2 отстаёт от OpenGL ES 3, поддержка OpenGL ES 2 реализована в виде отдельной платформы отрисовки; 0_1552669133.png
  • В языке сценариев GDScript добавлена опциональная поддержка явного указания типов, помимо предлагаемой изначально динамической типизации. Указанная возможность пока реализована только на уровне парсера и будет доработана в будущем. Использование типов позволит повысить производительность кода, упрощает работу системы автодополнения ввода, позволяет отлавливать дополнительные ошибки и делает код более читаемым;
  • Переработан интерфейс инспектирования. Добавлены такие новые возможности, как редактирование векторных полей, инспектирование в процессе редактирования ресурсов, улучшенные настраиваемые визуальные редакторы для различных типов объектов, удобная система управления на основе ползунков, улучшенное редактирование массивов и словарей; 0_1552666257.jpg
  • Переписан 2D-редактор. Значительно улучшена работа с прямоугольниками-ограничителями для манипуляции с объектами (gizmo), обеспечена пометка общих узлов, и добавлена возможность прямого изменения размер фигур; 0_1552669467.png
  • Представлен новый редактор для тайловой графики, позволяющий формировать целостное изображение из фрагментов одинакового размера; 0_1552669516.jpg
  • Переработана панель для работа с файловой системой, в которой реализован режим древовидного отображения файлов с миниатюрами, предпросмотром выбранных файлов, определением содержимого файлов на сцене и секцией с избранными файлами; 0_1552669552.png
  • Улучшены средства для создания кинематической анимации, упрощающие визуализацию движения персонажей. Доступные такие возможности как привязка тела к поверхности, поддержка форм RayCast в движущихся телах и синхронизация кинематического перемещения с физическими свойствами, позволяющая избежать отставания на один кадр;
  • Полностью переработан редактор анимации. Упрощено оформление, добавлен предпросмотр для большинства типов ключей анимации, появилась возможножность группировки треков по узлам, в режим инспектирования добавлена поддержка редактирования ключей, обеспечена возможность копирования треков через буфер обмена, добавлен API для подключения собственных плагинов редактирования треков, добавлены новые типы треков; 0_1552673723.png
  • Предложен новый интерфейс с деревом наложения анимации (AnimationTree); 0_1552725352.png
  • Добавлена новая система обработки координатных осей, упрощающая произвольную привязку к осям;
  • Возвращён визуальный редактор шейдеров; 0_1552725570.png
  • Добавлены новые узлы Skeleton2D и Bone2D для создания двумерных каркасов для скелетной деформации; 0_1552725831.jpg
  • Добавлена поддержка 2D-мэшей, которые можно конвертировать из спрайтов, например, чтобы избежать отрисовки больших прозрачных областей; 0_1552725800.jpg
  • Улучшен 3D-редактор, в котором полностью переработаны механизмы выделения объектов и система ограничивающих параллелепипедов (gizmo); 0_1552725862.png
  • На базе движка Bullet реализована поддержка симуляции мягких тел (soft body), Также добавлена система SkeletonIK, позволяющая создавать простые цепочки обратной кинематики (IK) для существующих каркасов и переключаться между режимами прямой и обратной кинематики; 0_1552726389.png
  • Добавлена возможность быстрого моделирования прототипов твёрдых тел при помощи конструктивной блочной геометрии (CSG); 0_1552726438.png
  • Добавлена поддержка симплексных (OpenSimplex) и зашумлённых текстур. 0_1552726687.png
  • Добавлена возможность использования CPU для генерации частиц (ранее поведение частиц рассчитывалось только при помощи GPU);
  • В сетевой API добавлена поддержка WebSockets и UPnP;
  • В звуковой системе появилась возможность использования MIDI-устройств и захвата звука через микрофон.

© OpenNet