Advertisement
  1. Code
  2. Coding Fundamentals
  3. Game Development

Разработка игр с детьми

Scroll to top
Read Time: 11 min

() translation by (you can also view the original English article)

Недавно мой четырёхлетний сын спросил меня: "Папочка, мы можем с тобой сделать игру? Игру с котёнком?"

Я - папа игровик. Сам сделал 35 игр: в основном, небольшие и бесплатные, но достаточно и клиентских проектов. Ответ был: да, конечно, ведь каждый родитель хочет поделиться своей страстью.

Я учу его принципам дизайна и кодирования, но это совместный процесс: его рисунки цветными карандашами я превращаю в 3D-игру, пока он сидит у меня на коленях.

Проект идёт с огромным успехом. Делюсь своим опытом и надеюсь, что вы тоже получите удовольствие, делая игру с кем-то маленьким.

Kitty GameKitty GameKitty Game

Почему игры?

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

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

Они классные

«Было нечто, что превратило свору сумасшедших, буйных маленьких монстров в жадных творцов и созидателей, искренне взволнованных учёбой» - Gabriel Williams, ProCore3D

Дети обожают играть и строить Созидание даёт чувство невыразимого удовлетворения. Это наделяет их силой; это даёт им чувство собственного достоинства; это то, что они могут назвать своим.

Учтите, что создание игры - это повод для гордости перед сверстниками: игровик реально крут. Это то, чем учителя могут и должны воспользоваться.

Дети мудрей, чем мы думаем

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

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

Дети любят физику

Звучит сумасбродно? Ну, а какой ребенок не волнуется, разбивая пирамиду из кубиков или отправляя поезд с утеса, или бросая снежки? В игровых терминах, легко представить себе малыша, желающего изучить игровую механику под влиянием Angry Birds (симуляция баллистики).

Физика позволяет молодым людям делать то, чего они не могут в реальном мире. Они могут разбивать автомобили или крушить дома. Они могут скакать и калечить. Мгновенная обратная связь в физической симуляции - вот, почему я горячо рекомендую игры с физикой реальности.

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

Выгоды для взрослых

«Для моей дочери было важно заняться чем-нибудь с очень занятым и озабоченным папой. Это могло быть любое занятие. Главное, чтобы вместе». - Райан Henson Creighton, Untold Entertainment

Занимаясь общим делом, вы помогаете себе. Есть очевидные выгоды для нас, наставников, от общения, ведущего к привязанности, до простого факта, что обучение чему-то часто помогает самим понять это лучше.

«Ничто так не бодрит и не вдохновляет, как общение с детьми, потому что их воображение не знает пределов и границ». - Стейси Mulcahy YoungGameMakers

Работа с детьми освежает восприятие и мотивирует. Она зажигает огонь самокритики и пробуждает ребёнка в вас, готового играть всерьёз, несносно, бессознательно.

Как я это сделал

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

Держитесь простых вещей

Не стоит напоминать, что ключ к удержанию внимания ребёнка в том, чтобы не удерживать его надолго. Ничто не убивает удовольствия от обучения больше, чем скука. У вас есть только двадцать минут.

Если вы работаете с малышами, не пытайтесь научить их исходному коду; больше это должно быть похоже на «прогулку» и менее всего на обучение программированию. Мы не пытаемся сделать коммерческую игру, которая будет отполирована и готова на продажу. Может быть, это для старших, работающих уже над своей десятой игрой. Наша цель - собрать что-то забавное, как крепость из подушек или гнездо. Большую часть работы сделаете вы, но огромную выгоду получите вместе.

Сначала приготовьтесь сами

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

Если вы никогда раньше не делали игр, этот первый этап подготовки станет серьёзной проблемой. Забавно, но ребёнок не должен сидеть рядом и смотреть. Посетите несколько игровых джемов соло, во-первых, а затем поделитесь своими навыками. Не надо быть мастером-разработчиком, просто любителем с инструментом в руках

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

Пропустить квадрат один

«Старт с линии финиша! Начните с простой игры ... и меняйте её до тех пор, пока не пропадёт интерес». - Farbs, автор Captain Forever

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

Быстрый способ для этого - загрузить один из сотен «стартовых наборов» в хранилище активов вашего движка или вырвать ядро вашей старой игры. Эти стартовые наборы, доступные как бесплатно, так и за несколько долларов, содержат всю механику простой игры, будь то платформер, шутер или игра-головоломка.

Прежде чем создать базовый проект MVP, чтобы с ним возиться, поговорите со своим новым учеником и выясните его намерения. У вас есть много путей для того, чтобы предложить функции или механику игрового процесса, которые, по вашему мнению, «технически возможны» и «легко внедряются». Чем меньше ребёнок, тем больше его запросы будут подозрительно напоминать любимую игру.

В моём случае нашими единственными игровыми опытами были игры LEGO, которые являются одними из самых доступных титулов AAA. Я начал с поиска в Unity Asset Store и купил дешёвый платформер для начинающих. Если ваш ученик увлечён Minecraft, вы должны работать в voxels, для которых доступно множество стартовых наборов по цене пиццы.

Kids love MinecraftKids love MinecraftKids love Minecraft

Пропуск квадрата гарантирует, что у вас всегда будет пустой холст, который «просто работает» в качестве тестового стенда для экспериментов и вступит в действие в течение нескольких секунд. Не беспокойтесь, настраивая свежий проект, что ребёнок за вами наблюдает; к тому времени, когда вы будете готовы к запуску, момент пройдет.

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

Типичный урок

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

Всё итак работало неплохо, а он продолжал просить об этом ещё несколько раз в неделю, просто для удовольствия.

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

Когда у меня получились котята, я ему показал. Он был в восторге. Вне себя от радости. Это «просто сработало» для него и его неловких рук. Он не мог умереть. Игра никогда не говорила ему про неудачу. Это была, наконец, больше «игрушка», чем игра.

Текущий процесс

Мы сидели вместе, и я построил всё, что он хотел.

"Нужны вещи, чтобы разбить. Можешь сделать так, чтобы всё разбить? Могу я столкнуть машину с обрыва?"

После воплощения он просит сыграть и начинает методично пускать автомобили со скалы до тех пор, пока будет позволено!

My son's gameMy son's gameMy son's game

Мы будем играть вместе и пробивать дыры в зданиях, и есть суши, что было похоже на идиллические часы чистого летнего отдыха, без каких-либо правил, без условия “you lose game over”. Он смеялся, я смеялся и мне хотелось строить песочные замки на пляже или барахтаться на детской площадке.

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

Конечный продукт

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

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

Для вас Kitty Game - это песочница, в которой до восьми глупых кошек бегают по разбитым машинам и домам, преследуемые злобными псами, и едят вкусные суши.

В игре нет ничего реального, но забавно, что многие люди всё играют и играют.

Советы и приёмы

«Нет лучшего способа вызвать ненависть к чему-то у ребёнка, чем сделать это обязательным». - Tom Farro

Избегайте клавиатуры

Клавиатура сбивает. Столкнувшись с более чем сотней кнопок, каждая со сложным глифом, часто непонятным, дети могут споткнуться. Они не знают, Delete или Escape и лучше, если клавиатурой управляет учитель.

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

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

Если игра установлена на сенсорном устройстве, вы обнаружите, что детям это нравится ещё больше. 

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

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

Делайте это чаще: после каждой строки кода или настройки переменных в редакторе. После коротких рабочих сессий терпение ребёнка вознаграждается игровым сеансом.

Больше игры, меньше работы

«Когда я занимаюсь программированием с малышами, они на каждом шагу подсказывают мне, что делать. Я прошу их рисовать и выбирать цвета» - Sarah Northway, создатель Rebuild и половины Northway Games

Один из способов, как я сделал наши сеансы приятными, - позволив щедрые перерывы для каждой сессии проверки и разбив работу на периоды от двух до пяти минут.

После каждого спрашивая своего студента, чего он хочет. Получая в ответ «Можно сделать сверкающий меч?» и «Мы сможем прыгнуть выше».

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

Ожидание и принятие отказа

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

Дети с этим соглашаются, как и с тем, что не все проекты LEGO остаются на месте и не все ручные картинки выглядят так, как они предполагали.

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

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

Повторение и терпение

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

Это «пробуя снова и снова» есть суть инженерного дела и науки, тема личного развития, выходящая за рамки программирования. Назад к доске! Надо переделать! Вариант неудачный! Это наши восклицания во время игры в LEGO, в паровозики, замки из песка или кубики. Не всё работает с первой попытки, но через процесс тонких повторов мы можем создавать удивительные вещи.

Постановка реальной цели

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

Ничего не заведётся с первой попытки, хоть сейчас, когда он делает игры на коленях у папы, хоть через десять лет, когда он будет строить автомобиль RC или ракетный двигатель в NASA.

Основы разработки программного обеспечения

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

Он держит в голове сборные и частичные системы и понимает projectiles и pickups. Он примерно понимает главные меню и счетчики HUD, таймеры и события, что такое “respawning”, и как мы можем перехватывать триггеры, например onCollision, для запуска кода (что-то взорвать).

Kid making gameKid making gameKid making game

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

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

«Дети учатся соединять искусство и технологии с игровыми процессами ... это отличный способ раскрыть потенциал в технологическую карьеру, поскольку она охватывает много разных дисциплин» - Stacey Mulcahy, YoungGameMakers

PWC video game challengePWC video game challengePWC video game challenge

Делайте игру вместе!

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

Почему бы не не воспользоваться возможностью обучения и чистой радостью совместного творчества с тем, кого вы любите. Играйте с маленьким ребёнком. Это полезно вам обоим. Вы удивитесь, насколько умны дети, когда у них есть возможность проявиться. Удачи!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.