Как стать автором
Обновить

Играем в старый мобильный Minecraft… на ПК без эмуляторов?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Добрый день, хабровчане! Сегодня речь пойдет о Minecraft PE - в основном для тех, кто хочет окунуться в ностальгию по старым версиям именно мобильного (карманного) издания. Способ поиграть весьма нетривиальный, зато удивит последующими возможностями игры.

Погружение в контекст

Minecraft Pocket Edition вышла в 2012 году и сразу удивила всех - не только тем, что игра шла на смартфонах, а еще и реализацией. В первых версиях (до alpha 0.8.1) в игре были ограничены миры до размера 256х256х128 блоков, нет голода, бега, приседания, а контента было гораздо меньше. Возможно, многим тогда запомнился шарм именно этих старых версий игры - размеренный, странный, но приятный, со старыми текстурами и старым весьма темным освещением.

Интерфейс игры на версии 0.8.1. Скриншот взят из minecraft.wiki
Интерфейс игры на версии 0.8.1. Скриншот взят из minecraft.wiki

И когда мне захотелось его ощутить вновь, скачав заветный apk-файл, то во время установки меня ждал сюрприз - версии настолько морально устарели даже по меркам Android, что без установщика Install with Options на свежий Android 11+ вы его уже не поставите. Тем не менее, даже с этим установщиком после Android 12 старые версии отказываются работать корректно - есть проблемы с аппрувом запрашиваемых разрешений, а также у игры тупо нет доступа к записи в свою папку games/com.mojang/minecraftWorlds, то есть мир вы уже не сохраните. Сторонние модификации по типу minecraftpetv4 избавлены от проблем с установкой, но всё так же не сохраняют одиночные миры. Данная ситуация заставила меня побродить по github...

... и найти изящное и красивое решение, про которое мы сегодня и говорим - Ninecraft. По сути это лаунчер на основе Minecraft Raspberry Pi Edition (так как ее ядро использует ядро MCPE), который пересобрали, добавили множество твиков и теперь вы можете скомпилировать ее под любой Linux/Windows и поиграть нативно прям так. Вот отсюда и начнем.

Стартовое меню Ninecraft, скриншот из репозитория
Стартовое меню Ninecraft, скриншот из репозитория

Сборка Ninecraft

Для начала вам стоит определиться с платформой, на которую вы хотите собрать сборку. В моем случае - это Windows вместе с Visual Studio tools, так что из необходимого мне нужно лишь доустановить зависимости в виде Windows 10 SDK и git + CMake + Python. Их можно установить прямо в самом VS, в фирменном инсталлере. Также требуется подтянуть пакет jinja2 после установки python, устанавливаем его:

pip install jinja2

Вытягиваем себе репозиторий:

git clone --recursive http://github.com/MCPI-Revival/Ninecraft.git

Переходим в папку:

cd Ninecraft

Запускаем компиляцию через батник:

.\compile-msvc.bat

Если всё было сделано верно, то в консоли вы увидите начало сборки(первая сборка будет достаточно долгой), по окончании которой у вас появится собранный ninecraft.exe и будет ждать вас по пути ./repository/build-win32/ninecraft/Debug

Запуск

Осталось еще запустить сам лаунчер. Из его названия становится понятно, что он лишь часть того, что мы будем запускать. Поэтому нам понадобится разворошить apk-файл MCPE, чтобы было что запускать. По понятным юридическим и антипиратским причинам я не могу вам оставить ссылку на сам apk, но могу подсказать, что все они хранятся как часть истории на archive.org - нужна сборка под x86 архитектуры.

После скачивания, в директорию build-win32/ninecraft/Debug туда, где находится скомпилированный ninecraft.exe, распаковываем всё содержимое apk-файла. Выглядеть это должно примерно следующим образом (options.txt и config.cfg создадутся автоматически при первом запуске).

Директория сборки
Директория сборки

И конечным итогом остается запуск - обычным открытием exe или командой:

.\build-win32\ninecraft\Debug\ninecraft.exe

Поздравляем, у вас должен был запуститься Minecraft PE! Не забываем, что поддерживаются только сборки версий 0.1.3 - 0.10.5

Игра запущена
Игра запущена
It works
It works
С невероятным удивлением узнал, что приседание(shift) работало даже тогда, но для мобилок не было включено. Как оказалось, доступна она была лишь для версии 0.8.2 для FireTV и Raspberry Pi Edition
С невероятным удивлением узнал, что приседание(shift) работало даже тогда, но для мобилок не было включено. Как оказалось, доступна она была лишь для версии 0.8.2 для FireTV и Raspberry Pi Edition

Небольшие итоги + разбор полетов

Далеко не с первого раза я додумался, в чем была проблема, когда в первый раз проморгав, я запустил не тот батник - compile.bat вместо compile-msvc.bat. Оказалось, CMake сохраняет в кэш буквально все данные о том, как собирать, чтобы при последующих сборках не пришлось это делать. Достаточно очистить CMakeCache.txt и CMakeFiles и можно перезапускать.

oops
oops

После этого, сильно ступанул в момент, когда попытался собрать без Windows 10 SDK (о нем в мануалах в гитхабе - ни слова), выдавая ошибку cmake error no cmake_c_compiler could be found. Как уже упоминал - решается банальной установкой последнего SDK для вашей версии Windows.

Какой можно сделать из этого вывод? Что играть в старый майн - это прикольное ощущение той олдовости. И иногда для того, чтобы это хотя бы работало, стоит слегка попотеть ручками и ножками (а еще явно стоит избегать mingw32 и всех его собратьев по сборщикам, ибо вы замаетесь, честно).

Ах да, помните, в начале статьи я указывал "последующие возможности"? Так вот, в Ninecraft, как и в PiEdition можно загружать свои моды на основе python-скриптов, класть достаточно в папку mods в корневой директории сборки. Пока что не тестировал, но кто знает, может это будет для следующей статьи :-)

Теги:
Хабы:
+2
Комментарии3

Публикации

Ближайшие события