«Робот — Гобот» или изучаем азы программирования видеоигр в Godot

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

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

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

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

Источник: https://habr.com/ru/articles/739756/


Интересные статьи

Интересные статьи

Риторика, обвиняющая видеоигры во всех смертных грехах, стала привычным делом. Вместо того чтобы разбираться в реальных причинах проблем: жестокость, шутинг в школах, плохая социализа...
В первых двух статьях цикла мы рассмотрели четыре способа упорядочить доступ к памяти: load-acquire и store-release операции в первой части, барьеры чтения и записи в память — во&nbs...
Продолжаем рассказ о создании мульти-парадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен п...
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помо...
Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал ос...