Как дети и подростки учатся создавать игры? Обзор программ

Уже с 5 лет дети могут учиться программировать и создавать крутые игры. Расскажем об основных программах, которые в этом помогут.

Как дети и подростки учатся создавать игры? Обзор программ

Сегодня маленькие «цифровые аборигены» рано берут в руки гаджеты и осваивают компьютерные игры. Это увлечение можно сразу развить и превратить во что-нибудь полезное: почему бы ребенку самому не начать создавать игры?

Конечно, программы для детей гораздо более упрощённые, но, главное, что дети сразу видят результат своих стараний, понимают, как строится скелет игр, учатся решать комплексные задачи и думать как программисты.

Мы рассмотрим как платформы для дошкольников (визуальные среды), так и для подростков (здесь уже понадобится текстовое программирование). Почти все программы либо имеют яркую визуализацию, либо связаны с популярными у детей игровыми площадками (Minecraft, Roblox). Игровой формат, знакомая среда вовлекают детей, мотивируют и помогают концентрировать внимание, что очень важно для обучения.

Программы для дошкольников

Здесь мы говорим о визуальном программировании и рассматриваем бестекстовые среды программирования: детям не нужно уметь читать, чтобы начать делать в них свои проекты.

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

Scratch Jr

Scratch Junior (Скретч Джуниор) — это визуальная среда, младший брат популярной среды программирования Scratch. Он предназначен для совсем маленьких детей (от 5 лет).

Изначально Scratch Jr появилось как приложение на планшет с главным персонажем котиком (работает на iPad, Android и на читалках Kindle), а затем была создана версия для ПК с героем-инопланетянином по имени Тик.

Устроена программа довольно просто: посередине игровая сцена, снизу категории блоков и область программирования. Слева можно выбрать спрайта (то есть героя или объект), для которого будет создаваться программа. Справа можно добавить нового спрайта или переключиться между сценами.

Интерфейс Скретч Джуниор
Интерфейс Скретч Джуниор

Как происходит программирование?

Scratch Jr — это цифровой конструктор наподобие Lego, где ребёнок должен перетаскивать блоки и соединять их вместе в нужном порядке. Процесс несложный: блоки «примагничиваются» друг к другу.

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

Уметь читать и считать необязательно, но может пригодиться: получится запрограммировать отправку сообщения или переместить спрайта на определённое количество клеток (для этого сверху включается сетка).

Библиотека спрайтов и коллекция ландшафтов довольно большие.

Библиотека спрайтов Скретч Джуниор
Библиотека спрайтов Скретч Джуниор

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

Paint-редактор в Скретч Джуниор
Paint-редактор в Скретч Джуниор

Почему детям стоит покопаться в Scratch Junior?

Несмотря на то, что Scratch Jr не включает в себя объектно-ориентированного программирования, дети все равно знакомятся с его концептом: они видят, что есть объект (спрайт), для которого нужно написать скрипт (программу из блоков). Осваивают принципы программного управления: видят, что можно дать команду спрайту и получить от него сообщение.

Ребята не только создают простые линейные программы, но и узнают, что такое циклы и подпрограммы. Даже самый простой проект на Scratch Jr может состоять из параллельных программ: можно создать «коды» для нескольких спрайтов и запустить их одновременно. Так как сцен может быть несколько, есть возможность создать несколько уровней игры.

Kodu Game Lab

Эта визуальная среда, разработанная компанией Microsoft, предназначена для создания несложных 3D-игр.

Здесь можно создавать трехмерные игровые миры и менять их. Инструментов довольно много: можно изменить форму, цвет и материал рельефа, создать подводный мир или лабиринт, добавить небо, изменить освещение и силу ветра и др.

Создание рельефа в Kodu Game Lab
Создание рельефа в Kodu Game Lab

В игровой мир мы можем добавлять спрайты и программировать их движения. Из минусов — нельзя загружать собственные картинки, но есть внутриигровая библиотека спрайтов.

Библиотека спрайтов в Kodu Game Lab
Библиотека спрайтов в Kodu Game Lab

Для программирования нужно манипулировать графическими блоками, как и в Scratch Jr. Чтобы создать программу, необходимо нажать на правую кнопку мыши и выбрать пункт «Программа». Область программирования появится на переднем плане.

Ищем пункт "Программа" в Kodu Game Lab
Ищем пункт "Программа" в Kodu Game Lab

Есть две основные категории блоков для программы: «когда» и «делать». И в каждой из них множество подкатегорий, детализирующих действие. Пример создания программы для шутера: когда клавиша W нажата, персонаж стреляет на север красными пульками.

Программа шутера в Kodu Game Lab
Программа шутера в Kodu Game Lab

Чему дети учатся с Kodu Game Lab?

В этой программе ребята уже создают полноценные 3D-миры, добавляют в игры таймер, подсчёт очков и жизней, уровни и многое другое.

А еще они изучают циклы и условия, развивают алгоритмическое и пространственное мышление. Они уже могут придумывать свои идеи и искать пути их воплощения, анализировать задачу и структурировать её решение.

Программы для школьников и подростков

Переходим к программам для более взрослых детей (от 8-9 лет и старше). Здесь ребята ближе знакомятся с языками программирования и создают более сложные игры.

Scratch

О Скретче вы наверняка уже что-то слышали. Это визуальная среда и одноимённый визуальный язык программирования, разработанные медиалабораторией Массачусетского технологического университета. Со Скретча начинают программировать не только дети, но и взрослые: он даже включён в знаменитый гарвардский курс CS50, который знакомит студентов с программированием.

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

Скретч — это всё та же визуальная среда, здесь тоже вместо текстового программирования нужно соединять между собой блоки. Но в Скретче уже появляются переменные, ветвления, более сложные функции и циклы и др.

Интерфейс простой: посередине экрана находится среда программирования, слева блоки, справа — сцена, на которой происходят изменения. Под сценой область, где можно выбрать, для какого спрайта создается программа, его размер и координаты (по осям Х и Y).

Интерфейс Scratch. Программа для вывода сообщения "Привет, мир!"
Интерфейс Scratch. Программа для вывода сообщения "Привет, мир!"

Категорий блоков много: движения, внешний вид, события, управление, сенсоры, операторы, переменные. Когда Скретчер (так называют опытных создателей игр в Скретч) сделает несколько игр и начнёт хорошо разбираться в программе, он сможет создать облачные переменные (чтобы играть онлайн вместе с друзьями) и свои, совершенно новые блоки.

Изучение лучше всего начать с категорий движения и внешнего вида спрайтов — так будет проще и удобнее, ведь спрайты — это основное в ваших играх на Скретч. После изучите циклы и условия, разберитесь, как сделать клонов в игре и задать переменные. После простых мини-проектов можно взяться за создание полноценного шутера, раннера или гонок.

Программа для раннера в Scratch
Программа для раннера в Scratch

Помимо встроенной библиотеки спрайтов и звуков, в Скретче можно добавлять свои собственные материалы. А также есть Paint-редактор, где можно нарисовать спрайта, и аудиоредактор, где пользователь записывает своё аудио.

Аудиоредактор в Scratch
Аудиоредактор в Scratch

Такое большое количество инструментов позволяет создать в Скретче практически любую игру.

Чтобы потренироваться и получше изучить возможности Скретч, дети могут воссоздать свои любимые игры. Например, сделать копию Among Us, Brawl Stars или Friday Night Funkin.

Еще интересно, что Скретч — это открытая площадка, где все могут обмениваться идеями, брать работы других пользователей и модифицировать их. Если проект «публичный», то можно воспользоваться его кодом и сделать свой ремикс.

Что даст ребенку изучение Scratch?

В Скретч дети могут поближе познакомиться с логикой программирования и сразу создавать свои игры и анимацию. Работая над своими проектами, ребята развивают креативное и алгоритмическое мышление, учатся воплощать комплексные задачи. Набор инструментов достаточно широкий, чтобы воплотить практически любую задумку ребенка: нужно только проанализировать задачу и постараться найти решение.

Проектные игры в Minecraft и программирование на Python

Вы наверняка знакомы с Майнкрафт или хотя бы слышали о нём. Это игра, в которой из блоков можно создать что угодно, на что хватит фантазии. А что если все эти блоки и сооружения создавать с помощью текстового кода? Это возможно, если подключить к Майнкрафту язык программирования Python.

Это хорошая возможность научить детей программировать в знакомой и любимой среде. Как это работает? Мы скачиваем игру Майнкрафт и среду для разработки Python, а также Java, интегрируем всё вместе. Включаем сервер на компьютере, пишем код и запускаем его в игре.

К Майнкрафт также можно подключить другие языки. Например, Lua, о котором будем говорить чуть ниже в разделе о Roblox. Но Python — самый лучший выбор, так как он не только простой и интуитивно понятный для детей, но в то же время это активно развивающийся и востребованный язык, который пригодится ребятам в будущем.

С помощью текстового кода дети могут создавать блоки, строить стены, дома и целые улицы, выводить координаты персонажа в чат, создавать двухмерные и трёхмерные фигуры, сферу и др.

<p>Код на Python для создания куба из динамита</p>

Код на Python для создания куба из динамита

<p>Трёхмерный куб из 125 блоков динамита</p>

Трёхмерный куб из 125 блоков динамита

А ещё в Майнкрафт можно познакомиться с концептом искусственного интеллекта и применением случайных чисел. Например, задать настроение персонажу-боту: он будет обижаться, когда мы отдаляемся от него, и прощать нас, когда приближаемся к нему.

<p>Код, который мы запускаем, чтобы персонаж-бот мог на нас обидеться и затем простить</p>

Код, который мы запускаем, чтобы персонаж-бот мог на нас обидеться и затем простить

В первую очередь в Майнкрафт мы изучаем программирование, но также классно внутри этой песочницы делать свои игры. Например, лабиринт, игру с препятствиями (с появлением и исчезновением блоков и другими условиями) и др.

Что программирование и создание игр в Minecraft даст детям?

Создание игр в Minecraft — это, конечно, не то же, что создавать игры в программах по разработке игр. Здесь мы больше фокусируемся на программировании: осваиваем Python и учимся писать код на очень популярном языке (знание Python точно пригодится детям в будущем, какую профессию они бы не выбрали), ищем баги и исправляем их, как настоящие программисты.

Но, во-первых, Minecraft — это популярная у детей игра, а значит это хороший способ привить детям любовь к программированию и разработке игр. А во-вторых, создание игр в Майнкрафт раздвигает рамки и развивает воображение: дети понимают, что нет ничего невозможного (можно программировать в любимой игре!) и экспериментируют, создавая оригинальные, ни на что не похожие проекты.

Roblox Studio и программирование на Lua

Если в Minecraft дети больше учатся Python-программированию, то в Roblox они смогут почувствовать себя настоящими разработчиками игр. Это тоже знакомая для них среда: здесь ребята играют в популярные игры Adopt Me, Piggy, Murder Mystery 2 и многие другие.

На движке Roblox Studio дети могут создавать свои собственные трёхмерные игровые миры и программировать на языке Lua. Это упрощённый язык, предназначенный для пользователей, не являющихся профессиональными программистами.

У Roblox Studio непростой интерфейс, поскольку набор функций и вкладок велик. Сложность ещё и в том, что названия в программе даны на английском языке, а к этому ещё нужно привыкнуть. Когда вы только начинаете работу над проектом, перед вами открывается библиотека шаблонов: можно создавать игру на обычной равнине (Flat Terrain) или, например, в замке (Castle) или в деревне (Village). Выбор шаблона также может определять жанр игры: например, есть ландшафт для гонок или для игры Obby (игра с препятствиями).

Интерфейс Roblox Studio (ландшафт Flat Terrain)
Интерфейс Roblox Studio (ландшафт Flat Terrain)

Далее вы переходите в рабочее пространство. Посередине экрана находится сцена, а вокруг — разные вкладки, которые можно открывать и скрывать. Наверху в разделе Home вы найдёте инструменты, которые позволяют работать с объектами на сцене: создавать, двигать (Move), вращать (Rotate), изменять их размер (Scale).

Справа расположен Explorer, где находятся инструменты для настройки уровней. Самый важный из них — Workspace, куда попадают все объекты, добавленные на игровую сцену. Если нажать на объект, то под Explorer заполнится окно Properties, где можно изменить свойства объекта (например, размер или цвет).

Слева находится Toolbox — коллекция моделей, созданных разработчиками Roblox и обычными пользователями. Их можно добавлять в игровой мир. Слева же должна быть вкладка Editor (чтобы открыть её, нажмите на название Editor в верхней панели), где находятся инструменты для изменения ландшафта.

Если вы потеряли какую-либо вкладку, просто нажмите в верхнем меню на View, там можно будет выбрать любое нужное окно (такой вопрос у начинающих ребят возникает часто).

Чтобы передвигаться по игровому миру (движение камеры), нужно нажимать на клавиши W, A, S, D и зажимать правую кнопку мыши.

<p>Создаем симулятор копателя в Roblox Studio (ночной режим)</p>

Создаем симулятор копателя в Roblox Studio (ночной режим)

Область программирования открывается через Explorer. Нужно нажать на плюсик рядом с Workspace (или там же рядом с объектом, для которого нужно создать код) и добавить скрипт.

<p>Пишем код на языке Lua для симулятора копателя</p>

Пишем код на языке Lua для симулятора копателя

Также в Roblox Studio можно подключить плагины, которые расширяют набор инструментов. Они позволяют быстрее изменять цвет, создавать окружности, разрезать блоки на тонкие пластины и др.

В Roblox можно создавать игры самых разных жанров: Obby, шутер, гонки, симуляторы (например, симулятор копателя), раннеры и многое другое.

Игры публикуются на сайте Roblox, там же можно играть в них вместе с друзьями, комментировать и ставить лайки, получать фидбек от пользователей. В Roblox также можно получать внутриигровую валюту Robux, например, за продажу мерча или когда в вашу игру играют пользователи с премиум-аккаунтом.

Зачем детям создавать игры в Roblox?

Roblox Studio — это полноценный инструмент, который познакомит детей с разработкой игр. Он приближен к профессиональным движкам, но упрощён и адаптирован так, что дети могут без проблем создавать в этой среде свои игры. А язык программирования Lua доступен для понимания ребенка и станет отличным началом на пути освоения программирования.

Моделирование 3D-миров поможет развить пространственное и алгоритмическое мышление ребенка. Дети смогут познакомиться с тем, как работают профессиональные разработчики игр и, возможно, загорятся в будущем освоить эту специальность.

Статья подготовлена школой программирования для детей «Пиксель». Мы обучаем ребят 5-17 лет программированию, созданию игр и сайтов, 3D-моделированию и многому другому. Если вам нужен наставник, записывайтесь к нам на курсы.

22
6 комментариев

Основная программа.

3
Ответить

Отличное место для работы и обучения! 

2
Ответить

Интересный обзор и даже есть полезные ссылки на уроки, спасибо!)

2
Ответить

Спасибо, что читаете!

Ответить

Комментарий недоступен

1
Ответить