Добрый день, уважаемые читатели!
У нас выходит второй тираж замечательной книги об игровом мире 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
Автор: Издательский дом «Питер»
круто