Официальный репозиторий Godot Engine находится на GitHub по адресу организации godotengine, и основной репозиторий называется godot — именно оттуда разработчики клонируют исходный код движка, а не скачивают готовый бинарник с сайта. Если вам нужна не просто сборка редактора, а сам код, возможность собрать движок под свою платформу или отправить исправление ошибки, работа начинается именно с GitHub.
Проект Godot распространяется по лицензии MIT, что позволяет свободно изучать, изменять и использовать исходники даже в коммерческих проектах. В этой статье разберём структуру репозитория, способы получения кода, сборку через SCons и правила участия в разработке.
Структура репозитория godotengine/godot
Репозиторий godotengine/godot содержит полный исходный код движка и редактора. Основные каталоги отражают архитектуру проекта: ядро, рендереры, драйверы платформ, модули и сам редактор.
- 📁
core/— базовые классы, математика, система объектов и Variant; - 📁
scene/— узлы дерева сцены, GUI, анимации; - 📁
servers/— серверы рендеринга, физики и звука; - 📁
editor/— код редактора Godot; - 📁
modules/— подключаемые модули, включая GDScript; - 📁
platform/— код под Windows, Linux, macOS, Android, iOS и Web.
Кроме основного репозитория, в организации godotengine есть смежные проекты: godot-docs с исходниками документации, godot-cpp для расширений GDExtension на C++, а также репозитории демо-проектов и шаблонов экспорта.
Как скачать исходный код с GitHub
Есть два способа получить код: скачать архив кнопкой Code → Download ZIP или клонировать репозиторий через Git. Для разработки предпочтителен второй вариант — он сохраняет историю коммитов и позволяет обновляться.
git clone https://github.com/godotengine/godot.git
cd godot
Полный клон вместе с историей занимает заметный объём на диске. Если история не нужна, можно получить только последнее состояние кода:
git clone --depth 1 https://github.com/godotengine/godot.git
Для сборки конкретной версии движка переключитесь на соответствующий тег. Список тегов виден в разделе Releases репозитория, а переключение выполняется командой вида git checkout 4.2-stable — точное имя тега сверяйте на странице релизов, так как нумерация версий меняется.
Сборка Godot из исходников
Godot собирается системой SCons, написанной на Python. Перед началом потребуется установить Python, сам SCons и компилятор для вашей платформы — под Windows это обычно инструменты Visual Studio, под Linux — GCC или Clang. Точный перечень зависимостей зависит от целевой платформы, поэтому актуальный список стоит брать из официальной документации раздела «Compiling».
Базовая команда сборки редактора выглядит так:
scons platform=windows target=editor
Для ускорения компиляции укажите число потоков через параметр -j, например scons -j8. Первая сборка движка — длительный процесс даже на производительной машине, это нормально. Готовый исполняемый файл появится в каталоге bin/.
☑️ Подготовка к сборке Godot из исходников
⚠️ Внимание: параметры сборки и имена целей могут отличаться между мажорными версиями Godot. Команды для Godot 3.x и Godot 4.x не идентичны — сверяйтесь с документацией именно той ветки, которую собираете.
Ветки, релизы и ночные сборки
Ветка master — это активная разработка следующей версии движка. Стабильные линейки живут в отдельных ветках вида 4.x и 3.x, а конкретные выпуски помечаются тегами. Если вам нужен код для продакшн-проекта, берите тег стабильного релиза, а не master.
| Источник | Что содержит | Кому подходит |
|---|---|---|
| Тег релиза | Стабильный код конкретной версии | Продакшн-проекты |
| Ветка master | Новейшие изменения, возможны баги | Разработчики движка |
| Releases на GitHub | Готовые бинарники и исходники в архиве | Быстрый старт без сборки |
| Форк репозитория | Ваша копия для правок и PR | Участники разработки |
Репозиторий godotengine/godot — один из самых активных проектов на GitHub по числу контрибьюторов среди игровых движков, поэтому ветка master меняется ежедневно: перед сборкой обновляйте локальную копию через git pull.
Как внести вклад в разработку
Участие в проекте начинается с форка репозитория кнопкой Fork на GitHub. Далее вы клонируете свой форк, создаёте отдельную ветку под изменение, вносите правки и отправляете Pull Request в основной репозиторий. Прямой пуш в godotengine/godot доступен только мейнтейнерам.
Перед отправкой PR стоит изучить документ CONTRIBUTING.md в корне репозитория — там описаны требования к оформлению кода, стилю коммитов и процессу ревью. Изменения, не соответствующие гайдлайнам, могут отклонить или отправить на доработку.
Что ещё можно сделать без написания кода
Помимо кода, проект принимает помощь с переводом редактора и документации, тестированием предрелизных сборок, написанием баг-репортов с минимальным проектом для воспроизведения и улучшением документации в репозитории godot-docs.
Баг-репорты оформляются через раздел Issues. Хороший репорт содержит версию движка, операционную систему, шаги воспроизведения и, желательно, минимальный тестовый проект. Репорты вида «не работает, почините» без деталей обычно закрываются с просьбой дополнить информацию.
⚠️ Внимание: перед созданием нового issue поищите по существующим — высока вероятность, что ваша проблема уже зарегистрирована. Дубликаты размывают трекер и замедляют работу мейнтейнеров.
Поиск по коду и полезные инструменты GitHub
Чтобы найти нужный класс или функцию в большом репозитории, используйте встроенный поиск GitHub по коду или нажмите клавишу . на странице репозитория — откроется веб-версия редактора кода с навигацией по файлам. Это удобно для быстрого изучения реализации узлов и серверов без клонирования.
История изменений конкретного файла доступна через кнопку Blame и вкладку коммитов. Если вы отлаживаете регрессию — то есть ошибку, появившуюся после обновления версии, — полезен инструмент git bisect, который методом деления истории пополам находит коммит, внёсший проблему.
Часто задаваемые вопросы
Где находится официальный репозиторий Godot на GitHub?
В организации godotengine, основной репозиторий называется godot. Рядом размещены документация, демо-проекты и другие связанные репозитории. Проверяйте, что репозиторий принадлежит именно официальной организации, чтобы не скачать сторонний форк.
Можно ли использовать код Godot в коммерческом проекте?
Да. Движок распространяется по лицензии MIT, которая разрешает использование, модификацию и коммерческое применение. Условия лицензии описаны в файле LICENSE.txt в корне репозитория — ознакомьтесь с ним для точного понимания обязательств.
Чем отличается скачивание ZIP от git clone?
ZIP-архив содержит только файлы без истории изменений — вы не сможете обновиться до нового коммита или переключиться на другую ветку. Клонирование через Git сохраняет полную историю и позволяет работать с версиями, поэтому для разработки используют именно его.
Нужно ли собирать движок самому, чтобы делать игры?
Нет. Для разработки игр достаточно готового редактора с официального сайта или со страницы Releases на GitHub. Самостоятельная сборка нужна для модификации движка, кастомных модулей, отладки ядра или платформ без готовых бинарников.
Как сообщить об ошибке в движке?
Через раздел Issues репозитория godotengine/godot. Укажите версию Godot, операционную систему, шаги воспроизведения и приложите минимальный проект, демонстрирующий проблему. Предварительно проверьте, не зарегистрирован ли такой баг ранее.