Геймдев и графика

Учебник Разработка игр на Godot для начинающих

20 уроков · 6 разделов · бесплатно, без регистрации

Godot 4 — это бесплатный движок с открытым кодом, на котором делают настоящие коммерческие игры. Здесь нет подписок, водяных знаков и закрытого ядра: ты скачиваешь редактор весом в пару десятков мегабайт и сразу строишь игру.

Этот курс ведёт тебя от первого окна редактора до собственной 2D-игры, которую можно запустить и отдать друзьям. По пути ты разберёшься в дереве узлов, напишешь логику на GDScript, заставишь персонажа двигаться и прыгать, настроишь столкновения, свяжешь объекты сигналами, добавишь интерфейс и звук, а в конце соберёшь и экспортируешь готовый билд.

GDScript синтаксически очень близок к Python, поэтому игровую логику мы будем разбирать на запускаемых Python-врезках прямо в браузере — это помогает понять идею до того, как ты перенесёшь её в движок.

Курс «Разработка игр на Godot» состоит из 6 разделов и 20 уроков: Знакомство с Godot: узлы и сцены, Основы GDScript, Движение и управление в 2D, Физика, коллизии и сигналы, Интерфейс, звук и счёт и Собираем игру и экспортируем. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Знакомство с Godot: узлы и сцены

    1. Что такое Godot и зачем он нужен

      Знакомство с движком Godot 4: бесплатный, открытый, лёгкий. Чем движок отличается от обычного кода и почему с него удобно начинать геймдев.

    2. Узлы — кирпичики игры

      Что такое узел (Node) в Godot 4: типы узлов, их свойства и поведение. Sprite2D, Node2D, Label как примеры кирпичиков игры.

    3. Сцены и дерево узлов

      Что такое сцена в Godot 4 и дерево узлов: родитель и потомки, как узлы собираются в иерархию, корневой узел сцены.

  2. 2 Основы GDScript

    1. Первый скрипт: переменные и функции

      Первый скрипт на GDScript в Godot 4: переменные var, типы, функции func, отступы и наследование extends. Сходство с Python.

    2. Условия, циклы и типы данных

      Управление в GDScript: if/elif/else, циклы for и while, базовые типы int, float, String, bool, Vector2, массивы и словари.

    3. Жизненный цикл узла: _ready и _process

      Жизненный цикл узла в Godot 4: функции _ready, _process(delta) и _physics_process(delta). Когда движок вызывает каждую и зачем нужен delta.

    4. Настройки в инспекторе: @export

      Аннотация @export в Godot 4 GDScript: как вынести переменную в инспектор, настраивать скорость, урон и ссылки на узлы без правки кода.

  3. 3 Движение и управление в 2D

    1. Чтение ввода с клавиатуры

      Ввод в Godot 4: карта действий Input Map, Input.is_action_pressed и Input.get_vector, превращение клавиш в вектор направления.

    2. Движение персонажа: CharacterBody2D

      CharacterBody2D в Godot 4: свойство velocity и move_and_slide без параметров. Топ-даун движение персонажа на скорости и направлении.

    3. Гравитация и прыжок: платформер

      Платформер в Godot 4: гравитация, прыжок через is_on_floor и is_action_just_pressed, отрицательная скорость по y для прыжка вверх.

  4. 4 Физика, коллизии и сигналы

    1. Формы столкновений и слои

      CollisionShape2D в Godot 4: задание формы столкновения, прямоугольник и круг, слои и маски коллизий для управления, кто с кем сталкивается.

    2. Зоны-триггеры: Area2D

      Area2D в Godot 4: зоны-триггеры без физического отталкивания, сигналы body_entered и area_entered, сбор монет и зоны урона.

    3. Сигналы: объекты общаются

      Сигналы в Godot 4: объявление signal, emit и connect, паттерн наблюдатель, слабая связанность узлов. Как объекты общаются, не зная друг о друге.

  5. 5 Интерфейс, звук и счёт

    1. Интерфейс: Control и Label

      UI в Godot 4: узлы Control, CanvasLayer и Label, разница между миром игры и слоем интерфейса, обновление текста очков из кода.

    2. Очки, здоровье и состояние игры

      Состояние игры в Godot 4: счёт и здоровье, автозагрузка (singleton) для глобального состояния, сигналы об изменении и проигрыше.

    3. Звук и таймеры

      Звук и таймеры в Godot 4: AudioStreamPlayer для эффектов и музыки, узел Timer, сигнал timeout, спавн врагов по таймеру.

  6. 6 Собираем игру и экспортируем

    1. Враг с простым ИИ: конечный автомат

      ИИ врага в Godot 4: конечный автомат (FSM), состояния патруль/преследование/атака, переключение по условиям, match по состоянию.

    2. Условия победы и поражения

      Условия победы и поражения в Godot 4: проверка здоровья и очков, экран Game Over и победы, сигналы game_over и level_complete, пауза игры.

    3. Генерация уровня и расстановка объектов

      Генерация уровня в Godot 4: инстансирование сцен через instantiate и add_child, расстановка монет и врагов по сетке или случайно, циклы спавна.

    4. Меню, рестарт и экспорт игры

      Главное меню и экспорт в Godot 4: смена сцен через change_scene_to_file, рестарт reload_current_scene, экспортные шаблоны и билд под Windows, Linux, веб.