Первое, что нужно сделать при освоении Godot Engine — скачать движок с официального сайта и распаковать один исполняемый файл: установка не требуется, программа запускается сразу, без инсталлятора и дополнительных библиотек. Это одно из главных отличий Godot от крупных конкурентов — весь движок умещается в один файл размером в несколько десятков мегабайт, и работать с ним можно даже с флешки.
Godot — бесплатный движок с открытым исходным кодом, распространяемый по лицензии MIT: вам не нужно платить роялти и подписку даже за коммерческие проекты. На нём создают 2D- и 3D-игры для Windows, Linux, macOS, Android, iOS и веб-браузеров. В этом руководстве разберём, как пользоваться Godot Engine с нуля: от создания первого проекта до экспорта готовой игры.
Установка и первый запуск Godot
Зайдите на официальный сайт проекта godotengine.org и перейдите в раздел Download. Там доступны две версии: стандартная (с языком GDScript) и .NET-версия с поддержкой C#. Новичкам рекомендуется стандартная сборка — GDScript проще, а вся базовая документация и большинство уроков написаны именно под него.
После распаковки архива запустите исполняемый файл. Откроется Менеджер проектов — окно со списком ваших проектов и кнопкой Создать. Никакой регистрации и аккаунта не требуется: движок полностью автономен и не собирает телеметрию.
⚠️ Внимание: версии Godot 3.x и 4.x несовместимы между собой по API. Большинство свежих уроков и шаблонов ориентированы на Godot 4, поэтому начинать обучение лучше с четвёртой ветки, иначе код из старых руководств может не заработать.
Создание первого проекта
В менеджере проектов нажмите кнопку Создать, укажите имя проекта и папку на диске. Ниже выберите рендерер: для 2D-игр и слабых компьютеров подойдёт Compatibility, для современной 3D-графики — Forward+, а Mobile ориентирован на портативные устройства. Этот выбор можно изменить позже в настройках проекта.
После нажатия Создать и редактировать откроется главное окно редактора. Оно разделено на несколько областей:
- 🗂 Панель сцен (Scene) — слева, здесь отображается дерево узлов текущей сцены;
- 📁 Файловая система (FileSystem) — слева внизу, все ресурсы проекта: скрипты, спрайты, звуки;
- 🔍 Инспектор (Inspector) — справа, свойства выделенного узла;
- 🎮 Вьюпорт — центральная область, где вы визуально собираете уровень.
☑️ Подготовка проекта к работе
Сцены и ноды: фундамент Godot
Ключевая концепция движка — всё в Godot состоит из нод (узлов), а ноды объединяются в сцены. Нода — это готовый кирпичик с определённой функцией: Sprite2D рисует картинку, CharacterBody2D управляет персонажем с физикой, AudioStreamPlayer проигрывает звук, Camera2D отвечает за обзор. Сцена — это дерево таких узлов, например «игрок», «уровень» или «меню».
Чтобы создать сцену, нажмите Сцена → Новая сцена и выберите корневой узел. Для 2D-персонажа логично начать с CharacterBody2D, затем добавить дочерние узлы: Sprite2D для внешнего вида и CollisionShape2D для формы столкновений. Дочерние узлы наследуют положение родителя, поэтому вся конструкция двигается как единое целое.
Сцены можно вкладывать друг в друга: собрали персонажа один раз — вставляйте его в любые уровни через кнопку «Инстанцировать дочернюю сцену». Изменения в исходной сцене автоматически применятся ко всем её копиям. Именно система вложенных сцен — главная особенность Godot, ради которой стоит перестраивать мышление после других движков.
Написание скриптов на GDScript
Логика игры описывается скриптами, которые прикрепляются к нодам. Выделите узел, нажмите иконку свитка над деревом сцены или пункт Прикрепить скрипт в контекстном меню — Godot создаст файл с расширением .gd и шаблонным кодом. Встроенный редактор поддерживает подсветку синтаксиса и автодополнение, внешняя IDE не обязательна.
Две главные встроенные функции, которые вы будете использовать постоянно: _ready() вызывается один раз при появлении ноды в сцене, а _process(delta) — каждый кадр. Параметр delta — время, прошедшее с предыдущего кадра; умножайте на него скорость движения, чтобы игра вела себя одинаково на разных компьютерах.
extends CharacterBody2D
const SPEED = 200.0
func _physics_process(delta):
var direction = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
velocity = direction * SPEED
move_and_slide()
Этот короткий скрипт уже заставляет персонажа двигаться стрелками клавиатуры. Обратите внимание на @onready и знак $ — так в коде обращаются к дочерним узлам, например $Sprite2D вернёт ссылку на спрайт персонажа.
Почему физику пишут в _physics_process, а не в _process
Функция _physics_process вызывается с фиксированным шагом времени, независимо от частоты кадров. Это гарантирует стабильную работу столкновений и движения. Обычную логику (анимации, UI) размещают в _process, а всё, что связано с физикой и velocity, — в _physics_process.
Интерфейс, сигналы и отладка
Сигналы — встроенный механизм событий: узел «излучает» сигнал, а другой узел на него подписывается. Например, у кнопки Button есть сигнал pressed. Чтобы подключить его, выделите узел, откройте вкладку Нода рядом с инспектором, дважды кликните по сигналу и выберите скрипт-получатель — Godot сам создаст функцию-обработчик вида _on_button_pressed().
Для отладки используйте функцию print() — её вывод появляется в нижней панели Вывод. Ошибки скриптов подсвечиваются красным прямо в редакторе, а в панели Отладчик видны счётчики FPS, число объектов и использование памяти во время запуска.
⚠️ Внимание: если при запуске сцена открывается пустой или чёрной, проверьте, назначена ли главная сцена проекта. При первом запуске по F5 движок сам предложит выбрать текущую сцену как главную — подтвердите это действие.
Сравнение версий и возможностей Godot
Выбор версии движка влияет на совместимость уроков, производительность и доступные платформы. Ниже — общая сводка по ключевым направлениям.
| Критерий | Godot 3.x | Godot 4.x |
|---|---|---|
| Актуальность уроков | Много старых материалов | Основной поток новых гайдов |
| Рендер | GLES3 / GLES2 | Vulkan (Forward+, Mobile), Compatibility |
| 3D-графика | Базовые возможности | Современное освещение, SDFGI |
| Язык скриптов | GDScript, C# (отдельная сборка) | GDScript 2.0, C# (.NET-сборка) |
| Кому подходит | Проекты, начатые ранее | Новые проекты и обучение |
Если вы только начинаете — берите свежую стабильную версию четвёртой ветки. Переносить проект между мажорными версиями сложно, поэтому решение лучше принять до начала активной разработки.
Экспорт готовой игры
Когда проект готов, откройте меню Проект → Экспорт и добавьте пресет для нужной платформы: Windows, Linux, macOS, Android или Web. При первом экспорте Godot предложит скачать шаблоны экспорта — согласитесь, движок загрузит их автоматически через встроенный менеджер.
Для Windows на выходе получится папка с исполняемым файлом .exe и файлом данных .pck — оба файла нужно распространять вместе. Для Android потребуется настроить Android SDK через Настройки редактора → Экспорт → Android; точный набор компонентов SDK зависит от версии движка, поэтому сверяйтесь с официальной документацией вашей версии Godot.
⚠️ Внимание: не переименовывайте и не разделяйте файлы .exe и .pck после экспорта — игра не запустится без файла данных. Если хотите один файл, включите опцию встраивания PCK в настройках пресета экспорта.
Полезные ресурсы для дальнейшего обучения
Официальная документация Godot переведена на русский язык и содержит пошаговый курс «Ваша первая 2D-игра» — это лучшая стартовая точка после прочтения данного обзора. Справка по любому классу доступна прямо в редакторе: зажмите Ctrl и кликните по названию класса в скрипте.
- 📚 Официальная документация — учебник, справочник классов и демо-проекты;
- 🧩 Библиотека ассетов (Asset Library) — встроенный магазин бесплатных шаблонов и плагинов, доступен на вкладке
AssetLibвверху редактора; - 👥 Сообщество — форумы, Discord и русскоязычные чаты, где разбирают типичные ошибки новичков;
- 🎬 Видеоуроки — серии уроков по созданию платформера или топ-даун шутера закрепляют работу со сценами и сигналами на практике.
Регулярная практика важнее объёма просмотренных уроков: ставьте маленькие цели — движение персонажа, столкновения, счёт очков, простое меню — и доводите каждую механику до работающего состояния.
Часто задаваемые вопросы
Нужно ли уметь программировать, чтобы пользоваться Godot?
Базовые вещи — расстановку объектов, анимации, интерфейс — можно собрать почти без кода, но для игровой логики понадобятся скрипты. GDScript считается одним из самых простых языков для старта: синтаксис похож на Python, а движок подсказывает ошибки в реальном времени.
Godot бесплатный? Есть ли скрытые платежи?
Да, движок полностью бесплатен по лицензии MIT, включая коммерческое использование. Роялти с продаж игр, подписок и обязательных платежей нет.
Что выбрать: GDScript или C#?
Новичку — GDScript: он глубже интегрирован в редактор, быстрее пишется и покрыт большинством уроков. C# имеет смысл, если вы уже знаете этот язык или переносите код из другого проекта. Для C# нужна отдельная .NET-сборка движка.
Почему при запуске проекта чёрный экран?
Чаще всего не назначена главная сцена проекта. Откройте Проект → Настройки проекта → Основная сцена и укажите нужную сцену, либо подтвердите выбор при первом запуске по F5. Также проверьте, что в сцене есть камера и видимые узлы.
Подойдёт ли Godot для 3D-игр?
Да, четвёртая версия движка заметно усилила 3D-возможности: современный рендер на Vulkan, глобальное освещение, физика. Для небольших и средних 3D-проектов Godot вполне подходит, хотя для фотореалистичной графики уровня AAA чаще выбирают другие решения.