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 ()

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

Я разработчик, мне интересно. Вас таки оскорбляют большие объемы?)

Вообще задолбало поколение айфона, ничего больше твита осилить не может…

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

Примитивноват. Из доп. проходов рендера только АО. Шейдеры очень дорогие, стоит поставить анимированный шейдер, с использованием таймера, начинает тормозить на простенькой сцене. Открытые миры ему не сильно-то по зубам. Так, мелочь можно и даже неплохо. Но мне все эти PBRы не нужны, а сделать с «картинкой» то что позволяет Блендер не получается.

Тут бы какойнить Urho3D вспомнить, там можно рулить, но создать проект и дойти до проходов рендера далеко не всякий дотерпит. А в Godot как раз проекты создавать просто.

ChekPuk ()

Сабж не осилил. Редактор показался простым, но неудобным, не чета редактору Blender’а.

Поэтому выбрал Panda3D, где, например, абсолютно всё реализуется написанием кода. Понравились система нодов, возможность подключения стороннего рендера, написание кастомных шейдеров на GLSL и т.д. (мне не придется покупать шейдеры как в этих юнитях).

Но особенно нравится выбор языка для написания игровых скриптов — Python или C++. Не какие-то там сишарпы некрософтские или джава. Кодить относительно легко.

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

Начни с простого, допустим захоти написать minecraft (немного телодвижений и за неделю может любой программист на Unity накидать), на этом чуде у тебя не поулчиться так быстро. Сидел когда-то в их русскоязычном дискорде, там знаний ну на тетрис можно насобирать.

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

Им это кем, годо? Ну в принципе он норм, конечно не переднем краю разработки, но и не полное говно, вполне рабочая штука так то. Опять же гдскрипт достаточно приятный, сама идеалогия представления всего как ноды позволяет быстро и легко собирать проект из кусков и разделять задачи, единственный минус такого подхода в том, что очень легко говнокодить и вместо того чтобы использовать систему условных «слотов и сигналов» можно просо напрямую добраться до нужной ноды по иерархии.

это если кратко. В общем приятная вещица, на ней даже можно в принципе прикладной софт клепать и гуевые оконные приложухи.

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

А как там с портированием на Андроид? Godot подкупает, опять же, написанием универсального кода для всех платформ.

Полагаю, у Unreal Engine 4 с этим еще круче. В данный момент занимаюсь его изучением и пока всё очень радует.

totik ()

Переход с Godot 3.2 на Godot 4.0 потребует переработки приложений из-за нарушения совместимости на уровне API

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

с другой стороны, если они не будут этого делать, то те же васяны которые там отправляют пул реквесты с «исправлениями readme» будут кукарекать на лоре про то, что годот устарел.

даже не знаю как годоту из этого порочного круга вырваться, наверное никак. это всё уже было в ogre 3d, irrliсht и т.д. и т.п.

расскажите лучше что-нибудь хорошее про него, не вот эту всю чепуху, а про какие-нибудь потребительские качества. он умеет компилироваться в js и запускаться в браузере на планшете?

anonymous ()

Что такое простыня текста? Это сленговое обозначение материала больших размеров, где нет четкого разделения на абзацы или же «провалена» вся структуризация контента. Простыни создаются чаще всего из-за неопытности или из-за неудержимого зуда графоманства.

Источник: https://textis.ru/prostyinya-teksta

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

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

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

UE4 - монстр на плюсах, Godot - аля инди движок на питончике. Чуешь разницу? Зато бесплатно, и опенсурс, думаю, когда они привлекут инвестиции как Блендер на сотни миллионов, тода и допилят до около-юнити качества, а пока не для всех проектов он удобен, но для 2D игрушек типа птичек и свиней - самое то!

menangen ★★★★★ ()
Последнее исправление: menangen (всего исправлений: 1)

игру своей мечты я явно буду делать не на этом. Я считаю самое главное в любой игре - крутой движок, который вытащит крутые симуляции и в хороших масштабах, как это было с Террарией и Факторией. Может ещё Дварфов туда же. Остальные игры херня, всё равно что в пейнте нарисовать солдатиков и двигать их выделением туда сюда.

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

Unreal Engine 4. В данный момент занимаюсь его изучением и пока всё очень радует.

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

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

Интерфейс его на годошных нодах. По сути, редактор годота - такая же игра, поставляемая в комплекте с движком. плюс этого - можно лепить расширения редактора на GDScript и дефолтных нодах. Есть варианты без редактора - сервер и шаблоны экспорта. Прикольная фишка - можно просто положить исполняемый файл Godot в папку проекта.

anonymous ()

О! Анимированная гифка на глагне!

Наконец-то это случилось!

На лори срочно необходимо сделать чтобы постить видосики!

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

Нужно только подготовить файлы-ключи, а потом он сам всё спокойно делает. Выбирал движок за простоту и кроссплатформенность, в принципе доволен

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

Умеет правда не идеально конечно, на самом деле годо хорош как проект который можно взять и допилить. Мне кажется он намного лучше подходит для условного индюка, чем тот же юнити или анрил в которые все лезут.

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

На андроиде движок еще не запускал, но это в планах у меня.

Godot подкупает, опять же, написанием универсального кода для всех платформ.

Думаю, код для Panda3D может быть настолько универсальным, насколько универсальны Python/C++.

Прикладуха собирается под винь/линь и макось (про ведроид не знаю) с помощью setuptools (для питонокода) или обычным g++ (для плюсокода).

Движок поддерживает OpenGL, DirectX 9 (не полностью?) вроде как и OpenGL ES тоже. С 2016 года пилится поддержка Vulkan. https://github.com/panda3d/panda3d/tree/vulkan

Так что, пробуй.

А Godot, как мне кажется, больше годится для мобильной разработки с 2D и несложным 3D на ведроидах.

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

Игровых движков, написанных полностью на питончике не бывает :)

думаю, когда они привлекут инвестиции как Блендер на сотни миллионов, тода и допилят до около-юнити качества,

Спасибо, не надо нам такое «юнити-качество».

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

Зато бесплатно, и опенсурс

UE4 тоже бесплатно и опенсурс.

когда они привлекут инвестиции как Блендер на сотни миллионов,

Ну Блендер привлёк сотни миллионов разве что в рублях. 1,2М баксов от Epic Games таки размазаны на несколько лет.

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

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

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

В данный момент занимаюсь его изучением и пока всё очень радует.

А железка какая, и сколько времени уже изучаешь?

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

Чтобы сделать этакий Сокобан на анриле надо иметь трёхэтажный комп?

Это что ж у тебя за калькулятор? Хотяяяя... как ни странно, на 4-х гигах оперативы на том же железе, у меня он на W10 летает по сравнению с убунтой. При том, что венда стоит на IDE-шном винте, а убунта на SATA-шном.

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

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

С пакетов ставил? У меня на генте он не собрался.

как ни странно, на 4-х гигах оперативы на том же железе, у меня он на W10 летает по сравнению с убунтой.

Игровой мир разрастется и тогда тебе твоего железа будет мало. Конечно, такое возникает на любом движке, но с анрылом это произойдет намного быстрее :)

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

Запускал анрыл с демкой в редакторе на Intel Dualcore E6500, 4GB, GT 630, Win7 хрен знает сколько лет назад. Лагало адски. Сейчас у меня железо чуть помощнее, i7 3770, 8GB, GTX 1050Ti, но я всё равно решил с этим движком не связываться.

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

С пакетов ставил?

Каких пакетов, откуда? Из сырцов собирал.

Игровой мир разрастется и тогда тебе твоего железа будет мало.

Да даже на пустом мире, элементарный редактор материалов на убунте люто тормозит.

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

Запускал анрыл с демкой в редакторе на Intel Dualcore E6500, 4GB, GT 630

AMD Phenom II 1055T, 4G RAM (завтра будет 16), GTX 550Ti, на венде работает прекрасно, как ни странно, чуть ли не шустрее Юнити.

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

Из сырцов собирал.

Не подскажешь как именно? Какая Mono ему нужна?

Да даже на пустом мире, элементарный редактор материалов на убунте люто тормозит.

Ну это можно связать с проблемами с видеодрайвером. Другое дело если тормозит сцена.

P.S. И похоже даже для разработки на Panda3D мне придется сменить видеокарту на 1060 как минимум, ибо даже с простой активной сценой выдает 30 кадров в секунду (добавил немного неаккуратной растительности, но это не отменяет боттлнек). А вы тут сказки городите про оптимизированный UE4 :D

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

GTX 550Ti

Сколько кадров выдает сцена? Сложность самой сцены? Сколько объектов добавлено? Используются ли ресурсоемкие фичи рендера? Добавлялась ли растительность и какие техники для ее оптимизации применялись?

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

Не подскажешь как именно?

Чётко по инструкции.

Какая Mono ему нужна?

Без понятия. ЕМНИП, ему шланг нужнее, чем мона.

Ну это можно связать с проблемами с видеодрайвером.

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

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

Сколько кадров выдает сцена? Сложность самой сцены? Сколько объектов добавлено? Используются ли ресурсоемкие фичи рендера? Добавлялась ли растительность и какие техники для ее оптимизации применялись?

Вот на этой сцене FPS в среднем 30-36, в одном месте проседает до ~24, в другом повышается до 42. Качество Cinematic, но масштаб разрешения 75%. Объектов несколько сотен, без occlusion culling-а, включение этой фичи на FPS не влияет. На материале камина используется SSS, отключение его убирает просадку до 24 FPS, но делает материал не шибко симпатичным. Растительность только в горшках, обычные статик меши. Свет весь статичный.

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

Например, дублируешь ноду, дубль появляется только через секунду-две после нажатия хоткея.

Похожий отклик был у интерфейса движка Unity. Под линем былонеюзабельно. Когда переносишь виджеты, то интерфейс как бы дёргается и ощутимо лагает. На винде подобного не было. Это и было одной из причин выбора движка Panda3D, чтобы можно было прогать под линем.

RedEyedMan666 ()