
Книга специально написана для тех, кто не только любит играть, но и хочет создавать что-то новое. Вы с легкостью освоите программирование, просто играя в Minecraft. В этом вам помогут простые пошаговые инструкции, позволяющие не только написать программу на Python, но и построить дом, фантастическое сооружение или даже 3D-копировальную машину. Вы сможете создавать собственные интерактивные игры, заниматься поиском сокровищ и даже возводить невероятные гигантские 2D- и 3D-объекты (сферы и пирамиды).
Все в ваших силах — постройте работающие огромные Minecraft-часы, спланируйте нападение инопланетян и даже сражение. Навыки программирования, полученные в этой книге, позволят вам раскрыть невероятные возможности Minecraft, недоступные вашим друзьям и знакомым.
Что такое Minecraft
Minecraft — это инди-игра в жанре песочницы, где можно строить сооружения, собирать предметы, добывать минералы и сражаться с монстрами. Она выглядит как трехмерный виртуальный мир, состоящий из разных кубических блоков; каждый блок занимает свое место в трехмерной решетке мира. На рисунке в начале поста показан пример ландшафта в мире Minecraft.
Виртуальный мир
В играх, относящихся к жанру песочницы, игрок находится внутри виртуального мира (как в обычной детской песочнице, но очень большой). Вместо прохождения определенных уровней в заданном порядке здесь вы путешествуете по виртуальному миру и принимаете решения, исходя из своих целей и способов их достижения. Поскольку выбор приходится делать в самом начале, игры в жанре песочницы обладают почти неограниченными возможностями. Вы создаете собственные сюжеты и перемещаетесь в трехмерном мире, приобретаете новые навыки и возможности, обнаруживая их случайно или в ходе экспериментов.
Персонаж в Minecraft — воплощение игрока, его аватар называется Стив (Steve). Игрок управляет Стивом в виртуальном мире, стремясь достичь поставленной цели. Если удастся благополучно пережить первую ночь, когда одолевают монстры, вы сможете следовать своим целям, взаимодействовать с другими игроками и строить огромные сооружения, ограничиваясь лишь собственной фантазией. Игры в жанре песочницы позволяют игроку самому решать, как вести игру, не вынуждая его двигаться маршрутами, заложенными создателями игры.
О программировании в Minecraft
В этой книге рассказывается о программировании: игра Minecraft использована в качестве способа обучения программированию. Если вы ищете советы, как строить разные сооружения и выигрывать сражения, лучше обратиться к другим книгам по теме.
Программируя в Minecraft, можно сделать игру более захватывающей, творческой и индивидуальной. Играя в обычную игру, игроки следуют основным правилам Minecraft, заложенным создателями. А добавляя свои программы, взаимодействующие с игровым миром Minecraft, можно автоматизировать решение сложных и повторяющихся задач, таких как строительство протяженных улиц с домами и гигантских строений. Можно придать игре и ее объектам новые стили поведения, добавить новые элементы, до которых не додумались авторы. Но самое главное, что так вы приобретете универсальный навык — умение программировать на языке Python, который можно применять более широко, не только для программирования в Minecraft. На рисунке 1 изображена длинная улица со зданиями, построенная с помощью коротенькой программы на Python.
Рис. 1. Длинная улица со зданиями, построенная 20-строчной программой на Python
Что вы узнаете
Вы познакомитесь со множеством сторон игры Minecraft и способами влияния на ее поведение с помощью программ на языке Python. Откроете тайну адресации блоков в трехмерном мире с использованием координат. Узнаете, как определять местоположение персонажа, создавать и удалять блоки в Minecraft и как определить, какой блок выбран игроком.
Вы научитесь настраивать и запускать собственный локальный сервер Minecraft, использовав сервер craft-bukkit, созданный сообществом, и программировать его, использовав программный интерфейс Minecraft.
Вы узнаете, как писать программы на языке Python: от самых простых, таких как «Привет, мир Minecraft!», до сложных, взаимодействующих с огромными трехмерными объектами, которые, благодаря новым навыкам программирования на Python, легко штамповать.
Использовав бесплатный модуль MinecraftStuff, входящий в состав библиотеки на языке Python, вы сможете создавать двух- и трехмерные объекты из блоков, рисовать линии и многоугольники, а также выводить текст.
О структуре книги
Каждая глава в книге — отдельное приключение, обучающее новым навыкам и понятиям в процессе программирования и тестирования проекта. Книга организована так, что каждому приключению соответствует отдельный проект, не зависящий от других. Хотя, возможно, кому-то будет проще осваивать их по порядку и знакомиться с новыми понятиями программирования постепенно.
Очень важно, чтобы вы в первую очередь прочли Приключение 1, потому что там описано, как загрузить и установить все, что вам понадобится, и убедиться, что все работает должным образом. В этом приключении мы перечислим главные шаги, которые придется выполнять в следующих приключениях, и будем напоминать о них на протяжении первых приключений.
Первые три приключения написаны для тех, кто мало знает или вообще ничего не знает о программировании. Мы объясним все термины и понятия по мере встречи с ними. В Приключениях 2, 3 и 4 рассмотрены ключевые элементы любой хорошей игры Minecraft. В их числе: определение событий, происходящих в мире Minecraft; выполнение простых вычислений и создание программ, реагирующих по-разному, например, отправляющих сообщения в чат или автоматически создающих блоки. Эти три ключевых понятия — определение, вычисление и реагирование — мы будем использовать на протяжении всей книги для создания больших и захватывающих программ Minecraft.
Приключение 5 основано на знаниях, полученных в предыдущих приключениях. Здесь мы исследуем некоторые интересные способы связи виртуального мира Minecraft с внешним миром. В частности, рассмотрены способы сохранения больших объемов данных в файлах для копирования и воспроизведения больших сооружений с помощью трехмерного «копировального аппарата».
Приключения 6 и 7 знакомят с модулем MinecraftStuff, позволяющим с помощью блоков создавать линии, окружности и другие двухмерные фигуры, а также некоторые фантастические трехмерные сферы и пирамиды. Они могут стать основой для строительства гигантских сооружений, создать которые вручную очень сложно. В Приключении 7 показано, как наделить движущиеся объекты индивидуальными особенностями, чтобы сделать их движения более-менее разумными. Освоив эти приемы, вы сможете писать захватывающие «игры внутри игры», которые наверняка поразят ваших друзей.
Приключение 8 потребует знания всех понятий и навыков программирования, полученных в предыдущих приключениях, для создания заключительного проекта — интересной игры на очки с движущимися объектами, которых нужно избегать или, наоборот, использовать для перемещения.
Более подробно с книгой можно познакомиться на сайте издательства:
Оглавление
Отрывок
Для Хаброжителей скидка 20% по купону — Minecraft
Комментарии (42)
tcpippop3
29.10.2015 17:11Подскажите, пожалуйста, на какую примерно возрастную группу рассчитано данное издание?
ph_piter
29.10.2015 17:14Книга адресована читателям в возрасте 11–15 лет, но некоторые приключения в финале могут показаться сложными и более взрослым людям. Кроме того, первые главы книги исследовали совсем юные читатели в возрасте от восьми лет.
ivanych
29.10.2015 20:22Для какой операционной системы написано?
yeroo
30.10.2015 01:53упоминается Raspberry Pi, может raspbian?
ivanych
30.10.2015 08:41У Вас электронная версия есть? Там только Малина упоминается? Винда, Мак, Линукс — нет?
Под Малину — это как-то заморочно для детской книги…ph_piter
30.10.2015 11:44Малины не будет. Там винды (как самая популярная в нашей стране ОС)
ivanych
30.10.2015 11:58А вот я посмотрел на сайте книги (http://eu.wiley.com/WileyCDA/Section/id-823690.html), там есть файлы для скачивания, в том числе для Мака и Линукса. А в книге про Мак и Линукс ничего нету?
ivanych
30.10.2015 12:15Упс, где я Линукс увидел? Пардон. На сайте файлы для Мака, PC (видимо, это Винда) и для Малины. Из книги упоминания Мака и Малины вырезали, что ли?
ivanych
30.10.2015 10:46-1Пытаюсь сделать заказ на сайте. Выбираю доставку в пункт выдачи — оно у меня требует заполнения адреса доставки. Пытаюсь что-нибудь написать в адресе доставки — оно стирает выбранный пункт выдачи. Что за фигня? Как заказать с доставкой в пункт выдачи?
ivanych
30.10.2015 11:19-1Myosotis
30.10.2015 17:23В-общем, мне тоже не удалось заказать по-нормальному. Кнопка «Подтвердить заказ» не работала. В итоге перезапустила браузер, все поля остались заполненными, а пункт выдачи был выделен, но адрес сбросился. Написали, что заказ принят. Надеюсь…
Как-то такСпособ доставки: Пункты выдачи товара с оплатой при получении (CDEK)
Регион: г Санкт-Петербург
Город/Район: Санкт-Петербург
Адрес: КОЛОМЯЖСКИЙ ПРОСПЕКТ, д.28 корп 2, оф.29Н
Почтовый индекс:197341
SemenOk2
30.10.2015 11:59блин, ну как же жаль что нет электронной версии!
ivanych
30.10.2015 12:18+1Если электронная версия нужна для того, чтобы копировать оттуда код, то весь код есть на сайте книги.
SemenOk2
30.10.2015 12:38Код на сайте это хорошо, спасибо! А электронную версию хочу чтобы прямо сегодня можно было бы вручить книгу ребёнку, как раз каникулы. А уже имея электронную можно ждать пока придёт бумажная.
ivanych
30.10.2015 13:35Дада, я тоже как-раз из-за этого разволновался — у ребенка неделя безделья, а тут такой прям подарок судьбы:)
lanseg
30.10.2015 12:45А есть где-нибудь нормальное описание api (если оно есть), или рассказ о том, как этот майнкрафт «вскрывали»?
ivanych
30.10.2015 13:26Прямо в тексте этой статьи говорится о сервере craft-bukkit, я чутка погуглил и наткнулся вот на этот сайт — rubukkit.org
Наверное, там можно поискать про API и прочее. Но я не искал, утверждать не буду.lanseg
30.10.2015 13:45Bukkit не считается. Интересно было бы узнать, как прикрутить что-то своё к чистому майнкрафту. Понимаю, конечно, что можно какой-нибудь свой агент сделать, подменять классы и всё такое, но вдруг есть нормальный способ.
ivanych
30.10.2015 13:49Я не в теме. А что, этот craft-bukkit — это не настоящий Майнкрафт? К примеру, если у ребенка на планшете установлен настоящий Майнкрафт, то он не сможет подключиться к craft-bukkit?
nemilya
30.10.2015 14:20+1Спасибо за перевод!
Дополню, в 2013 году на блоге RaspberryPi было:
Learning Python using Codecademy and Minecraft Pi
Оттуда:
- arghbox.wordpress.com
- для обучения: arghbox.files.wordpress.com/2013/06/minecraftbook.pdf (более 200 страниц)
- для преподавателя: arghbox.files.wordpress.com/2013/06/teacheredition.pdf
pazhitnov
31.10.2015 10:45Дети шпилят в майнкрафт на игровой приставке (X1). Будет ли им полезна эта книга? Смогут ли они увидеть на большом экране то, что напрограммировали на ноутбуке?
cbrwizard
Круто, жаль раньше такого не было]