Скриншот редактора в Годо 3.1 | |
Оригинальный автор (ы) | Хуан Линецкий, Ариэль Манзур |
---|---|
Первоначальный выпуск | 14 января 2014 г.; 6 лет назад (14.01.2014) |
Стабильный выпуск | 3.2.3 / 17 сентября 2020 г.; 33 дня назад (2020-09-17) |
Репозиторий | |
Написано на | C, C ++ |
Операционная система | Windows, macOS, Linux, FreeBSD, NetBSD, OpenBSD, |
Платформа | Linux, macOS, Windows, BSD, iOS, Android, UWP, HTML5, WebAssembly |
Доступно в | Multilingual |
Тип | Игровой движок |
Лицензия | Лицензия MIT |
Alexa ранг | 25,418 (по всему миру, сентябрь 2020 г.) |
Веб-сайт | godotengine.org |
Godot - это двухмерный и трехмерный, кроссплатформенный, бесплатный игровой движок с открытым исходным кодом, выпущенный по лицензии MIT. Первоначально он был разработан Хуаном Линецким и Ариэлем Манзуром для нескольких компаний в Латинской Америке до его публичного выпуска. Среда разработки работает в нескольких операционных системах, включая Linux, macOS и Windows. Godot может создавать игры для PC, мобильных и веб платформ.
Godot стремится предложить полностью интегрированную среду разработки игр. Он позволяет разработчикам создавать игры с нуля, не нуждаясь в других инструментах, кроме тех, которые используются для создания контента (художественные ресурсы, музыка и т. Д.). Архитектура движка построена на концепции дерева «узлов». Узлы организованы внутри «сцен», которые представляют собой группы узлов многократного использования, создания экземпляров, наследуемые и вложенные. Все игровые ресурсы, включая сценарии и графические ресурсы, сохраняются как часть компьютерной файловой системы (а не в базе данных ). Это решение для хранения данных предназначено для облегчения сотрудничества между командами разработчиков игр, использующими системы контроля версий программного обеспечения.
. Движок поддерживает развертывание на нескольких платформах и позволяет определять параметры сжатия текстур и разрешения для каждой платформы. В настоящее время поддерживаемые платформы включают Linux, macOS, Windows, BSD, Android, iOS, UWP, HTML5 и WebAssembly.
Игры с использованием Godot могут быть созданы с помощью различных языков программирования, включая C ++, C# и любой другой язык с привязками GDNative, например Rust, Nim и D.
Godot, также имеет собственный встроенный язык сценариев , GDScript, высокоуровневый, динамически типизированный язык программирования, очень похожий на Python. В отличие от Python, GDScript имеет строгую типизацию переменных и оптимизирован для архитектуры Godot на основе сцен. Разработчики Godot заявили, что многие альтернативные сторонние языки сценариев, такие как Lua, Python и Squirrel, были протестированы, прежде чем было решено, что использование специального языка позволяет оптимизация и интеграция редактора. Движок также поддерживает визуальное кодирование через собственный встроенный язык визуального программирования VisualScript, разработанный как визуальный эквивалент GDScript
Godot включает редактор сценариев с автоматическим отступом, подсветка синтаксиса и завершение кода. Он также имеет отладчик с возможностью установки точек останова и программных шагов.
Графический движок Godot использует OpenGL ES 3.0 для всех поддерживаемых платформ; в противном случае используется OpenGL ES 2.0. В будущем разрабатывается поддержка Vulkan. Движок поддерживает отображение нормалей, зеркальность, динамические тени с использованием карт теней, запеченные и динамические Global Illumination и полноэкранные пост- эффекты обработки, такие как bloom, DOF, HDR и гамма-коррекция. Также включен упрощенный язык шейдеров, аналогичный GLSL. Шейдеры можно использовать для материалов и постобработки. В качестве альтернативы их можно создавать, манипулируя узлами в визуальном редакторе.
Godot также включает в себя отдельный графический движок 2D, который может работать независимо от 3D-движка. Двумерный движок поддерживает такие функции, как освещение, тени, шейдеры, наборы тайлов, параллаксная прокрутка, полигоны, анимация, физика и частицы. Также возможно смешивать 2D и 3D с помощью «узла просмотра».
Godot содержит систему анимации с GUI для скелетной анимации, наложения, деревья анимации, морфинг и кат-сцены в реальном времени. Практически любую переменную, определенную или созданную в игровом объекте, можно анимировать. Движок использует Bullet для моделирования трехмерной физики.
Дополнительные функции включают:
Развитие Годо было начато Хуаном 'Редузом Линецким и Ариэлем' punto 'Манзуром в 2007 году. Линецкий заявил в презентации, что имя "Годо" было выбрано из-за его связи с Игра Сэмюэля Беккета В ожидании Годо, поскольку она представляет бесконечное желание добавить новые функции в движок, которые приблизили бы его к исчерпывающему продукту, но никогда не сделают этого. В феврале 2014 г. исходный код для Godot был опубликован на GitHub по лицензии MIT.
15 декабря 2014 г. Godot достиг версии 1.0, что означает первый стабильный выпуск и добавление lightmapping, поддержка navmesh и другие шейдеры. Версия 1.1 была выпущена 21 мая 2015 года, добавив улучшенное автозаполнение в редакторе кода, редактор визуальных шейдеров, новый API в операционную систему для управления экранами и окнами, переписанный 2D-движок, поддержка нового 2D-навигационного многоугольника, значительно улучшенный экспортер Blender Collada и новая темная тема. Новый на тот момент 2D-движок включал шейдеры, материалы, независимое Z-упорядочение для каждого узла, источники света, тени с многоугольными окклюдерами, отображение нормалей и поддержку шрифтов с дистанционным полем. Годо присоединился к Software Freedom Conservancy 4 ноября 2015 года.
Godot 2.0 был выпущен 23 февраля 2016 года. Новые функции включали улучшенное создание экземпляров и наследование сцен, новый браузер файловой системы, редактирование нескольких сцен и усовершенствованный отладчик. За этим последовала версия 2.1 в августе 2016 года, в которой были представлены база данных активов, профилировщик и API плагинов.
22 июня 2016 года Godot получил 20 000 долларов США Mozilla Open Source Support (MOSS) Награда «Партнеры миссии» будет использована для добавления поддержки WebSockets, WebAssembly и WebGL 2.0. Позже, при поддержке Мигеля де Икасы, Годо получил пожертвование в размере 24000 долларов от Microsoft на внедрение C # в качестве языка сценариев в Godot.
Версия 3.0 была выпущена 29 января 2018 года, добавив совершенно новый рендерер PBR реализовано в OpenGL ES 3.0, совместимость с виртуальной реальностью и поддержка C # (через Mono ). Версия 3.0 также добавила физический движок Bullet в дополнение к встроенной в него 3D-физике и стала первой версией Godot, включенной в Debian. Godot 3.1 был выпущен 13 марта 2019 года, наиболее заметными особенностями которого являются добавление статически типизированного GDScript, системы классов скриптов для GDScript и модуля рендеринга OpenGL ES 2.0 для старых устройств и мобильных устройств. Godot 3.2 был выпущен 29 января 2020 года, наиболее заметными особенностями которого являются значительные улучшения документации, значительно улучшенная поддержка C # и поддержка файлов glTF 2.0. Ведущий разработчик Хуан Линецкий большую часть времени работал над отдельной веткой Vulkan, которая позже будет объединена в master для 4.0, поэтому работа над 3.2 в основном выполнялась другими участниками. Работа над 3.2 продолжается в виде выпуска с долгосрочной поддержкой, включая Godot 3.2.2 от 26 июня 2020 года, большой выпуск исправлений, в который добавлены такие функции, как OpenGL ES 2.0 пакетная обработка и поддержка C # для iOS.
3 февраля 2020 года Godot получила награду Epic Games в размере 250 000 долларов США за улучшение графического рендеринга и встроенного в движок языка разработки игр GDScript. 8 июля 2020 года Хуан Линецкий упомянул, что награда Epic Games будет использована для постоянного найма себя и Джорджа (Маркеса) на 2 года с целью бесплатного пожертвования средств для новых целей.
Многие игры OKAM Studio были созданы с использованием Godot, в том числе Dog Mendonça и Pizza Boy, в которых используется расширение для приключенческих игр Escoria. Кроме того, он был использован в программе средней школы Западной Вирджинии из-за простоты использования для непрограммистов и того, что описывается как «множество учебных материалов, которые уже существуют для программного обеспечения. ".