1. Введение в Godot: Настройка проекта и создание базового интерфейса стола
Введение в Godot: Настройка проекта и создание базового интерфейса стола
Добро пожаловать в курс по разработке гибридной игры! Наша цель — создать уникальный проект, объединяющий стратегическую глубину Tower Defense (защита башни) и азартную механику Блэкджека (21). В этой игре карты будут служить ресурсами для постройки и улучшения башен, а удача при раздаче будет влиять на вашу способность сдерживать волны врагов.
В этой первой статье мы познакомимся с игровым движком Godot, настроим проект и создадим визуальную основу нашей игры — игровой стол.
Почему Godot?
Godot Engine — это бесплатный движок с открытым исходным кодом, который идеально подходит для 2D-игр. Его главная особенность — узловая система (Node system). В Godot всё является узлом: персонаж, звук, кнопка интерфейса и даже сам игровой уровень. Это делает структуру проекта логичной и гибкой.
Основные концепции
Перед тем как открыть редактор, важно усвоить два термина:
!Структура дерева сцены, где родительские узлы содержат дочерние элементы.
Шаг 1: Создание проекта
Запустите Godot. В окне менеджера проектов нажмите кнопку New Project (Новый проект).
BlackjackTD.Шаг 2: Знакомство с интерфейсом
Когда редактор откроется, вы увидите рабочее пространство, разделенное на несколько зон:
* Scene Tree (Дерево сцены): Слева (или справа, в зависимости от настроек). Здесь отображается иерархия узлов текущей сцены. * FileSystem (Файловая система): Внизу слева. Здесь хранятся все ресурсы: скрипты, картинки, звуки. * Viewport (Окно просмотра): Большая область в центре. Здесь вы визуально собираете игру. * Inspector (Инспектор): Справа. Здесь настраиваются свойства выбранного узла (позиция, цвет, текстура).
!Обзор интерфейса редактора Godot с основными рабочими областями.
Шаг 3: Настройка базовых параметров
Наша игра будет сочетать карточное поле и карту для защиты башен. Нам нужно достаточно места на экране.
1920.1080.canvas_items. Это позволит игре корректно масштабироваться при изменении размера окна.Шаг 4: Создание игрового стола
Теперь создадим нашу первую сцену. Это будет основной экран игры, где происходит всё действие.
Корневой узел
Node2D.MainTable.Ctrl + S (или Cmd + S на Mac), чтобы сохранить сцену. Создайте папку Scenes и сохраните файл как MainTable.tscn.> Совет: Хорошая организация файлов критически важна. Сразу создайте папки Scripts, Assets и Scenes в панели FileSystem, чтобы не запутаться в будущем.
Добавление фона
Так как у нас есть элементы казино (Блэкджек), сделаем классический зеленый суконный стол.
MainTable -> Add Child Node (Добавить дочерний узел).ColorRect и выберите его.ColorRect.#2d5a27).Теперь у нас есть зеленый стол, готовый к размещению карт и башен.
Шаг 5: Создание зон интерфейса (UI)
В Godot для интерфейса используются узлы зеленого цвета, которые наследуются от класса Control. Они умеют автоматически выравниваться и менять размер.
Слой интерфейса
Чтобы интерфейс всегда был поверх игровых объектов (башен и врагов), мы используем специальный узел.
MainTable дочерний узел CanvasLayer. Назовите его HUD (Heads-Up Display).HUD.Зона руки игрока
Нам нужно место, где будут лежать карты игрока. Для этого идеально подойдет контейнер, который автоматически выстраивает элементы в ряд.
HUD -> Add Child Node.HBoxContainer (Horizontal Box Container). Назовите его PlayerHand.PlayerHand.
* В меню Anchors выберите Bottom Center (Внизу по центру).
* В Инспекторе измените Custom Minimum Size (Минимальный размер), задав y (высоту) равной 200. Это зарезервирует место под карты.
* Сместите его немного вверх, изменив Position Y или настроив Margin Bottom.Зона колоды и дилера
Аналогично создадим место для колоды.
HUD узел Control и назовите его DeckPosition.Теперь у нас есть структура:
* MainTable (Node2D) — мир игры.
* ColorRect — фон.
* HUD (CanvasLayer) — слой интерфейса.
* PlayerHand (HBoxContainer) — место для карт.
* DeckPosition (Control) — место для колоды.
!Итоговая структура сцены и визуальное представление игрового стола.
Шаг 6: Первый скрипт
Чтобы оживить игру, нам нужен код. В Godot используется язык GDScript, который очень похож на Python.
MainTable.res://Scripts/ и имя файла MainTable.gd.Откроется редактор скриптов. Вы увидите базовый шаблон:
Давайте разберем, что здесь написано:
* extends Node2D: Означает, что наш скрипт наследует все возможности стандартного 2D-узла.
* func _ready(): Эта функция вызывается один раз, когда сцена полностью загрузилась и появилась в игре. Это идеальное место для начальной настройки (например, перетасовать колоду).
* func _process(delta): Эта функция вызывается каждый кадр (обычно 60 раз в секунду). delta — это время, прошедшее с прошлого кадра. Здесь пишут логику движения и обновлений.
Для проверки работоспособности изменим функцию _ready:
Запустите игру, нажав кнопку Play (треугольник вверху справа) или клавишу F5. При первом запуске Godot спросит, какую сцену считать главной — выберите Select Current. В нижней панели Output вы увидите наше приветственное сообщение.
Заключение
Поздравляю! Вы сделали первый шаг к созданию гибридной игры. Мы настроили проект, разобрались с системой узлов Godot, создали визуальную основу стола и написали первый скрипт.
В следующей статье мы займемся созданием карты как объекта: научимся программно создавать карты, присваивать им масти и номиналы, а также отображать их в руке игрока.