Только что закончил вести полуторамесячный курс для детей по разработке трехмерных игр в среде «Kodu Game Lab». Одновременно вел занятия у трех групп по 16 человек 9-12 лет.
Программа «Kodu Game Lab»
Программу «Kodu Game Lab» называют средой разработки трехмерных компьютерных игр. Она предназначена для обучения детей. Программа бесплатная. Насколько я понимаю, изначально, когда эта среда появилась в 2009 году, она предназначалась для игровой приставки «Xbox 360». Позже (а, может, и сразу) появилась версия программы для операционной системы «Windows». Из изложенного, думаю, понятно, что созданием и поддержкой этой программы занимались и занимаются люди из компании «Microsoft». Мы работаем с этой программой в системе «Windows 10».
На интерфейс программы наложило отпечаток ее приставочное прошлое. Причем создается впечатление, что интерфейс либо вообще не меняли с 2009 года, либо меняли не слишком сильно. Программу «Kodu Game Lab» довольно регулярно обновляют, но не очень часто, при этом вносят в нее не слишком много изменений. На данный момент актуальная версия программы - 1.6.18.0 от 9 апреля 2023 года.
Сайт:
https://www.kodugamelab.comВикипедия:
https://en.wikipedia.org/wiki/Kodu_Game_Lab Программу «Kodu Game Lab» можно установить через магазин приложений «Microsoft Store», тогда она будет обновляться автоматически. Либо можно загрузить дистрибутив программы (около 200 Мб) к себе на компьютер с вышеуказанного сайта и установить его по старинке, запустив исполняемый файл дистрибутива. Вот ссылки:
https://www.microsoft.com/en-us/p/kodu-game-lab/9nv0b9m1vkwrhttps://www.kodugamelab.com/downloads/ Программа «Kodu Game Lab» и карточки, с помощью которых в этой среде конструируют программы, переведены на русский язык. Но перевод там не слишком качественный, хотя сносный. Кое-что недопереведено.
Маскотом (персонажем-талисманом) программы «Kodu Game Lab» является персонаж по имени «Kodu». В самом начале существования программы его звали «Boku», а исполняемый файл среды до сих пор называется «boku.exe». Этот персонаж изображен на ярлыке программы в системе «Windows» и несколько раз изображен в интерфейсе среды при ее запуске. При создании игр доступно множество разных персонажей и объектов, в том числе есть и персонаж «Kodu». Его можно использовать в своей игре как и любого другого персонажа. Вот как выглядит маскот:
Как можно заметить на картинках выше, Коду - один из летающих персонажей. (В среде «Kodu Game Lab» кроме летающих существуют еще перемещающиеся по земле и плавающие персонажи.) У Коду сзади есть три двигателя, которые позволяют ему двигаться по горизонтали и поворачиваться в игре. Поднимает его в воздух самый мощный двигатель, который расположен снизу (его не видно на картинках, но если Коду находится над водой, то под ним будет след на воде от выхлопа этого двигателя).
Как работают в программе «Kodu Game Lab»
В среде «Kodu Game Lab» существует ряд экранов с меню и ряд режимов работы. Основных режимов работы есть два: режим создания и редактирования нового мира (новой игры, нового уровня игры) и режим игры. То есть дети создают мир и сразу могут его запустить, начав играть в только что созданную ими же игру.
Игры бывают одноуровневые, но можно создать и многоуровневые. В начале, если вы выбрали самый простой шаблон из трех предустановленных, вы оказываетесь на квадратике «земли», окруженном воздухом. Мир освещен солнцем, но можно настроить рассвет или закат, а также ночь. В ночи можно вставлять свои источники света, создавая освещенные улицы, ущелья, заводы и так далее.
Вы можете полностью убрать начальный клочок земли и построить свою землю, либо несколько островов земли, разделенных воздухом. В начале у вас плоский ландшафт, но вы можете вырастить горы и холмы; ямы, впадины и ущелья. На любую поверхность вы можете налить воды, создавая океаны, моря, озера, бассейны, лужи и так далее. Уровень воды можно легко повысить или понизить в любой момент. Вам доступно около сотни разных типов земли и десятки типов воды.
На построенном ландшафте вы можете высадить деревья, кусты, разные растения. Вы можете добавить камни, плоды, разные объекты. И, наконец, самое главное - вы можете добавлять персонажей. Персонажи эти все разные, но их количество конечно, а новых персонажей или новые объекты вы сами добавлять не имеете возможности. С другой стороны, ни один студент мне не жаловался на недостаток объектов или персонажей в среде «Kodu Game Lab».
Персонажи, как я уже упоминал выше, бывают летающие, перемещающиеся по земле и плавающие. Причем все персонажи имеют кучу уникальных характеристик. Некоторые летающие и перемещающиеся по земле персонажи могут заныривать в воду и перемещаться под водой. А, к примеру, подводная лодка может перемещаться только под водой, а если воды нет, то она не может двигаться, что часто вызывает ошибки в программах студентов. Еще, к примеру, есть персонаж «Ровер», который не умеет «съедать» другие объекты, что тоже может вызвать кучу вопросов. Многие вещи приходится узнавать путем проб и ошибок, они нигде не описаны.
Кстати, каждый персонаж издает множество разных звуков, уникальных для конкретного персонажа. Еще для каждого персонажа включена своя анимация. Персонажи в игре или в режиме редактирования вертятся, выполняют разные ужимки и тому подобное. Звуки они при этом издают максимально раздражающие: пердят, хрюкают, визжат, противно хохочут и так далее.
Программирование в среде «Kodu Game Lab»
Программирование осуществляется на визуальном языке программирования, то есть текстовые исходные коды писать не нужно. Для любого объекта или персонажа можно написать свою отдельную программу. Часто программа одного объекта влияет на программу другого объекта, о чем начинающие программисты зачастую не подозревают. Это вызывает множество ошибок и недопонимания.
Программа в среде «Kodu Game Lab» представляет собой набор строк, которые часто называют «условиями» или «событиями». Каждая такая строка состоит из двух частей: условия, при котором эта строка сработает, и действия, которое исполнится, если условие примет значение «истина». При этом можно делать одни строки «дочерними» для других, то есть «дочерняя» строка исполнится, когда сработает родительская строка. Механизм «дочерних» строк очень полезен.
В каждую из строк программы можно вставлять множество разных карточек, доступность каждой из которых зависит от определенных условий. Немного попрактиковавшись, начинаешь интуитивно понимать, где и какие карточки следует вставлять. Вот как выглядит написание программы:
Выбор карточек сделан из странного вида меню с лепестками (некоторые из лепестков этих меню, в свою очередь могут быть открыты в свои вложенные меню с лепестками):
Кроме вышеперечисленного нужно учитывать, что любая программа может быть разбита на так называемые «страницы», которых для каждой программы существует максимум 12. Программа при определенном условии может переходить на другую страницу программы, позволяя запрограммировать в игре персонажей или объекты с меняющимся поведением.
Сохранение и экспорт проекта (игры) в «Kodu Game Lab»
В среде «Kodu Game Lab» можно в любой момент сохранить созданную игру. При этом игра сохранится в некой локальной для данного компьютера базе данных среды «Kodu Game Lab» (то есть это не «облако» в интернете, как многие студенты ошибочно предполагают).
После сохранения игры ее можно «экспортировать». Это значит, что сохраненную ранее игру можно выгрузить из среды «Kodu Game Lab» в отдельный файл с расширением «.kodu2». Этот файл можно забрать на флешку и унести домой, либо наоборот - сделать что-то дома и принести файл на флешке в учебную аудиторию. Ну или выгрузить полученный файл в своё «облако» в интернете, тогда необходимость во флешке отпадает. В этом же формате студенты обычно пересылают мне домашние работы.
Выводы
Среду «Kodu Game Lab» можно использовать и как игру, и как инструмент обучения. Студент создает игры, в которые позже может поиграть, чтобы протестировать созданное и настроить игровой баланс. Кстати, настройка игрового баланса может занять гораздо больше времени, чем создание мира и программирование объектов и персонажей. Опытные разработчики об этом прекрасно знают, а вот начинающие часто не принимают настройку игрового баланса в расчет.
Компания «Microsoft» известна тем, что покупает или создает сотни программ, многие из которых в итоге не оправдывают неких надежд, которые возлагает на них эта компания. Часто не оправдавшие надежд программы компания «Microsoft» поддерживает годами, а иногда десятилетиями. В случае с «Kodu Game Lab», мне кажется, именно такая ситуация. Интерфейс программы устарел и неудобен, а развития программы не видно.
Кстати, во время создания игр следите за изображением градусника в игре или в редакторе. Этот градусник показывает нагрузку, которую ваша игра создает на компьютер. Чем больше ваш мир, чем больше в вашем мире объектов и персонажей, тем выше нагрузка на компьютер. Следите, чтобы показания градусника не выходили за пределы зеленой или желтой зоны. Если достигнута красная зона, рассмотрите, какие объекты из игры можно удалить или где можно уменьшить размеры мира. Градусник ориентируется на ресурсы конкретного компьютера - размер оперативной памяти, мощность центрального процессора, объем видеопамяти и тому подобное.
Впрочем, свои функции программа выполняет неплохо. Игры могут получиться интересными, а программа «Kodu Game Lab», в конце концов, бесплатная. Так что всем родителям рекомендую программу «Kodu Game Lab» к использованию. Эта программа может послужить первым шагом к серьезному изучению программирования.