169,05
рейтинг
29 октября 2015 в 12:40

Разработка → Книга «Minecraft. Программируй свой мир»

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

image

Книга специально написана для тех, кто не только любит играть, но и хочет создавать что-то новое. Вы с легкостью освоите программирование, просто играя в Minecraft. В этом вам помогут простые пошаговые инструкции, позволяющие не только написать программу на Python, но и построить дом, фантастическое сооружение или даже 3D-копировальную машину. Вы сможете создавать собственные интерактивные игры, заниматься поиском сокровищ и даже возводить невероятные гигантские 2D- и 3D-объекты (сферы и пирамиды).

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

Что такое Minecraft

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

Виртуальный мир

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

Персонаж в Minecraft — воплощение игрока, его аватар называется Стив (Steve). Игрок управляет Стивом в виртуальном мире, стремясь достичь поставленной цели. Если удастся благополучно пережить первую ночь, когда одолевают монстры, вы сможете следовать своим целям, взаимодействовать с другими игроками и строить огромные сооружения, ограничиваясь лишь собственной фантазией. Игры в жанре песочницы позволяют игроку самому решать, как вести игру, не вынуждая его двигаться маршрутами, заложенными создателями игры.

О программировании в Minecraft

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

Программируя в Minecraft, можно сделать игру более захватывающей, творческой и индивидуальной. Играя в обычную игру, игроки следуют основным правилам Minecraft, заложенным создателями. А добавляя свои программы, взаимодействующие с игровым миром Minecraft, можно автоматизировать решение сложных и повторяющихся задач, таких как строительство протяженных улиц с домами и гигантских строений. Можно придать игре и ее объектам новые стили поведения, добавить новые элементы, до которых не додумались авторы. Но самое главное, что так вы приобретете универсальный навык — умение программировать на языке Python, который можно применять более широко, не только для программирования в Minecraft. На рисунке 1 изображена длинная улица со зданиями, построенная с помощью коротенькой программы на Python.

image
Рис. 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
Автор: @ph_piter

Комментарии (50)

  • +2
    Круто, жаль раньше такого не было]
  • 0
    А почему нет цифровой версии? И будет ли она?
    • –3
      электронной книги не будет
      • 0
        Очень жаль. С бумаги читать очень неудобно. Придётся ждать пиратов.
        • 0
          Ну вот же версия для киндла
          • 0
            Мне кажется это немного не то и не на том языке.
            • +2
              Это та самая книга, Питер обложку поменял. Но язык не тот, да.
  • 0
    Подскажите, пожалуйста, на какую примерно возрастную группу рассчитано данное издание?
    • 0
      Книга адресована читателям в возрасте 11–15 лет, но некоторые приключения в финале могут показаться сложными и более взрослым людям. Кроме того, первые главы книги исследовали совсем юные читатели в возрасте от восьми лет.
      • 0
        Мне нужна такая же для 7-летнего мальчика…
  • +2
    пособие для гриферов есть?
  • +10
    Забавно. На новый год хочу такую.
    Мальчик, 32 года.
  • 0
    Для какой операционной системы написано?
    • 0
      упоминается Raspberry Pi, может raspbian?image
      • 0
        У Вас электронная версия есть? Там только Малина упоминается? Винда, Мак, Линукс — нет?

        Под Малину — это как-то заморочно для детской книги…
        • 0
          Малины не будет. Там винды (как самая популярная в нашей стране ОС)
          • 0
            А вот я посмотрел на сайте книги (http://eu.wiley.com/WileyCDA/Section/id-823690.html), там есть файлы для скачивания, в том числе для Мака и Линукса. А в книге про Мак и Линукс ничего нету?
            • 0
              Упс, где я Линукс увидел? Пардон. На сайте файлы для Мака, PC (видимо, это Винда) и для Малины. Из книги упоминания Мака и Малины вырезали, что ли?
  • 0
    Внезапный оффтоп: вот это будет?
  • +1
    Сын сказал «хочу-хочу-хочу» )) Завтра попробуем заказать
  • –1
    Пытаюсь сделать заказ на сайте. Выбираю доставку в пункт выдачи — оно у меня требует заполнения адреса доставки. Пытаюсь что-нибудь написать в адресе доставки — оно стирает выбранный пункт выдачи. Что за фигня? Как заказать с доставкой в пункт выдачи?
    • –1
      image
      • 0
        Продублировать адрес пункта выдачи %)
        • 0
          И индекс угадать? :)
          • 0
            А индекс гуглится =)
            • 0
              В таком случае, индекс пункта выдачи должен автоматически сам подставляться, как и адрес, либо пропускаться.
              • 0
                Логично. Но такую схему, к сожалению, можно встретить во многих интернет-магазинах.
      • 0
        В-общем, мне тоже не удалось заказать по-нормальному. Кнопка «Подтвердить заказ» не работала. В итоге перезапустила браузер, все поля остались заполненными, а пункт выдачи был выделен, но адрес сбросился. Написали, что заказ принят. Надеюсь…
        Как-то так
        Способ доставки: Пункты выдачи товара с оплатой при получении (CDEK)
        Регион: г Санкт-Петербург
        Город/Район: Санкт-Петербург
        Адрес: КОЛОМЯЖСКИЙ ПРОСПЕКТ, д.28 корп 2, оф.29Н
        Почтовый индекс:197341
  • 0
    блин, ну как же жаль что нет электронной версии!
    • +1
      Если электронная версия нужна для того, чтобы копировать оттуда код, то весь код есть на сайте книги.
      • 0
        Код на сайте это хорошо, спасибо! А электронную версию хочу чтобы прямо сегодня можно было бы вручить книгу ребёнку, как раз каникулы. А уже имея электронную можно ждать пока придёт бумажная.
        • 0
          Дада, я тоже как-раз из-за этого разволновался — у ребенка неделя безделья, а тут такой прям подарок судьбы:)
  • 0
    А есть где-нибудь нормальное описание api (если оно есть), или рассказ о том, как этот майнкрафт «вскрывали»?
    • 0
      Прямо в тексте этой статьи говорится о сервере craft-bukkit, я чутка погуглил и наткнулся вот на этот сайт — rubukkit.org

      Наверное, там можно поискать про API и прочее. Но я не искал, утверждать не буду.
      • 0
        Bukkit не считается. Интересно было бы узнать, как прикрутить что-то своё к чистому майнкрафту. Понимаю, конечно, что можно какой-нибудь свой агент сделать, подменять классы и всё такое, но вдруг есть нормальный способ.
        • 0
          Я не в теме. А что, этот craft-bukkit — это не настоящий Майнкрафт? К примеру, если у ребенка на планшете установлен настоящий Майнкрафт, то он не сможет подключиться к craft-bukkit?
          • 0
            Сможет. Bukkit — это серверная модификация, реализующая API для плагинов
            • –1
              А тот Майнкрафт, который установлен на планшете — это, получается, плагин? Кто там на ком сидит?
              • 0
                Майнкрафт на планшете — это клиент игры.
            • 0
              Не получается у меня подключиться с планшета к Bukkit. Гуглил, гуглил — по всему выходит, что не может планшетная версия так сделать, для нее нужен какой-то специальный сервер, для планшетной версии Майнкрафта.

              Это я чего-то недопонял? Как Майнкрафт с планшета подключить к Bukkit? Где читать?
              • +1
                Совсем никак не подключить, ибо на планшете мобильная версия Майнкрафта, она сильно отличается от десктопной по функционалу, блокам и местами вроде даже физике.
  • +1
    Спасибо за перевод!

    Дополню, в 2013 году на блоге RaspberryPi было:

    Learning Python using Codecademy and Minecraft Pi

    Оттуда:
  • 0
    А потом будет как-то так :)

  • 0
    Дети шпилят в майнкрафт на игровой приставке (X1). Будет ли им полезна эта книга? Смогут ли они увидеть на большом экране то, что напрограммировали на ноутбуке?
    • 0
      Отвечу как человек, только-что сам купивший эту книгу (и, возможно, не до конца еще всё понявший).

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

      Теоретически, если Вы разбираетесь, то можете попробовать подключить к процессу этот, приставочный экземпляр, вместо предполагаемого в книге компьютерного экземпляра. Но я не знаю, можно ли так сделать. Я пробовал такое сделать для Майнкрафта, который у меня есть на планшете — но ничего не вышло.
      • 0
        Вопрос к человеку, купившему книгу, от человека, который всего в одном шаге от покупки :)
        Я так понял, в книге описывается установка сервера под виндой?
        Это вот этот сервер: rubukkit.org?
        Я смогу его поставить на мак по мануалам с rubukkit.org?
        • +1
          > Я так понял, в книге описывается установка сервера под виндой?

          Я что-то подзабыл уже, если ли в книге инструкции под Мак и Линукс (под винду точно есть), но в файлах, раздаваемых с сайта книги, есть готовые сборки под Мак и Линукс, так что никакой проблемы вообще не возникает. Я поставил всё за 5 минут под Мак.

          > Это вот этот сервер: rubukkit.org?

          Да. Но используется, вроде бы, не последняя версия, потому что там какие-то тонкие вопросы совместимости с модулями Питона.

          Ставьте готовую сборку с сайта книги (в книге есть ссылки) и всё заработает сразу и без бубна. Я до этого никогда сервер майнкрафта не ставил и про bukkit вообще не слышал, просто по книге все сделал. Там вся инструкция сводится к трем строчкам.
          • 0
            Премного благодарен, спасибо
        • +1
          У меня больше проблем возникло с Питоном. Питоновский редактор по умолчанию (IDLE) это какой-то ад. Пришлось помучиться и настроить редактор Sublime Text.
        • 0
          Тьфуты, опять я про Линукс написал, что за напасть. Я выше уже писал кому-то: На сайте есть сборки под Мак, Винду и Малину. Под Линукс нету.

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

Самое читаемое Разработка