Об обновлении формата карт в Minecraft (Java Edition 1.13 / Bedrock 1.3)

Разработчик Minecraft Bedrock Томмазо Кекки рассказал о планируемых изменениях в формате карт. И это хороший повод обсудить их, поскольку уже известно, что изменилось в формате карт Minecraft Java Edition 1.13.


Томмазо Кекки, ведущий разработчик Minecraft Bedrock, недавно рассказал, что работает над техническим совершенствованием игры. Речь идёт о нескольких важных элементах:

  • Доработка режима повышенной производительности «Plutonium Mode»;
  • Использование палитры в формате карты.

Давайте разберёмся, что он имел в виду.

 

«Plutonium Mode» будет называться «Server Instance Thread»

Речь, естественно, идёт не о простом переименовании (новое название режиме можно перевести как «Отдельный поток сервера»), а о технических доработках нового режима. Вообще, в самом режиме ничего уникального нет. Речь идёт о том, что клиентская и серверная часть игры будут работать параллельно, не мешая друг другу. Упрощая можно сказать, что игра логически разделена на два программных комплекса: часть обеспечивающая логику — серверная часть и часть, которая обеспечивает отображение, управление и т.п. — клиентскую часть игры. Выполнение их разных потоках позволит не только повысить производительность, но и избавиться от ряда ошибок. Уверен, что моя самая ненавистная ошибка, исправленная в Minecraft Bedrock 1.2.6, проявлялась именно из-за путаницы с тем, что нужно делать на серверной, а что на клиентской части игры.

 

Как изменится формат карт в будущих версиях Minecraft

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

Дело в том, карта составляется из отдельных кусочков, называемых чанками — это такие кубы размером 16х16×16 блоков. Сейчас, каждый блок в чанке представлен числом от до 255. Блока с номером 256 записать (нормальным способом) нельзя. Собственно, из этого и складывалось ограничение на число блоков. Для того чтобы добавить 256 блок, нужно было что-то придумывать с форматом хранения миров.

Разработчики решили эту проблему кардинально. Они решили добавить в каждый чанк палитру блоков, а в перечне блоков, кодировать не его название или идентификатор, а номер блока в этой палитре.

Это очень наглядно видно, если открыть карту, которая была сохранена в одном из последних снапшотов, в NBT-редакторе.

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

Данные же о блоках закодированы в виде списка состояний блоков — BlockStates. В этом списке массиве будут кодироваться, данные о том какой блок из палитры установлен в определённой точке чанка.

Это всё очень упрощенно. Если вам нужны подробности, то рекомендую ознакомиться со статьей на wiki.vg.

Интересно, что схожие изменения произойдут и в Minecraft Bedrock — Томмазо Кекки рассказал об этом в твиттере. Формат сохранения миров в Bedrock отличается, но общий принцип будет таким же. Томмазо, даже отмечает, что это приводит к уменьшению потребления памяти устройства.

Это значит, что одно из главных изменений, которое планировалось в техническом обновлении Minecraft Java Edition 1.13, будет также реализовано и в Minecraft Bedrock. И получается, что Minecraft 1.3 будет таким же техническим обновлением, каким планировали сделать Minecraft 1.13 (пока его не решили объединить с Морским обновлением).

 

Объединят ли Minecraft Bedrock 1.3 с Морским обновлением

Напомню, что главной фишкой Minecraft 1.3 должно было стать графическое дополнение, которое будет продаваться отдельно. По крайней мере на версию Minecraft для Xbox One, которая будет включать в себя этот и ряд других наборов, уже можно оформить предварительный заказ, а на сайте Amazon можно заказать и сам набор ресурсов. Для игроков, которые решат отказаться от графического набора, версия 1.3 должна оказаться исключительно технической: повышение производительности и минимум визуальных изменений.

Конечно, в это случае возникает вопрос: Если разработчики Minecraft Java Edition решили объединить Морское обновление и техническое, то не поступят ли также и разработчики Minecraft Bedrock?

Такое развитие событий мне представляется сомнительным. Всё-таки «Супер-пупер графический набор» (Super Duper Graphics Pack) должен стать отдельным продуктом. И чтобы им заинтересовались и новые игроки, и те, кто уже приобрел себе игру, его надо продавать отдельно. И продвигать отдельно. И мне кажется, что именно так и планировали разработчики: в раскрутку набора ресурсов уже вложено слишком много усилий: это и отдельные презентации на E3, и музыкальный видеоклип, показанный на Майнконе.



Автор статьи: fromgate (Igor Fromgate)

Опубликовано: