Почти год назад я писал о том, что представляет собой Minecraft Education Edition. Тогда я не смог понять, как собственно осуществляется процесс обучения. Но после того как на сайте проекта была выложена коллекция учебных материалов, а мы смогли познакомиться с некоторыми уроками, я понял, что главное в образовательной версии Майнкрафта, не сама игра, а личность учителя и то, как он сможет построить урок.

И вот, кажется, у Minecraft Education Edition появилось нововведение, которое сможет не просто расширить процесс обучения, но вообще стать новой дисциплиной. А может в чём-то заменить учителя.

И более того, этой возможности смогут позавидовать пользователи всех прочих версий Майнкрафта!

В Minecraft Education Edition можно программировать!

Но обо всём по порядку.

2 мая, на сайте посвящённом Minecraft Eduation Edition была выложена бета-версия, к которой прилагается приложение Code Builder.

 

Это приложение позволяет писать программы на языке JavaScript и выполнять их непосредственно в Minecraft Education Edition.

Code Builder поддерживает несколько редакторов, но по сути, все они основаны на Scratch — средстве визуального программирования.

Вот, например, небольшая программка, которая по команде «day» написанной в чат, «включает день» и выводит игроку сообщение «Command executed».

 

 

При этом, эта схема может быть отображена в виде JavaScript.

 

Полученную программу можно сохранить в файл с расширением mkcd, который представляет собой архив, содержащий json файл, в одном из полей которого сохраняется в формате xml текст программы. Что интересно, сохраняется не код JavaScript, а описание визуальных блоков.

 

Образовательный агент

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

Я сразу попробовал «установить контроль» над агентом, и описал простые команды: botleft, botright, botgo (повороты налево/направо и шаг вперёд).

 

 

Конечно, это нельзя назвать серьёзным программированием. Но даже если не углубляться, в Code Builder уже есть несколько готовых скриптов, которые можно использовать как в игре, так и в качестве примеров для обучения.

Программа, создающую радугу из цветных блоков

 

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

 

Это не Plugin API, а упрощенный аналог Malmo

Когда я увидел компоненты визуального программирования, знакомые по «Часу кода», то сначала решил, что это такая своеобразная обёртка над долгожданным C# API, которое было обещано на прошлогоднем Майнконе. Но познакомившись чуть ближе, становится понятно, что это совсем разные вещи. Code Builder не интегрирован в игру, это отдельное приложение — дополнительный сервер, который выполняет программу, обмениваясь данными с Minecraft Education Edition.

Да и принцип управления привязанный к боту–агенту больше похож на то, что Майкрософтом предлагалось в Мальмо — системе, предназначенной для разработки искусственного интеллекта. Только там управление производилось персонажем игрока, а тут для этого используется отдельное существо — агент.

Конечно возможности Education Edition по сравнению с Malmo, по крайней мере на первый взгляд, кажутся более скромными. Тут используется Scratch и JavaScript, а там реализована поддержка Java, C++, C#, Python и других. Да и возможности API в Malmo, мне показались более обширными. Но и задача, для которых создан CodeBuilder, кажется проще.

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

 

Появятся ли агенты в Minecraft Pocket / Windows 10 Edition

На мой взгляд, такие программируемые агенты отлично вписались бы в мир Майнкрафта и если бы C# API там уже существовало, я бы сразу занялся бы их портированием. Однако ждать, что они будут реализованы разработчиками, на мой взгляд не стоит. Судя по интервью c разработчиками торговой площадки Minecraft, у Plugin API есть вполне определённая цель и задачи. И она отличается от того, что мы обычно понимаем под модами. Разработчики, считают что главное в игре — это мир, который может собой предлагать модифицированный игровой процесс, в то время как сами плагины, в качестве отдельного элемента торговой площадки не рассматриваются. А значит, программирование остаётся на откуп создателям приключенческих карт и мини-игр. Поэтому отдельный персонаж, который принимал бы команды на C# оказывается совсем не нужен.

В тоже время, в качестве мода такой бот (не важно как он будет выглядеть, как агент из Minecraft Education Edition или как деревенский житель), вполне можно будет реализовать посредством PluginAPI, когда (и если!) его добавят в Minecraft Pocket Edition.

 

Где можно скачать Minecraft Education Edition и Code Builder

Для того чтобы воспользоваться Code Builder и Minecraft Education Edition нужно:

  • Зарегистрировать «образовательную» учётную запись. Я воспользовался той, которая у меня была получена в прошлом году, во время открытого бета-теста. При этом я получил сообщение, что в процессе пробного периода можно запустить Minecraft Education Edition 10 раз. Так что скорее всего, сейчас также можно зарегистрироваться и получить те же десять попыток. Поэтому, если у вас ещё нет такой учётной записи, воспользуйтесь инструкцией из статьи «Первый взгляд на Minecraft Education Edition».
  • Загрузить бета-версию Minecraft Education Edition 1.1 (пока Code Builder находится на этапе бета-тестирования) и приложение Code Builder. Скачать их одним архивом, можно тут:

Code Builder for Minecraft is a new feature that allows educators and students to write code to explore, create, and learn in a Minecraft world.

education.minecraft.net
  • Установить. Для этого нужно распаковать архив и запустить поочерёдно установщик Code Builder — файл codeconnection.msi и bat-файл InstallMinecraftEducationEdition.bat.

 

Как пользоваться Code Builder

Пользоваться довольно просто. После установки, нужно создать мир Minecraft и войти в игру. В игре надо написать команду /code. После этого будет запущено приложение Code Connection, в котором надо будет выбрать один из трёх редакторов — MakeCode (встроенный редактор), Scratch (редактор в виде веб-приложения) и Tynker (здесь есть библиотека готовых скриптов).

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

И даже, немного жаль, что Code Builder работает только с Minecraft Education Edition…