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

Автор оригинала: Grace Francisco
  • Перевод
Добрый день, уважаемые читатели!

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



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

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



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

С чего начать

Установка

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

Предварительные условия

  • При установке воспользуйтесь обычным (normal) аккаунтом. Сначала я пыталась работать с аккаунтом ребенка, активировав на нем родительский контроль. К сожалению, в таком случае не только ограничиваются возможности самого Minecraft, но и сужается набор вызовов для командной строки, которые могут понадобиться. Этот аккаунт не требует прав администратора.
  • Установите полноценную клиентскую версию Minecraft. Поскольку дети часто играют в Minecraft Pocket Edition (PE) на айпадах, мы не сразу поняли, что эта версия не позволяет подключиться к модифицированному серверу Minecraft, что мы делали при помощи CanaryMod. Клиентскую версию можно приобрести на сайте Minecraft. Обязательно подберите надежный пароль.
  • Установите Java, если еще не сделали этого. Без Java вы не сможете работать с модифицированным сервером.
  • Наконец, ссылки: убедитесь, что версии, с которыми вы работаете, совместимы друг с другом, иначе плагин ScriptCraft загрузится неправильно.


Вот с чем работала я:


Начали

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

  • Откройте терминал
  • Перейдите в каталог
  • Введите
    java -jar CanaryMod-1.2.0_0.jar


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



Обратите внимание: если вы правильно установили плагин 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 работает:

/js 1 + 1


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

/js box(5,3,2,4)




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

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

/jsp spawn cow

/jsp spawn horse


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

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

/time set 1000

/weather clear

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

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

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

/js cylinder(92, 5, 20)


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



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

/js cottage_road()

/js fort()

/js castle()




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

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

/js dancefloor()




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




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

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

Домашняя страница ScriptCraft
Ваш первый мод Minecraft
Справка по ScriptCraft API
Ознакомительный пост по ScriptCraft
Издательский дом «Питер»
285,64
Компания
Поделиться публикацией

Похожие публикации

Комментарии 17

    0
    Всё это очень здорово, конечно, но есть (не очень популярное) мнение о том, что бедная на тактильные ощущения среда (движения мыши, нажатия клавиш) — это совершенно не то, что полезно для развивающегося детского мозга. Раз уж речь о «дошколятах». Есть такой вот как минимум любопытный доклад психиатра и психолога Манфреда Шпитцера (Prof. Dr. Dr. Manfred Spitzer) www.youtube.com/watch?v=FnDEF7Aw9HI (увы, только на немецком).
      +5
      Кажется, что ввод отдельных команд — это не программирование. А вот именно программирование для дошколят будет сложноватым на этом ScriptCraft'e.
      Моим дошкольным опытом в этом деле был известный зверь:

      Он показал мне, что такое алгоритм и научил принципу:
      определяем, что хотим -> вводим программу -> наблюдаем -> накосячил? Сам виноват, исправляй.

        0
        Простите, а где можно приобрести такого зверя? Или как называется полностью?
          0
          Полностью называется Big Trak, советский вариант — Электроника ИМ-11. На амазоне стоят $50-70. https://ru.wikipedia.org/wiki/Big_Trak
          Сейчас имхо лучше купить что-то вроде Lego Mindstorms
        0
        Купил такую книжку недавно. Там вообще про bukkit и питон было...
          +1
          Не понял… В книге описывается Питон и сервер Буккит, откуда в статье взялись Яваскрипт, КанариМод и прочее? Перепутали тексты, вставили кусок другой статьи?

            0
            см абзац под КДПВ
              +1
              Так я и говорю — текст другой статьи, не связанной с книгой.
            0
            А в электронном виде будет доступна книга?
              –1
              нет
              0
              Довольно часто использую майнкрафт в учебном процессе, столкнулся с очень большим разнообразием модов, а также с тем, что он не всем нравится. И не нужно зацикливатся на нем одном. Использовал еще Codecombat, Colobot, Scratch, сейчас хочу покопать в сторону Kodu.
                0
                Скидка на книгу будет?
                  0
                  скидка 20% по купону — Minecraft
                  0
                  Отличная идея, Minecraft сейчас очень популярен, достаточно посмотреть на кол-во скачиваний в тех же appstore или googleplay, кол-во видео на youtube и проч.
                  Ну и соответственно — это замечательный способ привить интерес к программированию с детства. Да что там, мне самому захотелось попробовать.
                  А по поводу того, что «это совершенно не то, что полезно для развивающегося детского мозга», есть вот такая статья о пользе тех же компьютерных игр. Ну а программирование в рамках этого, это ещё и крайне полезный практический навык. geektimes.ru/post/272918/?mobile=no
                    0
                    ComputerCraft или OpenComputers(lua в MineCraft) вот здесь можно и попрограмировать.
                    Написать карьер или ферму дерева. Вот будет где поразмыслить. Есть еще и сетевые технологии в этих модах. Вот где можно разгуляться.
                      0
                      Установите Java, если еще не сделали этого. Без Java вы не сможете работать с модифицированным сервером.
                      И с самой игрой, которая не запустится без JRE.
                      CanaryMod
                      В чём профит устанавливать модифицированный сервер от маленькой команды есть есть bukkit с плагинами?
                      Освободите большое пространство, чтобы на нем было проще размещать разные структуры. На первый взгляд было неочевидно, как это делается, даже покопавшись на различных сайтах я не нашла четкого ответа – разве что такая возможность была в популярном моде WorldEdit. Я не решилась устанавливать малознакомый мод
                      Я не решилась устанавливать малознакомый мод
                      10/10.
                        0
                        Эх… а я впервые познакомился с программированием на уроках информатики в школе… на Спектрумах… писали на Бейсике программы рисования «звёзд» и сохраняли сие на аудиокассетах))) тогда было интересно даже просто подойти к компьютеру))) как быстро летит время, а темпы компьютеризации еще быстрее взлетают))) извините за ностальгический комментарий)

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

                        Самое читаемое