программирование на основе майнкрафт

Увлекательное программирование: изучаем Minecraft

Добрый день, уважаемые читатели!

У нас выходит второй тираж замечательной книги об игровом мире Minecraft. Мы уже публиковали о ней отдельный пост.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

Наконец, если вас заинтересует перевод ознакомительной публикации Уолтера Хиггса о ScriptCraft, на которую ссылается автор в самом конце статьи — пишите, обсудим 🙂

Если у вас, как и у меня, есть маленькие дети в возрасте 5-10 лет, то вы, вероятно, не понаслышке знаете о всеобщем увлечении Minecraft; возможно, у вас даже есть книги и игрушки на эту тему. Я стала размышлять, может ли эта игра в кубики чему-то научить ваших детей и решила рассказать, как увлечь детей программированием за игрой в Minecraft. Мы уже пытались учиться программировать на Scratch, но Minecraft нравится детям даже больше, чем этот язык. Вот я и решила отталкиваться от Minecraft.

Как раз этим делом я решила не заниматься с детьми. Они маленькие, и я хотела сделать так, чтобы мы могли сосредоточиться на «самом интересном», чтобы дети сразу получали «отдачу» от программирования, а не занимались скучной настройкой прежде, чем смогут приступить к программированию. Хорошо, что я поступила именно так: при установке обнаружились некоторые закавыки, которые вполне могли бы испортить детям настроение. Кстати, мы работали на Mac.

Необходимо усвоить: если от вас требуется «запустить сервер», то имеется в виду следующее:

Если все сработает верно, то вы должны увидеть следующее:

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Обратите внимание: если вы правильно установили плагин ScriptCraft, то также должны увидеть «Found 1 plugin».
Статус завершается приглашением командной строки для рабочего сервера. Чтобы аккуратно выйти с сервера, когда все сделаете, вернитесь в терминал и просто введите «stop». Если этого не сделать и закрыть окно терминала, либо нажать Ctrl-Z, то соответствующий процесс Java так и будет висеть на том порте, где был запущен CanaryMod – по умолчанию 25565. В таком случае у вас возникнут проблемы, как только вы попытаетесь вновь запустить сервер.

Навигация в Minecraft

Если вы не играете в Minecraft регулярно (не то, что я), то убедитесь, что умеете пользоваться навигацией в игре.
Единственный вопрос, ответ на который я не нашла в онлайновых руководствах и при простом поиске в Google – как открыть дверь, не разрушая ее. В итоге я приспособилась прокладывать путь при помощи Ctrl + click. Тогда можно не сносить красивые дверцы домиков и других строений :). Странно, что дети предпочитали везде вламываться, не щадя дверей. Хмммм…

Впервые запустив клиент Minecraft, настройте многопользовательский режим (multiplayer). В руководствах пишут, что для соединения используется просто «localhost», но на самом деле нужно задать
localhost:, где port – либо порт, задаваемый по умолчанию для CanaryMod, то есть, 25565, либо другой порт, который вы могли определить в конфигурационном файле CanaryMod.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Затем попробуйте ввести какой-нибудь текст в командную строку. Обратите внимание: командная строка есть как в самом клиенте Minecraft, так и в том окне терминала, из которого вы запускали сервер CanaryMod. Иногда кажется, что клиент реагирует не на все нажатия клавиш. Мой старший любит в таком случае говорить «что-то глючит». В таком случае нужно перезапустить клиент Minecraft, а иногда даже сервер CanaryMod.

Если вы не хотите отвлекаться на всяких монстров и тварей, пытающихся сожрать вашего персонажа, сразу установите такой игровой режим, чтобы можно было творить. Это можно сделать как в конфигурационном файле config file, так и в командной строке Minecraft, где нужно ввести: /gamemode c
. В таком случае вы с детьми сможете вплотную заняться программированием и игрой, а не спасением вашего персонажа.

Сначала давайте убедимся, что ScriptCraft работает:

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

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Получился дубовый ящик с id 5, у которого задана ширина, глубина и высота. Он возник в воздухе, поскольку мы начали с той точки, в которой был крестик-прицел.

Дети сразу заинтересовались, а можем ли мы создать тут животных, например, коров или лошадок:

/jsp spawn cow

/jsp spawn horse

Эти вызовы отличаются от тех, что мы делали при создании блоков: перед ними ставится /js, а не /jsp. Помните команду «op»? Она позволяет делать при помощи /js мощные вызовы, которые не следует предоставлять в распоряжение всем игрокам.

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

Демо-версия для родителей

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

Покажите, как создать цилиндр из тортов (cake blocks) при помощи функции цилиндра, принимающей id торта, радиус и высоту. Моя старшая дочь была в полном восторге от того, что в этом квадратном мире можно сделать цилиндры, причем из торта (id 92). Она переключилась в режим выживания командой game mode s
и с аппетитом «поедала» тортики, в Minecraft от этого улучшается здоровье. Ах, если бы в жизни тоже так было 🙂

/js cylinder(92, 5, 20)

Вот что получилось (вид сверху):

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Создаем домик, потом набор домиков, форт и замок. Не забывайте двигать крестик, чтобы все эти объекты не выстраивались друг на друге.
/js cottage()

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Затем покажите, как замостить одну из этих структур слизнями. Дети подсказали, что если мы так сделаем, то наш персонаж сможет весело летать в облаках и приземляться в виртуальном домике-батуте. Блоки-слизни упоминаются в gamepedia, их id 165.

Можно даже добавить в одном из строений танцпол:

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Освободите большое пространство, чтобы на нем было проще размещать разные структуры. На первый взгляд было неочевидно, как это делается, даже покопавшись на различных сайтах я не нашла четкого ответа – разве что такая возможность была в популярном моде WorldEdit. Я не решилась устанавливать малознакомый мод, но в итоге нашла кое-какой код в папке с плагином ScriptCrafts, где используются воздушные блоки. Точно, воздушные блоки! Итак, поехали:
/js box(blocks.air, 50, 50, 50)

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Так можно очистить большое пространство, но на это потребуется до минуты времени, поэтому запаситесь терпением. Дети были в восхищении. Но если в этой области у вас имеются высокие деревья или горы, то их верхушки могут остаться «плавать» в воздухе. В таком случае просто еще раз примените код или поднимите эту область и переставьте крестик. Наконец, мы могли просто настроить на сервере плоский мир и для начала поэкспериментировать с ним, но тогда играть было бы менее интересно. Учтите: если задавать для этих размерностей величины 50 и более, то можно запросто обвалить сервер.

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

Источник

Minecraft: основы программирования. Курс для детей 8–11 лет

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

GeekSchool запускает курс для детей 8–11 лет, на котором ученики познакомятся с основами программирования, а поможет им в этом Minecraft. Как компьютерная игра может быть инструментом для обучения, зачем младшим школьникам программирование и как мотивировать ребёнка на дополнительные занятия — обо всём этом мы поговорили с преподавателем курса Ильёй Акчуриным.

Что такое Minecraft

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Minecraft — популярная компьютерная игра в жанре песочницы (или конструктора). В ней нет последовательного сюжета, персонажей или главного монстра — только игровая среда, которую можно менять, создавая уникальные миры и самостоятельно ставя себе задачи. Игроку предоставляется полная свобода действий: он может исследовать, творить, добывать ресурсы или сражаться с противниками. При этом у Minecraft узнаваемый визуальный стиль — всё построено из кубиков-пикселей, а потому миры этой игры напоминают любимые всеми конструкторы Lego.

Илья Акчурин, преподаватель курса: «На мой взгляд, секрет популярности Minecraft — в свободе действий. Ты появляешься в мире и можешь делать в нём всё, что твоей душе угодно, без рамок или ограничений — именно это и привлекает многих маленьких поклонников. В младшем возрасте дети очень любят создавать что-то своё и бесконечно фантазировать».

Как появился этот курс

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Идея использовать Minecraft в образовании не нова — такая практика уже несколько лет существует в США и Европе. В GeekSchool есть курс по обучению языку Python с помощью Minecraft, но он рассчитан скорее на подростков — а младшим ученикам даётся сложнее. Поэтому мы решили создать отдельный курс, в котором не используются языки разработки, а задействовано только визуальное программирование.

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

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

Чем школьнику 8–11 лет будет полезен курс

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

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

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

Илья Акчурин: «Ребятам нужно не только ставить блоки в правильном порядке, но ещё представлять себе будущую постройку в 3D, чтобы правильно отдавать команды помощнику-черепашке. С первого раза редко удаётся всё сделать правильно даже профессиональным разработчикам. Нужно будет искать недочёты, исправлять их и снова тестировать решение. Так ребята научатся терпеливо относиться к процессу и своим ошибкам, разовьют пространственное мышление и воображение».

Как проходит обучение

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

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

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

Отвечаем на вопросы родителей

Как родителям мотивировать ребёнка на «ещё одну школу» с домашними заданиями?

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

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

Есть ли риск того, что ребёнок во время занятий будет работать не по заданиям, а просто играть?

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

Этот курс — только для «технарей»?

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

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

Есть ли какие-то требования к ученикам? Любой ли ребёнок, владеющий базовыми компьютерными знаниями, с ней справится?

Да, любой, кто владеет мышкой и умеет работать с окнами, может учиться на курсе.

Как эта программа соотносится с другими курсами для детей в GeekSchool?

«Minecraft: основы программирования» может стать отличным продолжением курса «Программирование на Scratch» — как переходный шаг от визуального к языковому программированию. А органичным продолжением может стать курс «Minecraft: программирование на языке Python».

Новый поток «Minecraft: основы программирования» стартовал 15 марта. Узнать подробнее о преподавателе, программе и условиях обучения можно на странице курса.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

GeekSchool запускает курс для детей 8–11 лет, на котором ученики познакомятся с основами программирования, а поможет им в этом Minecraft. Как компьютерная игра может быть инструментом для обучения, зачем младшим школьникам программирование и как мотивировать ребёнка на дополнительные занятия — обо всём этом мы поговорили с преподавателем курса Ильёй Акчуриным.

Что такое Minecraft

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Minecraft — популярная компьютерная игра в жанре песочницы (или конструктора). В ней нет последовательного сюжета, персонажей или главного монстра — только игровая среда, которую можно менять, создавая уникальные миры и самостоятельно ставя себе задачи. Игроку предоставляется полная свобода действий: он может исследовать, творить, добывать ресурсы или сражаться с противниками. При этом у Minecraft узнаваемый визуальный стиль — всё построено из кубиков-пикселей, а потому миры этой игры напоминают любимые всеми конструкторы Lego.

Илья Акчурин, преподаватель курса: «На мой взгляд, секрет популярности Minecraft — в свободе действий. Ты появляешься в мире и можешь делать в нём всё, что твоей душе угодно, без рамок или ограничений — именно это и привлекает многих маленьких поклонников. В младшем возрасте дети очень любят создавать что-то своё и бесконечно фантазировать».

Как появился этот курс

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Идея использовать Minecraft в образовании не нова — такая практика уже несколько лет существует в США и Европе. В GeekSchool есть курс по обучению языку Python с помощью Minecraft, но он рассчитан скорее на подростков — а младшим ученикам даётся сложнее. Поэтому мы решили создать отдельный курс, в котором не используются языки разработки, а задействовано только визуальное программирование.

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

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

Чем школьнику 8–11 лет будет полезен курс

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

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

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

Илья Акчурин: «Ребятам нужно не только ставить блоки в правильном порядке, но ещё представлять себе будущую постройку в 3D, чтобы правильно отдавать команды помощнику-черепашке. С первого раза редко удаётся всё сделать правильно даже профессиональным разработчикам. Нужно будет искать недочёты, исправлять их и снова тестировать решение. Так ребята научатся терпеливо относиться к процессу и своим ошибкам, разовьют пространственное мышление и воображение».

Как проходит обучение

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

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

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

Отвечаем на вопросы родителей

Как родителям мотивировать ребёнка на «ещё одну школу» с домашними заданиями?

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

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

Есть ли риск того, что ребёнок во время занятий будет работать не по заданиям, а просто играть?

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

Этот курс — только для «технарей»?

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

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

Есть ли какие-то требования к ученикам? Любой ли ребёнок, владеющий базовыми компьютерными знаниями, с ней справится?

Да, любой, кто владеет мышкой и умеет работать с окнами, может учиться на курсе.

Как эта программа соотносится с другими курсами для детей в GeekSchool?

«Minecraft: основы программирования» может стать отличным продолжением курса «Программирование на Scratch» — как переходный шаг от визуального к языковому программированию. А органичным продолжением может стать курс «Minecraft: программирование на языке Python».

Новый поток «Minecraft: основы программирования» стартовал 15 марта. Узнать подробнее о преподавателе, программе и условиях обучения можно на странице курса.

Источник

Программируем в мире Minecraft

Хабр, привет! Пока все обсуждают ИИ в мире Pacman, мы начнем делать свой ИИ в Minecraft с фреймворком Malmo от Microsoft Research. Pacman у нас тоже появится. Если вы любите кубический мир, или вам хотелось бы начать изучать искусственный интеллект, или у вас есть дети, с которыми вы не можете найти общие увлечения, или же вас просто заинтересовала тема – прошу под кат.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

В этой статье я постараюсь затронуть несколько тем:

Minecraft: моя предыстория

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

Для меня Minecraft стал продолжением любимой игрушки детства – Lego, исправив ее главный недостаток: постоянную нехватку деталей. Аналог Lego с безлимитными деталями, что может быть лучше.

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

Меня очень обрадовала новость о наличии open source фреймворка для программирования в мире Minecraft. Я твердо уверена, что в будущем в подавляющем числе профессий могут понадобиться базовые навыки программирования. Фреймворк на базе любимой игрушки, на мой взгляд, отличный способ показать ребенку захватывающий мир программирования.

Malmo: основная идея

Фреймворк Malmo был создан совместными усилиями нескольких исследователей, главной целью которых было адаптировать интересный мир к экспериментам в области искусственного интеллекта. Алгоритмов ИИ по-прежнему относительно мало, и все они имеют огромный потенциал для более детального изучения и усовершенствования. Мне очень нравится, что Microsoft создает дополнительную мотивацию к изучению неизведанного.

Технические моменты

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

Поддержка ОС и языков программирования
Несмотря на смелое заявление о поддержке всех трех популярных ОС, мне показалось, что тестирование было как следует проведено лишь для ОС Windows. Победив проблемы с установкой, ваша головная боль на ОС Windows обещает закончиться. На Linux проблемы, скорее всего, продолжатся, так как поднятый сервер периодически падает, не сообщая причин. Если вы продолжите мои эксперименты – обязательно пишите в комментарях о вашем опыте.

Авторы постарались поддержать большое число популярных языков и сделали обвязки для C#, C++, Lua, Python2 и Java. Я выбрала Python.

Как играть программировать в Malmo

Логику для каждого из человечков вы можете реализовать в коде, а также можно управлять персонажем самостоятельно всем знакомыми клавишами AWSD.

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

Авторы позаботились о нас и сделали внушительное число примеров, добавив к ним описание.

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

В xml файле вы можете задать режим игры:

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

Вот этот код нарисует вам Пакмана, который поедает шарики и уходит в радужный кратер:

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Наконец, в xml можно добавить необходимые координаты для добавления обзора персонажу:

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

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

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

Фичи для ИИ

Конечно же, первое, что мне захотелось увидеть для реализации алгоритмов ИИ в malmo – это возможность двигаться дискретно. В вопросе ИИ и так хватает сложностей, и не хочется добавлять ко всему прочему постоянную корректировку направления и скорости движения.
Включаем нужное в xml так:

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

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

Кроме этого, исследователи добавили несколько приятных фич для решения задачи обучения с подкреплением (Reinforcement Learning). Алгоритмы этого типа подразумевают постоянное награждение или наказание искусственного интеллекта за те или иные действия. Разработчики продумали этот момент и добавили возможность прописать эти действия/события в xml, избавив код от постоянных одинаковых проверок. Вы также можете задать окончание игры по наступлению некоторого события:

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

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

Malmo: вывод

Авторы фреймворка подарили нам потрясающую возможность погрузиться в любимый мир с другой стороны. Malmo пока что находится в бете, во многих ситуациях он… заставляет совершенствовать свои навыки в troubleshooting. Тем не менее, его плюсы перевешивают все его минусы, а тот факт того, что исходники лежат в открытом доступе на github, позволяет нам самостоятельно доделать нужное место или создать issue для исправления критических багов.

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

Malmo Challenge: история и результаты

Кроме самого фреймворка, Microsoft также проводил соревнование на базе платформы, названной Malmo Challenge. Оно было призвано побудить ученых и исследователей к работе над коллаборативными алгоритмами. Конкурс стартовал примерно полгода назад, а результаты появились 5 июня.

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

программирование на основе майнкрафт. картинка программирование на основе майнкрафт. программирование на основе майнкрафт фото. программирование на основе майнкрафт видео. программирование на основе майнкрафт смотреть картинку онлайн. смотреть картинку программирование на основе майнкрафт.

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

Эта задача в общем виде называется Охота на оленя. Она была сформулирована еще в 18 веке Жан Жаком Руссо. Несмотря на внушительный возраст проблемы, до сих пор неясно, какой алгоритм наиболее эффективно решает поставленную задачу.

Я рада поделиться с вами результатами соревнования. Меня очень удивило распределение мест в турнирной таблице.

Первое место занял проект команды из Великобритании. Авторы трезво оценили сильный недостаток времени, поняли, что они вряд ли успеют адаптировать для задачи сложные существующие алгоритмы. Они выбрали Байесовский вывод для определения типа напарника, а также Марковские цепи для непосредственного игрового процесса. И победили.

Участники, занявшие второе место, решили взять самые сложные из существующих решений, они использовали DNN, Reinforcement learning, DQN, A3C model… И это все не помогло им обойти Байеса и Марковские цепи.

Подытожим статью мыслью о том, что нужно быть проще.

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

Видео с моим рассказом о Malmo на встрече Петербургского Python митапа уже появилось на моем канале на Youtube. Там также есть записи других моих лекций и прочая болтовня про IT.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *