
Давным давно, в далеком далеком подростковом возрасте, я загорелся идеей разрабатывать компьютерные игры.
К сожалению доступ в глобальную сеть Интернет тогда был в дефиците, а опытного наставника среди знакомых не было. Поэтому я хаотически вычитывал интересные мне главы из самоучителя по турбо паскалю, который чудом оказался на книжной полке.
Вы наверняка догадались, что чуда не произошло и такой подход не привел к достойным результатам. Однако, любовь к процессу осталась. Поэтому сегодня я расскажу вам об интересном способе начать свой длинный и увлекательный путь в мир разработки компьютерных игр.
Сегодня героем нашего обзора станет интерактивный учебник с открытым исходным кодом Learn GDScript From Zero, который плавно погрузит абсолютных новичков в основы программирования для игрового движка Godot.
Оглавление:
Введение
Теория
Практика
Что дальше?
Введение
Предположу, что не все знакомы с движком Godot, поэтому логично будет начать с пары слов про него.
Godot - opensource движок для разработки видеоигр.
На мой субъективный взгляд он менее популярен чем Unity или Unreal Engine, но зато полностью бесплатный, кроссплатформенный и легковесный. Теоретически есть даже версия среды разработки для смартфонов на Android. Не могу сказать, что в версии для смартфона удобно работать, но с ее помощью действительно можно запустить проект с игрой.
Актуальная на текущий момент версия Godot 4 для реализации логики официально поддерживает свой собственный язык GDScript (почти Python), C#, C++, C. Поддержка других языков программирования может быть реализована энтузиастами.
Стоит ли начинать изучение разработки игр с Godot? Честно скажу - не знаю.
В процессе подготовки материала, я нашел несколько вакансий для разработчиков Godot, посмотрел примеры достаточно любопытных игр для смартфонов и ПК, а значит какие-то перспективы коммерциализации навыков есть.
Лично мне кажется, что попробовать стоит.
Godot очень легко установить и на мой взгляд он дружелюбнее к новичку чем Unity (а больше мне сравнить не с чем).
Как минимум его можно освоить просто «для души».
Но сегодня все же речь пойдет не о движке, а всего лишь о небольшом интерактивном учебнике. Если вы никогда не писали свой write(‘Hello world!’), то эта статья для вас.
GDQuest's Learn GDScript From Zero - можно запускать прямо из браузера, а можно скачать версию для ПК, обе версии позволяют сохранять прогресс обучения, но версия для компьютера мне показалось более шустрой.
Единственный недостаток - это отсутствие русского языка (на момент написания статьи). Но тексты на английском языке написаны просто и доступно, без лингвистических изворотов. По идее любой старшеклассник изучавший английский в школе, сможет справится с переводом.
Давайте познакомимся с нашим героем поближе.
Теория
В настоящий момент учебник содержит 28 глав, которые плавно начинают рассказ с самого понятия “программный код”, затем плавно объяснят базовые концепции функции / переменная, научат писать условия и циклы, а затем расскажут о разных типах и структурах данных.

Учебный процесс в общем случае построен следующим образом:
читаем текст, и смотрим примеры кода.
запускаем интерактивные примеры.
отвечаем на простой вопрос “викторины”
ниже открывается следующий кусочек страницы с теорией.
после каждого урока практическая часть.
Повествование идет последовательно, материал не очень сильно разжевывают и дают в несколько сжатой форме достаточной чтобы воспроизвести всё на практике, но при этом чтобы голова не взорвалась от объемов новой информации.
Кстати несмотря на то, что я не совсем новичок и могу “накостылить” какой-нибудь скрипт, даже я узнал для себя что-то новое. Оказывается в некоторых случаях проверку условий можно просто заменить на остаток от деления.
Посмотрим на пример одной главы:
Текстовая часть. Иногда дополняется спойлерами всплывающими подсказками.

В качестве интерактивных примеров, может выступать анимированный робот

Популярная ныне черепашка (аналог Кенгуренка ROO из моего дества)

И даже элементы инвентаря

Мне кажется, такие интерактивные примеры, намного интереснее для новичков чем кейс: “Для сущности сотрудник, напишем метод чтобы начислять зарплату”.
Если вы изучаете урок в первый раз, то чтобы открыть следующую часть необходимо правильно ответить на вопросы. Количество попыток не ограничено, так что даже если вы что-то не поняли, то всё равно подберете ответ.

После правильного ответа, нам открылась следующая секция урока.

В конце теоретической части всегда будет одно или несколько практических заданий.

Практика
Практический блок выглядит достаточно стандартно.
На мой взгляд интерфейс данного модуля как-то неуловимо готовит вас, к работе с непосредственно с движком.
Можно запустить сцену и посмотреть результат, есть консоль, подсветка кода, блок с документацией.
Единственное практически всё придется писать самому. Так сказать, развиваем мышечную память. Автодополнения кода нет, да и текст скопировать можно только из секции Goals, из документации почему-то мне скопировать текст не удалось.
Первые задания будут простые. В данном случае буквально надо убрать знак комментария перед return.

Пример успешно выполненного задания из более поздних тем.

Интерактивный учебник учит вас справляться с ошибками. Выводит ошибку в консоль, подчеркивает её в коде и даёт подсказки, как исправить.

Если вы совсем застряли всегда можно загрузить готовое решение.

Как правило, даже на последних уроках задания будут простыми и у подготовленного человека, не займут больше 5 минут.
Что дальше?
Я думаю, что пройти данный учебник вполне реально за один день.
Поэтому если вы на кураже от успехов, захотите и дальше погружаться в разработку видеоигр на Godot, авторы учебника предложат вам записаться на платный курс (около $80). Поскольку у меня нету нынче карт заморских-платежеспособных, я не проверял возможность оплаты. Но приятно что на курс для региона РФ дают скидку 40%.
Не хотите проходить платный курс? Ничего страшного. Автор этого учебника, написал отличные стартовые туториалы в разделе «Getting started» официальной документации.
Пройдя данный раздел вы познакомитесь с базовыми концепциями движка и соберете простенькие 2D и 3D игры. Прямо чувствуется, что туториалы написаны профессионалом с любовью к своему делу.
Даже не смотря на то что не все страницы адаптированы под Godot 4.0 в процессе их освоения я ни разу не застрял надолго. Все что нужно описано текстом и продублировано скриншотами и примерами кода.
Если у вас совсем плохо с английским можно попробовать русскоязычную версию, но мне кажется, что она слегка устарела.
Думаю это не последняя статья про Godot, поэтому если мне удалось вас заинтересовать предлагаю подписаться. Также милости прошу в комментарии, обсудить статью и сам учебник.
Для самых терпеливых - ностальгическая картинка с роботами - гоБотами

