Давным-давно, в далеком далеком подростковом возрасте, я загорелся идеей разрабатывать компьютерные игры. 

К сожалению доступ в глобальную сеть Интернет тогда был в дефиците, а опытного наставника среди знакомых не было. Поэтому я хаотически вычитывал интересные мне главы из самоучителя по турбо паскалю, который чудом оказался на книжной полке. 

Вы наверняка догадались, что чуда не произошло и такой подход не привел к достойным результатам.  Однако, любовь к процессу осталась. Поэтому сегодня я расскажу вам об интересном способе начать свой длинный и увлекательный путь в мир разработки компьютерных игр. 

Героем обзора станет интерактивный учебник с открытым исходным кодом Learn GDScript From Zero, который плавно погрузит абсолютных новичков в основы программирования для игрового движка Godot.

Оглавление:

Введение

Предположу, что не все знакомы с движком Godot, поэтому логично будет начать с пары слов про него.

Godot  - open source движок для разработки видеоигр. 

На мой субъективный взгляд он менее популярен чем 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. Поэтому если мне удалось вас заинтересовать предлагаю подписаться. Также милости прошу в комментарии, обсудить статью и сам учебник.

Для самых терпеливых - ностальгическая картинка с роботами - гоБотами

Комментарии (8)


  1. Javian
    04.06.2023 20:43

    Переизобретение языка Лого


    ВЛЕВО 45
    НАЗАД 20
    БЕЗСЛЕДА
    ВПРАВО 90
    ВПЕРЕД 10
    ВЛЕВО 90
    СОСЛЕДОМ
    КОНЕЦ


    1. BosonBeard Автор
      04.06.2023 20:43

      Если что-то работает хорошо, грех не использовать :)


    1. forthuse
      04.06.2023 20:43

      На Форт (Forth) было бы в целом так :)


      45 ВЛЕВО
      20 НАЗАД
      БЕЗСЛЕДА
      90 ВПРАВО
      10 ВПЕРЕД
      90 ВЛЕВО
      СОСЛЕДОМ
      КОНЕЦ


  1. gongadze
    04.06.2023 20:43

    Привет друзья, может среди вас есть новички в годоте, готовые попробовать силы в разработке? Я готов предложить совместную работу над простенькой игрой с минимумом коммерциализации, у меня есть небольшой бюджет, графика, музыка. Я готов компенсировать работу деньгами, сумма небольшая,но вы не будете работать бесплатно и сможете добавить проект в портфолио


    1. atereffigies
      04.06.2023 20:43

      Какую игру вы хотите сделать?


  1. hWt
    04.06.2023 20:43
    -1

    Зачем мучать детей какой-то дрянью? Уж лучше что-то структурное.


    1. domix32
      04.06.2023 20:43
      +3

      Плавно перейти от моноидов в категории эндофункторов к линзам и оптике профункторов?


  1. LCreator
    04.06.2023 20:43
    +1

    То же самое только на русском:
    https://tmoeg.itch.io/learn-godots-gdscript-from-zero-russian-language