У нас вышла новая книга, адресованная мальчикам и девочкам, которые любят играть в 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

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


  1. cbrwizard
    29.10.2015 13:55
    +2

    Круто, жаль раньше такого не было]


  1. Riketta
    29.10.2015 16:50

    А почему нет цифровой версии? И будет ли она?


    1. ph_piter
      29.10.2015 17:06
      -3

      электронной книги не будет


      1. FSA
        30.10.2015 08:14

        Очень жаль. С бумаги читать очень неудобно. Придётся ждать пиратов.


        1. Aspos
          30.10.2015 08:49

          Ну вот же версия для киндла


          1. FSA
            30.10.2015 09:13

            Мне кажется это немного не то и не на том языке.


            1. ivanych
              30.10.2015 10:16
              +2

              Это та самая книга, Питер обложку поменял. Но язык не тот, да.


  1. tcpippop3
    29.10.2015 17:11

    Подскажите, пожалуйста, на какую примерно возрастную группу рассчитано данное издание?


    1. ph_piter
      29.10.2015 17:14

      Книга адресована читателям в возрасте 11–15 лет, но некоторые приключения в финале могут показаться сложными и более взрослым людям. Кроме того, первые главы книги исследовали совсем юные читатели в возрасте от восьми лет.


      1. Pilat
        30.10.2015 12:38

        Мне нужна такая же для 7-летнего мальчика…


  1. LunaRain
    29.10.2015 19:06
    +2

    пособие для гриферов есть?


  1. KirillovAlex
    29.10.2015 19:42
    +10

    Забавно. На новый год хочу такую.
    Мальчик, 32 года.


  1. ivanych
    29.10.2015 20:22

    Для какой операционной системы написано?


    1. yeroo
      30.10.2015 01:53

      упоминается Raspberry Pi, может raspbian?image


      1. ivanych
        30.10.2015 08:41

        У Вас электронная версия есть? Там только Малина упоминается? Винда, Мак, Линукс — нет?

        Под Малину — это как-то заморочно для детской книги…


        1. ph_piter
          30.10.2015 11:44

          Малины не будет. Там винды (как самая популярная в нашей стране ОС)


          1. ivanych
            30.10.2015 11:58

            А вот я посмотрел на сайте книги (http://eu.wiley.com/WileyCDA/Section/id-823690.html), там есть файлы для скачивания, в том числе для Мака и Линукса. А в книге про Мак и Линукс ничего нету?


            1. ivanych
              30.10.2015 12:15

              Упс, где я Линукс увидел? Пардон. На сайте файлы для Мака, PC (видимо, это Винда) и для Малины. Из книги упоминания Мака и Малины вырезали, что ли?


  1. Tarvitz
    29.10.2015 20:23

    Внезапный оффтоп: вот это будет?


  1. hudson
    29.10.2015 22:21
    +1

    Сын сказал «хочу-хочу-хочу» )) Завтра попробуем заказать


  1. ivanych
    30.10.2015 10:46
    -1

    Пытаюсь сделать заказ на сайте. Выбираю доставку в пункт выдачи — оно у меня требует заполнения адреса доставки. Пытаюсь что-нибудь написать в адресе доставки — оно стирает выбранный пункт выдачи. Что за фигня? Как заказать с доставкой в пункт выдачи?


    1. ivanych
      30.10.2015 11:19
      -1

      image


      1. Myosotis
        30.10.2015 12:01

        Продублировать адрес пункта выдачи %)


        1. ivanych
          30.10.2015 12:02

          И индекс угадать? :)


          1. Myosotis
            30.10.2015 12:20

            А индекс гуглится =)


            1. romy4
              30.10.2015 14:03

              В таком случае, индекс пункта выдачи должен автоматически сам подставляться, как и адрес, либо пропускаться.


              1. Myosotis
                30.10.2015 14:19

                Логично. Но такую схему, к сожалению, можно встретить во многих интернет-магазинах.


      1. Myosotis
        30.10.2015 17:23

        В-общем, мне тоже не удалось заказать по-нормальному. Кнопка «Подтвердить заказ» не работала. В итоге перезапустила браузер, все поля остались заполненными, а пункт выдачи был выделен, но адрес сбросился. Написали, что заказ принят. Надеюсь…

        Как-то так
        Способ доставки: Пункты выдачи товара с оплатой при получении (CDEK)
        Регион: г Санкт-Петербург
        Город/Район: Санкт-Петербург
        Адрес: КОЛОМЯЖСКИЙ ПРОСПЕКТ, д.28 корп 2, оф.29Н
        Почтовый индекс:197341


  1. SemenOk2
    30.10.2015 11:59

    блин, ну как же жаль что нет электронной версии!


    1. ivanych
      30.10.2015 12:18
      +1

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


      1. SemenOk2
        30.10.2015 12:38

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


        1. ivanych
          30.10.2015 13:35

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


  1. lanseg
    30.10.2015 12:45

    А есть где-нибудь нормальное описание api (если оно есть), или рассказ о том, как этот майнкрафт «вскрывали»?


    1. ivanych
      30.10.2015 13:26

      Прямо в тексте этой статьи говорится о сервере craft-bukkit, я чутка погуглил и наткнулся вот на этот сайт — rubukkit.org

      Наверное, там можно поискать про API и прочее. Но я не искал, утверждать не буду.


      1. lanseg
        30.10.2015 13:45

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


        1. ivanych
          30.10.2015 13:49

          Я не в теме. А что, этот craft-bukkit — это не настоящий Майнкрафт? К примеру, если у ребенка на планшете установлен настоящий Майнкрафт, то он не сможет подключиться к craft-bukkit?


          1. k0t
            30.10.2015 15:37

            Сможет. Bukkit — это серверная модификация, реализующая API для плагинов


            1. ivanych
              30.10.2015 16:54
              -1

              А тот Майнкрафт, который установлен на планшете — это, получается, плагин? Кто там на ком сидит?


              1. k0t
                02.11.2015 11:03

                Майнкрафт на планшете — это клиент игры.


  1. nemilya
    30.10.2015 14:20
    +1

    Спасибо за перевод!

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

    Learning Python using Codecademy and Minecraft Pi

    Оттуда:


  1. franzose
    30.10.2015 15:29

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


  1. pazhitnov
    31.10.2015 10:45

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