LINUX.ORG.RU

Godot 4.4

 , , ,

Godot 4.4

1

3

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

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

В результате серьёзного конфликта (подробнее: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) в сообществе в прошлом году был основан форк проекта - Redot. Форк стал ответом на жёсткую политику модерации в официальных каналах общения и непринятия разработчиками Godot суждений, расходящихся с их взглядами. Причинами создания форка названо желание решить проблемы с управлением сообществом и вернуться к работе на благо сообщества, а не во имя корпоративных интересов. Проект Redot пытается построить инклюзивное сообщество, в котором принимаются любые личные убеждения разработчиков, не приемлема политизация процесса разработки и основное внимание сосредоточено только на создании игр. В настоящее время активность разработки форка существенно отстаёт от движка Godot.

Основные изменения в Godot 4.4:

  • Добавлена официальная поддержка использования библиотеки Jolt в качестве альтернативного движка симуляции физических процессов.
  • На платформах Linux, Windows и Android реализована возможность встраивания игры непосредственно в окно редактора (без открытия отдельного окна). Новый режим позволяет взаимодействовать с игрой как с остальными частями редактора, при том, что как и раньше игра выполняется в отдельном процессе.
  • В редактор добавлен режим интерактивного изменения запущенной или приостановленной игры. Например, теперь можно на лету менять положение камеры или вносить изменение в сцену.
  • В версию редактора для платформы Android добавлена поддержка стандарта OpenXR и реализована возможность редактирования игр в режиме виртуальной реальности. В настоящее время в редакторе поддерживаются 3D-шлемы Meta Quest 3, Quest 3S и Quest Pro.
  • Добавлена поддержка убершейдеров (ubershader), предварительно скомпилированных универсальных вариаций каждого шейдера, которые включают в себя все возможности, необходимые для рендеринга. Убершейдеры используются в качестве резервных в моменты, когда специализированный шейдер ещё не скомпилирован, что позволяет избавиться от подвисаний, возникающих из-за ожидания завершения компиляции шейдеров на лету.
  • Добавлена поддержка интерполяции при симуляции физических процессов в трёхмерном пространстве (в прошлой версии интерполяция была доступна только для 2D). Интерполяция добавляет дополнительные кадры для отрисовки промежуточных состояний между текущей и следующей позициями объекта, что делает вывод более плавным на экранах с высокой частотой обновления и на маломощных устройствах.
  • Добавлена поддержка алгоритма тональной коррекции AgX (tone mapper), позволяющего добиться более реалистичных результатов при наличии пересвеченных областей, за счёт приближения ярких цветов к белому цвету по аналогии с настоящими камерами. По сравнению с реализацией из Blender, алгоритм упрощён и оптимизирован для использования при отрисовке в режиме реального времени.
  • В язык GDScript добавлена поддержка типизированных словарей (ассоциативных массивов):
    var typed_key_value: Dictionary[int, String] = { 1: "first value", 2: "second value", 3: "etc" }
    var typed_key: Dictionary[int, Variant] = { 0: "any value", 10: 3.14, 100: null }
    var typed_value: Dictionary[Variant, int] = { "any value": 0, 123: 456, null: -1 }
    
  • Добавлена поддержка идентификации ресурсов по уникальным идентификаторам (UID), не привязанным к файловому пути.
  • В редакторе реализована возможность прикреплять (snap) 3D-объекты к другим поверхностям в сцене.
  • В нижнюю панель редактора добавлена вкладка для вычисления произвольных выражений с учётом состояния, зафиксированного при срабатывании точки останова.
  • В редактор GDScript добавлены подсказки с информацией из документации, всплывающие при наведении курсора на функции, переменные и классы.
  • Обеспечено запоминание состояния окна редактора и его восстановление после перезапуска.
  • В версии редактора для платформы Android реализована поддержка генерации и экспорта APK-пакетов и исполняемых файлов для других платформ.
  • На платформе Linux реализована поддержка web-камер.
  • Добавлена поддержка загрузки WAV-файлов на лету, по аналогии с файлами OGG Vorbis.
  • В состав интегрирован инструментарий Betsy, применяемый для упаковки изображений в различные форматы текстур.

Видеообзор новых возможностей Godot 4.4

Показ некоторых последних игр Godot 2024

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

★★★

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

Проект Redot ничего не пытается построить

Этот форк скорее пинок под зад руководству godot. Свою задачу, насколько я понимаю, он выполнил.

andreyu ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Да чему там завидовать?? Это же время собственной жизни...

Somebody ★★★
()
Ответ на: комментарий от I-Love-Microsoft

Не знаю, чтобы вау, но мне нравится залипать в Dome keeper. Можно часами мозг проветривать.

rmu ★★
()
Ответ на: комментарий от LINUX-ORG-RU

Даже багу оформить теряешься. Тут надо садится и запускать все демки что есть, составлять список падений с отчётами и одним хопом слать.

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

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

Там 5000+ проблем, и 282 сообщений о падении только для 4.4. Я сотню просмотрел, два из 4 моих там уже есть, прежде чем репортить надо проверить проблему на дубликат. С учётом того что я godot не использую, а просто ради интереса раз в выпуск потыкать запускаю дальше нет смысла рыть, так как порой в обсуждениях бага могут спросить сделать что-то о чём я понятия не имею в рамках использования движка.

Ничего обидного нет, с миру по нитке, проблем с отчётностью у движка нет, лучшее что я смог это не отсылать дубликаты issue :)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от AP

А разве после пинка что-то принципиально поменялось?

Без понятия, не слежу за их разборками.

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

«Зад» наверняка «прочувствовал» и «осознал». Дошло ли до «головы» — вопрос отдельный... ;)

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

Мне не нравится VSCode, и не хочется иметь каких то интеграций, хочется возможность написать файл и как в love2d его запустить или скомпилировать с ресурсами. Но в Godot процесс мне напоминает первую встречу с Visual Studio, где приходилось искать видео и скриншоты, что бы понять какие окна нужно открывать, какие кнопки нажимать.

Принцип того как работает love2d мне нравится, закидываешь файл, ресурсы, запускаешь love.exe, но сам движок не очень подходит. У godot все наоборот, какой то мышевозный процесс но сама платформа вроде бы лучше, хотя бы веб из коробки.

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

не хочется иметь каких то интеграций, хочется возможность написать файл и как в love2d его запустить или скомпилировать с ресурсами

🤷 Так кто тебе запрещает? Проект - это набор plain text файлов, открывай в своём любимом редакторе и редактируй. Командная строка у godot тоже задокументирована.

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

Проект - это набор plain text файлов

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

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

Если ты про tscn, этот формат задокументирован: https://docs.godotengine.org/en/stable/contributing/development/file_formats/tscn.html

Да, чтобы его редактировать вручную, надо разбираться что такое сцена в godot и чем её наполняют, какие бывают классы узлов и какие у них свойства. Это всё, опять же, задокументировано. GUI редактора существует как раз для того чтоб разложить все эти опции сразу перед тобой.

В принципе, никто не запрещает этим не пользоваться, работать с пустой сценой и делать всё скриптами вручную, как в love2d. Тогда, конечно, не совсем понятно, зачем тебе Godot :)

Просто Love2D и Godot это разные вещи, Love2d это клей между SDL/Box2D и Lua, Godot уже полноценный движок с кучей абстракций. Нельзя ожидать что более сложный инструмент будет также прост в обращении.

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

Если ты про tscn, этот формат задокументирован: https://docs.godotengine.org/en/stable/contributing/development/file_formats/...

Там много разных файлов, например формат InputMap какой? Если этого описания нету, нету документации, то разницы между текстовым и бинарным форматом мало, проще в код залезть в любом случае.

Тогда, конечно, не совсем понятно, зачем тебе Godot :)

А я же описал, у love2d не очень движок, нету стандартного экспорта в веб, нету такого 3д, итд.

Просто Love2D и Godot это разные вещи, Love2d это клей между SDL/Box2D и Lua, Godot уже полноценный движок с кучей абстракций. Нельзя ожидать что более сложный инструмент будет также прост в обращении.

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

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

просто движок не предназначен для работы вне его неудобного на мой взгляд редактора

Внезапно", да? ;P :))

Ну не подумали его разработчики о тебе, прости...;)

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

Somebody ★★★
()
Ответ на: комментарий от I-Love-Microsoft

Самая графичная говорят Road to Vostok. Так что не только пиксели клепают.

Из залипательных Backpack battles, Thrive. Хочу особо выделить Turing complete. Такой симулятор-головоломка микроэлектронщика, где можно изобрести свой процессор.

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

Да этого не хватает. Хочется видеть какие параметры для ноды поставил в самом коде. Самое неудобное когда конектить сигнал, если конектить не в функции, а через интерфейс, то это не видно, нужно в специальную вкладку заходить. Поэтому некоторые вещи удобнее делать явно в коде, а в сцене оставлять только дерево нод. Но редактор позволяет разнообразно редактировать разнообразные ресурсы. Например анимации, можно создавать через интерфейс с таймлайном, а можно тоже самое сделать самому руками через код или написать обвязку. Особенно когда хочешь сделать процедурную анимацию без этого не обойтись.

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

если конектить не в функции, а через интерфейс, то это не видно

  • В дереве сцен у нод с подключенными сигналами есть индикатор. (как уровень сигнала). Клик по нему тоже открывает панель с сигналами.
  • В редакторе кода есть индикаторы на методы к которым подключен сигнал.

Но это все не очень наглядно, да.

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

Ты случайно godot не на русском запускаешь?

Ага, но оно локаль само вроде ловило. Может попозже ещё раз тыкну ради интереса, спасибо.

LINUX-ORG-RU ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.