September 15, 2024

Пособие для новичков в Godot

С чего начать изучение движка?

Так как программирование неотъемлемая часть геймдева — для лучшего понимания движка стоит начать с написания кода.

Советую для начала пройти замечательный мини-курс по GDScript — основному языку программирования в Godot, который даст вам базу, необходимую для понимания следующих уроков:

Мини-курс по GDScript

Обязательно прочитайте закреплённые комментарии под каждым роликом, там есть полезные дополнения

Также можете пройти чуть более комплексное обучение GDScript в виде небольшой игры

Далее советую посмотреть полноценный урок, в котором вы создадите свою первую игру. Этот урок позволит вам применить все те навыки, которые вы уже изучили, закрепить их понимание, а также более тесно познакомит вас с движком

Твоя первая игра на Godot

Что дальше?

Теперь у вас есть необходима база, чтобы начинать делать свою собственную игру. Но это лишь малая доля знаний, которые вам необходимы для решения задач. Чтобы улучшать свои навыки в геймдеве и написании кода, далее будет список полезных материалов, которые я считаю обязательными для того, чтобы более свободно ориентироваться в движке и начать писать эффективный код:

Правильное передвижение объектов

Коллизии и слои коллизий

Сигналы. База

Сигналы. Более продвинутый уровень

Машина состояний. База

Машина состояний. Более продвинутый уровень

Далее идут англоязычные уроки. Их тоже крайне рекомендую все посмотреть. Если есть проблемы с английским:
1) Можете посмотреть видео в русской озвучке с помощью яндекс браузера
2) Можете установить расширение озвучки яндекса в любой браузер

Принципы наследования

Принципы композиции

Полезные фишки движка

Всё про интерфейс

Лучший урок по сохранениям/загрузкам игр

Чтобы не изобретать велосипед, стоит познакомиться с нодами, их свойствами, методами и сигналами. Для этого существует официальная документация Godot. В ней вы сможете найти информацию по всем нодам, которые собираетесь использовать.

Например вы хотите узнать, находится ли ваш персонаж на земле. Если вы не изучили документацию по ноде CharacterBody, то вам придётся городить рейкаст, направленный в землю, который будет проверять, есть ли под персонажем твёрдая платформа или что-то в этом духе. Но если заглянуть в документацию, то там можно увидеть, что у ноды CharacterBody есть метод is_on_floor(), который проверяет, находится ли персонаж на земле, что упрощает использование этой ноды.

Примеров можно придумать ещё много, но суть одна — у каждой ноды есть множество полезных функций, чьё существование неочевидно на первый взгляд. Чтение документации позволит вам эффективнее использовать инструменты движка