Top.Mail.Ru

Исходный код Майнкрафт – это Java или С++?

Майнкрафт — это одна из самых знаменитых игр нашего времени. Над ее созданием и поддержкой трудится команда шведских разработчиков Mojang Java Studios. Исходный код в Майнкрафт в целом держится в секрете, не считая тех наработок, что есть в darknetе, Однако буквально недавно команда разработчиков опубликовала несколько легальных частей кода под свободной лицензией. Чуть позже остановимся на этом подробнее.

​Почему считают, что Майнкрафт для детей?

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

Нравиться он детям по нескольким простым причинам:

  • по сути своей очень напоминает LEGO, но только в «цифре»;
  • фантазия ребенка в игре ничем не ограничена ;
  • абсолютно свободные действия в игре — ломать, строить, рыть, ходить — легко;

​Исходный код Майнкрафт — это Java?

В начале своего создания, Minecraft практически на 100% использовал код Java. Это практически единичный случай, когда вся игра создана с помощью всего одного языка. Возможно из-за этого сам язык программирования Java и приобрел такую популярность. Потому что было время, когда мир программирования для многих открывался именно через эту игру. А раз код Майнкрафта это Java, то многие начинающие программисты и начинали изучать именно этот язык.

Наверно поэтому большое количество модов для Майнкрафта написаны тоже на Java, что опять же доказывает повышенный интерес как к самой игре, так и к языку, на котором она написана. Но как известно, время вносит свои коррективы. Буквально до 2017 года все было так, как описано выше. Но начиная с 17-го года, код базовой версии Minecraft поменялся на С++.

Сделано это для того, чтобы была возможность объединять все версии с разных платформ:

  • Windows;
  • Linux;
  • MacOS;
  • Android;
  • iOS.

К сожалению, Java не могла обеспечить работу игры на iOS, поэтому было принято такое решение.

Вот и получается, что код Майнкрафта доступен в двух версиях:

  • на С++;
  • на Java Edition.

​Где найти исходный код Майнкрафта?

Как мы говорили выше, что в целом исходный код Майнкрафта в закрытом доступе. Да, есть какие-то наработки и куски кода от «черных» энтузиастов или от тех кто декомпилировал исходный код Майнкрафт. То есть конвертировать машинный двоичный код в Java, но честно говоря не все образцы были понятны и читаемыми.

Но вот, буквально недавно, были легально опубликованы несколько пакетов кода Java Edition. Найти их можно на GitHub. Они распространяются открыто и со свободной лицензией MIT корпорации Microsoft. В своем составе они представляют две библиотеки Java:

  1. Brigadier;
  2. DataFixerUpper.

Эти библиотеки открыли возможность разбивки, отправки, обработки пользовательских команд и данных от новых версий игры.

На этом все не остановится. Как говорят разработчики, в дальнейшем они планируют еще публиковать в открытом доступе другие библиотеки и куски исходного кода Майнкрафт. Это будет делаться для того, чтобы облегчит разработку других подобных игр и труд разработчиков модификаций.

​Библиотека Brigadier

Данная библиотека в основном используется как парсинг и диспетчер команд. Как говорят разработчики, их «Бригадир» может использовать данные(строку кода), которые вводит пользователь, чтобы превратить их в функцию. И уже данную функцию Майнкрафт сможет выполнить. Для пользователей же — это обычная консоль, куда можно вводить команды, команды правда нужно вводить на языке Java.

Brigadier делит любую команду пользователя, чтобы проверить ее на ошибки и воспроизвести. Еще обработчик команд старается быть ненавязчивым и полезным, чтобы ускорить ваш процесс. Например при вводе команд он предложит вам возможные варианты на выбор.

Данной библиотекой пользоваться довольно просто – нужны минимальные знания.

​Библиотека DataFixerUpper

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

Если простым языком, то этот исходный код Minecraft делает следующее. Допустим вы загружаете какой-нибудь мир в Майнкрафт. И так получилось, что там есть данные, которые не трогались больше 5 лет, потому что вы не посещали эти чанки все эти 5 лет. Так вот, как только игра начинает запускаться сам Майнкрафт обращается к библиотеке DataFixerEpper, которая приводит чанки к современному формату.

Возможно вам будет интересно, как мы “Сравниваем Java SE и Java EE”

Полностью Java код Майнкрафта пока открываться не будет, хотя у разработчиков были мысли и об этом. Он говорят так, что пока, исходный код Minecraft, будет открываться частями и по запланированному графику.

Поделись статьей с друзьями!

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *