LINUX.ORG.RU

Релиз игрового движка Godot 3.2

 , , , ,


3

4

ПО ПРОСЬБАМ ТРУДЯЩИХСЯ! Взято с опеннета.

После 10 месяцев разработки опубликован выпуск свободного игрового движка Godot 3.2, подходящего для создания 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.

В отдельной ветке развивается новый бэкенд рендеринга на базе графического API Vulkan, который будет предложен в следующем выпуске Godot 4.0, вместо предлагаемых ныне бэкендов рендеринга через OpenGL ES 3.0 и OpenGL 3.3 (поддержка OpenGL ES и OpenGL будет сохранена через обеспечение работы старого бэкенда OpenGL ES 2.0/OpenGL 2.1 поверх новой архитектуры рендеринга на базе Vulkan). Переход с Godot 3.2 на Godot 4.0 потребует переработки приложений из-за нарушения совместимости на уровне API, но для ветки Godot 3.2 будет обеспечен длительный цикл поддержки, срок которого будет зависеть от востребованности данной ветки пользователями. В промежуточные выпуски 3.2.x также не исключается портирование не влияющих на стабильность новшеств из ветки 4.x, таких как поддержка AOT-компиляции, ARCore, DTLS и платформы iOS для проектов на C#.

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

  • Добавлена поддержка шлемов виртуальной реальности Oculus Quest, реализованная на базе плагина для платформы Android. Для разработки систем дополненной реальности для iOS добавлена поддержка фреймворка ARKit. Для Android развивается поддержка фреймворка ARCore, но она пока не готова и будет включена в одном из промежуточных выпусков 3.3.x;
  • Переработан интерфейс визуального редактора шейдеров. Добавлены новые узлы для создания более продвинутых шейдеров. Для шейдеров, реализуемых классическими скриптами, добавлена поддержка констант, массивов и модификаторов «varying». Многие шейдеры, специфичные для бэкенда OpenGL ES 3.0, портированы для OpenGL ES 2;
  • Поддержка физически корректного рендеринга материалов (PBR) синхронизирована с возможностями новых движков PBR-рендеринга, таких как Blender Eevee и Substance Designer, для обеспечения сходного отображения сцены в Godot и используемых пакетах 3D-моделирования;
  • Проведена оптимизация различных настроек рендеринга для повышения производительности и увеличения качества картинки. В бэкенд GLES3 перенесены многие возможности из GLES3, включая поддержку метода сглаживания MSAA (Multisample anti-aliasing) и различные эффекты постпроцессинга (свечение, DOF-размытие и BCS);
  • Добавлена полная поддержка импорта 3D-сцен и моделей в формате glTF 2.0 (GL Transmission Format) и добавлена начальная поддержка формта FBX, которая позволяет импортировать сцены с анимацией из Blender, но пока несовместима с Maya и 3ds Max. Добавлена поддержка скинов каркасов при импорте сцен через glTF 2.0 и FBX, позволяющая использовать один каркас в нескольких мешах. Работа по улучшению и стабилизации поддержки glTF 2.0 выполнена совместно с сообществом разработчиков пакета Blender, в котором улучшенная поддержка glTF 2.0 будет предложена в выпуске 2.83;
  • Сетевые возможности движка расширены поддержкой протоколов WebRTC и WebSocket, а также возможностью использовать UDP в режиме multicast. Добавлен API для использования криптографических хэшей и работы с сертификатами. Добавлен графический интерфейс для профилирования сетевой активности. Началась работа по созданию порта Godot для WebAssembly/HTML5, который позволит запускать редактор в браузере через Web;
  • Переработан плагин для платформы Android и система экспорта. Теперь для формирования пакетов для Android предлагается две отдельные системы экспорта: одна с предварительно собранным движком, а вторая позволяющая формировать собственные сборки на основе кастомизированных вариантов движка. Настройку собственных сборок можно производить на уровне плагина для Android, без ручной правки исходного шаблона;
  • В редактор добавлена поддержка выборочного отключения отдельных возможностей, например, можно убрать кнопки для вызова 3D-редактора, редактора скриптов, библиотеки ресурсов, узлов, панелей, свойств и других элементов, которые не требуются разработчику (скрытие лишнего позволяет заметно упростить интерфейс);
  • Добавлена начальная поддержка интеграции с системами управления исходным кодом и реализован плагин для поддержки Git в редакторе;
  • Предоставлена возможность переопределения камеры для запущенной игры через окно в редакторе, что даёт возможность оценки различных режимов в игре (свободный обзор, инспектирование узлов и т.п.);
  • Предложена реализация сервера LSP (Language Server Protocol) для языка GDScript, позволяющая передавать информацию о семантике GDScript и правилах автодополнения кода во внешние редакторы, такие как VS Code plugin и Atom;
  • Внесены многочисленные улучшения во встроенный редактор скриптов GDScript: добавлена возможность установки закладок на позиции в коде, реализована панель minimap (для быстрого обзора всего кода), улучшено автодополнение ввода, расширены возможности режима визуального проектирования скриптов;
  • Добавлен режим создания псевдо-3D игр, позволяющий использовать эффект глубины в двухмерных играх через определение нескольких слоёв, формирующих фиктивную перспективу;
  • В 2D-редактор возвращена поддержка атласов текстур;
  • В GUI модернизирован процесс расстановки якорей и границ областей;
  • Для текстовых данных добавлена возможность наблюдения на лету за изменением параметров эффектов, обеспечена поддержка тегов BBCode и возможность определения собственных эффектов;
  • Добавлен генератор звуковых потоков, позволяющий создавать звуковые волны на основе отдельных кадров и спектрального анализатора;
  • При помощи библиотеки V-HACD реализована возможность разложения вогнутых мешей на точные и упрощённые выпуклые части. Данная возможность значительно упрощает генерацию форм столкновений для существующих 3D-мешей;
  • Реализована возможность разработки игровой логики на языке C# с использованием Mono для платформ Android и WebAssembly (ранее C# поддерживался для Linux, Windows и macOS). На базе Mono 6.6 реализована поддержка C# 8.0. Для C# также реализована начальная поддержка упреждающей компиляции (AOT, ahead-of-time), которая добавлена в кодовую базу, но пока не активирована (для WebAssembly пока применяется интерпретатор). Для редактирования кода C# реализована возможность подключения внешних редакторов, таких как MonoDevelop, Visual Studio for Mac и Jetbrains Rider;
  • Заметно расширена и улучшена документация. Опубликован частичный перевод документации на русский язык (переведено вводное руководство по началу работы).

Новость на сайте Godot

Скачать последнюю версию

>>> Подробности

★★

Проверено: Zhbert ()

Ответ на: комментарий от RedEyedMan666

Тоесть, проект надо готовить, да? А в Годо самое сложное - создать каталог, в котором проект будет лежать :)

Но рендерер там литой, не особо разойдёсси. Вот хочу я освещение полностью игнорировать, а рендерить только «краску» текстур. А отдельнымм проходами нормали и глубину. А потом свести все проходы определённым образом. В Годо для этого придётся создавать несколько материалов, а то и сцен и перерендеривать всю картинку несколько раз, полностью, со всеми неотключаемыми пибиэрами. Как тут акварель изобразишь? Никак, давай герою калаш в руки и делай пибиэрную стрелялку от первого лица, как все, не выпендривайся. :)

А мне ыскусства чоцаца. Эх, ежели бы был такой движок, чтобы рендеринг настраиваемый (и чтоб для опенжиелей всех рабочих версий), проект создавался бы одним щелчком для всех платформ, да писался бы на скриптухе, но экспортировался бы в плюсы и компилился. Мммм... И с редактором! И на каркуляторе чтоб работал!

ChekPuk ()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Тоесть, проект надо готовить, да?

Да, писать код. Много кода. Разного. Встроенного редактора нет, мышкой не повозюкаешь. Есть только утилиты на Tk для просмотра сцены и дебага.

Кому-то это будет неудобно.

Эх, ежели бы был такой движок, чтобы рендеринг настраиваемый (и чтоб для опенжиелей всех рабочих версий), проект создавался бы одним щелчком для всех платформ, да писался бы на скриптухе, но экспортировался бы в плюсы и компилился. Мммм... И с редактором! И на каркуляторе чтоб работал!

Ну тогда, наверное, Godot ваше всё :)

RedEyedMan666 ()
Ответ на: комментарий от ChekPuk

Эх, ежели бы был такой движок, чтобы рендеринг настраиваемый (и чтоб для опенжиелей всех рабочих версий), проект создавался бы одним щелчком для всех платформ, да писался бы на скриптухе, но экспортировался бы в плюсы и компилился. Мммм... И с редактором! И на каркуляторе чтоб работал!

Armory 3D не подходит? Говорят, норм двиг.

MageasteR ★★★★★ ()
Ответ на: комментарий от MageasteR

Armory можно рассматривать только как среду прототипирования. Он же тормозит как не в себя (итоговый проект экспортируется в некое подобие вебжиелорендерилки, со всеми тормозюканьями). Опять же, проходы рендера - там вообще это регулируется? И вообще там рендеринг регулируется? Замучился отключать эту мазню в виде блюра и аля засветов

Но я этим занимаюсь по ночам, раз в пол года, я не настоящий сварщик. Пока в Блендере был игровой движок и было время, мне хватало за глаза. А теперь уж всё не то. :)

ChekPuk ()
Ответ на: комментарий от RedEyedMan666

Полагаю, у Unreal Engine 4 с этим еще круче.

Еще бы. Наверняка переусложненное месиво, требующее сотни часов на изучение и i9/2080Ti для разработки :)

Мало того что переусложненное, там еще, несмотря на декларированную поддержку «некоторых нововведений», и С++ в основном довольно винтажный уже для 2020 года — месиво из макросов и велосипедов вместо стандартной либы, «здравствуй мой 2003». Интеграция с чем-то отдельный секс. А система сборки С++ на С# — это... «ну такое». Ну и на сладкое, «редактор» — часть бинаря игры. Стреляешь в ногу в игре — роняешь редактор. Норм? :)

slackwarrior ★★★★★ ()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Опять же, проходы рендера - там вообще это регулируется? И вообще там рендеринг регулируется?

Честно говоря, без понятия. Не пользовался никогда, мне UE4 хватает.

MageasteR ★★★★★ ()
Ответ на: комментарий от ChekPuk

Может и лучше, с технической стороны. Но мне не хватает компа и терпения даже на запуск анрила. Как же потом играть в это? Чтобы сделать этакий Сокобан на анриле надо иметь трёхэтажный комп?

Не разделяю твоих печалей, ибо компьютер у меня неслабый, всё, в том числе и UE4Editor летает.

totik ()
Ответ на: комментарий от anonymous

А потом мир вырастет до пары десятков квадратных километров и… Для примера можешь посмотреть SCUM и тот леденящий душу, что получается после каждого обновления (ставит на колени i7 + 2080 + 4 ССД в raid0).

На моем компьютере летают и PUBG и ARK, что говорит о том, что большие открытые миры движок тянет хорошо.

totik ()
Ответ на: комментарий от RedEyedMan666

Кстати, под линем он у меня так и не собрался, высрав малопонятный бэктрейс с жалобами на Mono. Я так и не понял, чего он хотел от нее.

У меня собрался пакетом в archlinux из AUR. Пакет нужен?

totik ()
Ответ на: комментарий от RedEyedMan666

Еще бы. Наверняка переусложненное месиво, требующее сотни часов на изучение и i9/2080Ti для разработки :)

Ну да, изучать не так легко, как libGDX, но, полагаю, что только потому что, он на несколько голов выше аналогов, гораздо фичастее, а не потому что представляет собой месиво.

Ryren 7 2700X / RTX2070 / 16 Gb RAM / SSD хватает для комфортного обучения. О больших картах и проектах пока говорить не приходится. Загруженные демки подтормаживают с включенным отображением текстур и эффектов в редакторе.

Сомневаюсь, что анрыльная прикладуха вообще взлетит на андроиде с каким-нибудь Mali.

На Redmi Note 4X под шестым андроидом запускаются и ворочаются.

totik ()
Ответ на: комментарий от OpenMind

Там это чуть ли не в одну кнопочку делается, мол, «зделать звиздата» и мыыыыло с пересветами... Кросотаааа :) но тормозит и с и без мылов и пересветов. Проверено и на линуксе и на винде. Ой, это я про Армор. Но и в Годо тоже не особолучше

Из всех свободных движков с редакторами мне нравятся Godot, Urho3D и UpBGE. Но у первого рендеринг «фиксированный», у второго порог вхождения высоковат, да и редактор жутко глючный, а у третьего никаких шансов на андроиде выпустить игрульку (пусть оно мне и через сто лет только понадобится) и разраб сильно латиносского направления, а я в бразильских языках ни бум-бум. Всё не знаю на чём остановиться. То там, то тут пробую и моделю в блендере потихоньку.

Но самое подляцкое то, что все мои игровые потуги сгинули в цепких лапах кота.

ChekPuk ()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от RedEyedMan666

Движок поддерживает OpenGL, DirectX 9 (не полностью?)

Это должно было тебя насторожить. Но если они вулкан запилят (с 2016 лол) и отладят, то это будет хороший апгрейд движка.

anonymous ()
Ответ на: комментарий от dmikis

на самом деле он изначально вроде разрабатывался для разработки под Nintendo DS, но сейчас это уже совсем другой движок, но на консольях игры на нем таки выпускают, Депонию для ps4 переписали на godot насколько знаю. Основная проблема тут в сложности совместить свободную лицензию и уберсекртное api консолей

zitzitz ()
Ответ на: комментарий от RedEyedMan666

У тебя скиллы есть. В отличие от меня.

В отличии от тебя у меня есть яйца, я альфа самец, а ты тут ноешь постоянно и мужиков клеишь.

Шоман

anonymous ()
Ответ на: комментарий от anonymous

Это должно было тебя насторожить

Не должно было. Директ мне неинтересен. А вулкан в отдельной ветке пилится, можно потестить. Я даже в виндовом билде игры буду использовать либо OGL либо Vulkan.

RedEyedMan666 ()
Ответ на: комментарий от totik

а не потому что представляет собой месиво.

Глянь исходники ради интереса так.

Ryren 7 2700X / RTX2070 / 16 Gb RAM / SSD хватает для комфортного обучения. О больших картах и проектах пока говорить не приходится. Загруженные демки подтормаживают с включенным отображением текстур и эффектов в редакторе.

Ну вот. На твоей довольно хорошей железке с этим движком можно только «обучаться», а не разрабатывать игры :)

RedEyedMan666 ()
Ответ на: комментарий от slackwarrior

Что касается C++, то я в нем не шарю (пока), не могу что-либо сказать. Но даже если перепишу свое поделие с питона на плюсы, то все эти штуки в том числе бусты и шаблоны врядли мне понадобятся. Будем понимать около 10% от всего С++, если не меньше :)

Ну и на сладкое, «редактор» — часть бинаря игры. Стреляешь в ногу в игре — роняешь редактор. Норм? :)

Ну врядли редактор часть бинаря игры, разве что запускается через исполняшку. Скорее всего, он в билд игры даже не включается. Иначе это было бы странно.

RedEyedMan666 ()
Ответ на: комментарий от anonymous

Но если они вулкан запилят (с 2016 лол) и отладят, то это будет хороший апгрейд движка.

Этот движок Диснеем передан в CMU, то есть, сообществу. А тут особо не спешат – в ветке вулкана примерно тыща коммитов.

RedEyedMan666 ()
Ответ на: комментарий от RedEyedMan666

Ну врядли редактор часть бинаря игры, разве что запускается через исполняшку. Скорее всего, он в билд игры даже не включается. Иначе это было бы странно.

«Исполняшка» — это движок. Редактор работает на нем и по сути в нем и да билдится вместе с ним «Таков путь!» (с) :) С твоей игрой он, увы, никак не развязан. Именно поэтому куча вылетов из-за «я только отредактировал меню, редактор падает на старте... памагити!»

slackwarrior ★★★★★ ()
Ответ на: комментарий от RedEyedMan666

Для многих это камень преткновенья — потому что билд на средних машинах не быстрый :) и чувакам обычно советуют обновить железо... чтоб быстрее падало — и быстрее крэш-репорты в сапорт улетали.

slackwarrior ★★★★★ ()
Ответ на: комментарий от RedEyedMan666

ну это многое говорит о том в каком состоянии этот движок. я тоже когда-то его смотрел, он не то чтобы плохой, дисней на нём вроде делал вр для своих парков развлечений. но ты и сам в курсе, что его «отдали».

дх 9 делалось для шиндоуз 98/хр, опенгл там возможно тоже не самый новый (я не знаю). но тебе виднее конечно.

anonymous ()
Ответ на: комментарий от RedEyedMan666

Что касается C++, то я в нем не шарю (пока), не могу что-либо сказать.

Вот и молодец, а то на форуме обычно много «спецов» типа

Что касается C++, то я в нем не шарю совсем, но у меня "есть много чего" сказать.

Владимир

anonymous ()
Ответ на: комментарий от ChekPuk

Urho3D

Какая-то переусложнённая фигня, которая расчитана на человека с бесконечным колличеством времени. При этом каких-то серьёзных преимуществ нет.

UpBGE

это я так помню форк обычного BGE из 2.79b. По удобству, он далеко ушёл вперед даже от популярнейших движков. Удобный, понятный даже без манов, функциональный. Но унылейшее быстродействие, даже по сравнению с Godot. Я помню чел на форуме Blender делал игруху, так на вид вышло что-то из 2001 года с претензией на 2002. С требованиями игрух из 2012 года и лагами.

Но самое подляцкое то, что все мои игровые потуги сгинули в цепких лапах кота.

они правят миром!

А вообще хотелось бы годного мануала по Годот, а то там 90% его возможностей вообще пропускают. Я бы например, хотел адектватное объяснение работы его шейдеров. В частности, как смешивать текстуры и рисовать по них с помощью масок. Например, добавив основную текстуру типа бетонной стены, добавить случанйое добавление царапин и потёртостей. Так же декали что-бы можно было домавить. Но пока мне времени не хватает адекватно сесть, найти нормальные маны и нормально изучить.

OpenMind ★★★ ()
Ответ на: комментарий от anonymous

ну это многое говорит о том в каком состоянии этот движок. я тоже когда-то его смотрел, он не то чтобы плохой

С учетом моих скиллов и моей железки, то есть, i7 3770/GTX 1050Ti, этот движок самый оптимальный. Вдобавок к нему можно подключить сторонний более продвинутый рендер и прочие штуки.

Хотя, чтобы использовать рендер от Тобиаса, мне придется менять видюху на 1060 или выше. Впрочем, моя «игра» задумана скорее ради моего самообучения и джастфорфана, чем ради продаж и заработка. Я, так сказать, не сторонник коммерциализации геймдева.

Что касается Unity и UE4, то они какие-то громоздкие и переусложненные для меня.

RedEyedMan666 ()
Ответ на: комментарий от ChekPuk

Может и лучше, с технической стороны. Но мне не хватает компа и терпения даже на запуск анрила. Как же потом играть в это? Чтобы сделать этакий Сокобан на анриле надо иметь трёхэтажный комп?

UT4 запускается на intel core 2 duo, 4 gb ram, 1 gb видео.

anonymous ()
Ответ на: комментарий от hobbit

Кто пробовал делать им что-нибудь в 3D?

я делал https://danilw.itch.io/e-ani (оно опенсурс, можно самому тыкать)

есть даже статья на хабре https://habr.com/ru/post/467779/

есть даже веб версия, которая прекрасно работает в Линукс-браузерах,и не работает в Виндовс даже отключив ANGLE (багрепортил wontfix всем пофик)

ququmba ()
Ответ на: комментарий от ChekPuk

Шейдеры очень дорогие, стоит поставить анимированный шейдер, с использованием таймера, начинает тормозить на простенькой сцене.

не знаю

вот проект демки,все 2Д, все на шейдерах(вся игра, логики на CPU никакой, только загрузка шейдеров)

https://danilw.itch.io/flat-maze или веб версия https://danilw.itch.io/flat-maze-web

все спрайты анимированные покадрово и много шейдеров подробнее https://habr.com/ru/post/474676/

ququmba ()
Ответ на: комментарий от ququmba

помню на Хабре эту демку. Хорошо сделана. Но удивляло и удивляет её невозможность работы в Ubuntu 18.04.3. Перейдя по ссылке увидел что вы дропнули поддержку линукса. Я конечно, запускал с редактора, но надо бы выпускать так, что-бы работало на мейнстриме. На меня заминусовали за это … Хотя я понимаю, что никто мне ничего не должен, но всё же автор должен думать о том как выложить своё поделие.

OpenMind ★★★ ()
Ответ на: комментарий от OpenMind

Но удивляло и удивляет её невозможность работы в Ubuntu 18.04.3

у меня Годот самосборка, для линукса и винды, и очевидно что в линуксе зависит от системных библеотек

кароче собрано с слишком новой glibc которой в убунте нет

и пересобирать под виртуалкой… мне супер не хотелось, может в будущем сделаю

но всё же автор должен думать о том как выложить своё поделие.

оно работает на последней версии glibc хочешь запускать обновляйся, или пользуйся вайном запуская виндовс версию

тратить еще 2 дня на сборку под все платформы, когда там посетителей 2 человека в год-очень сомнительно

ququmba ()
Ответ на: комментарий от ququmba

задумайся о апдейде

Ьудто бы деньги на этот «апдейд» ты лично ему задонейтишь. Если чел сидит на старом железе, то и ежу понятно, что у чела нет денег на новое железо. А когда они появятся, то он купит всё, что ему необходимо, не спрашивая твоего мнения.

RedEyedMan666 ()
Ответ на: комментарий от ququmba

Физика в Godot довольно ограничена, и начинает сильно уменьшать FPS уже при десятке активных объектов, поэтому отключены все столкновения между разрушенными кусками,

Это всё, что надо знать про Godot :) Хотя разрушениям коллизии не нужны, наверное.

RedEyedMan666 ()