Игровой мир
Игровой мир (или Карта) представляет собой иерархическую систему директорий и файлов, хранящую информацию о каждом блоке, предмете и существе в мире и об их состоянии. Карта генерируется неограниченно, но генерация происходит адекватно только до примерно 12500000 блоков от нулевой точки (см. Далёкие земли). Игровой мир имеет высоту 256 блоков (128 до обновления 12w07a), что в сумме даёт возможность для практически неограниченного исследования и застройки.
В Halloween Update в игру было добавлено параллельное измерение, описываемое собственной вложенной картой. В серверной версии эта карта находится в отдельной директории вне директории обычного мира.
Все блоки игрового мира объединены в чанки по 16х16х256 блоков, а чанки в регионы по 32х32 чанка. Каждый регион хранится в отдельном файле.
Для генерации карты применяется система псевдослучайных алгоритмов, управляющих созданием ландшафта, пещер, распределением растительности и ресурсов. Каждая вновь создаваемая карта уникальна и практически не содержит предопределённых элементов. Уникальность каждой карты выражается так называемым зерном, которое определяет особенности создаваемого игрового мира, его структуру и, в некоторой степени, наполнение.
Генерация каждого участка происходит только один раз, при первом его посещении, после этого информация только обновляется по мере надобности - таким образом объём, занимаемый картой на диске, зависит от размера территории, исследованной игроком, и в большинстве случаев имеет довольно скромный размер до нескольких десятков мегабайт, но если играть долго и много исследовать, то размер карты может превысить и 4 Гигабайта.
Повреждение информации об участке карты может привести к появлению странных образований в соответствующей части мира (см. скриншоты) или к повторной генерации участка, которая перезаписывает все изменения, проделанные игроком. При наличии посторонних чанков в директории карты игра не генерирует их заново, что может привести к "склеиванию" фрагментов удалённого или перезаписанного мира с фрагментами нового, а также к излишнему увеличению размеров карты.
Различные версии игры применяют разные наборы алгоритмов, что может приводить к несостыковкам ландшафта между участками, сгенерированными в разное время.
Содержание
Геометрия пространства
Если в игре насыпать очень высокий (выше облаков) столбик и внимательно понаблюдать с него за рассветом и закатом несколько раз, то можно заметить некоторые детали, выдающие особенности мира, обычно не замечаемые игроком. Мир Mineсraft представляет собой гигантский параллелепипед, высота которого в несколько раз меньше ширины и длины. На нижней плоскости его лежит игровой мир. Боковые грани окрашиваются в чуть более беловатые тона, что создает предгоризонтную дымку. Солнце, луна и звезды представлены плоскими спрайтами, ориентированными плоскостью на игрока. Движение их происходит не по дуге, а по граням параллелепипеда, что незаметно из-за их ориентировки.
Игрок может использовать только 30.000.000 блоков по направлению в каждую сторону, за этой границей, хоть мир и продолжает генерироваться, физика перестает работать и игрок будет проваливаться сквозь блоки.
Ориентирование в пространстве
За основу определения сторон света на картах чаще всего берётся направление на восход солнца, которое считают востоком. Солнце, луна и звёзды перемещаются с востока на запад, облака движутся с юга на север. Также возможно определить направления по некоторым другим признакам, например по маркерам в стандартных текстурах булыжника и адского камня.
В игре имеется компас, однако его применение в ориентировании ограничено, так как он всегда указывает на точку респауна игрока, которую в таком случае следует считать северным полюсом, а любое направление от неё - южным.
Многие программы генерации карт по данным мира, например Cartographer, используют значения координат чанков, из-за чего на полученных картах север может быть направлен в левую сторону, что доставляет некоторые неудобства.
Соответствие между сторонами света и координатами
Точка респауна игрока не является нулевой точкой мира (X=0,Y=65,Z=0).
Совпадение случайно, поскольку после начальной генерации карты алгоритм выбирает ближайшее из подходящих мест для респауна.
Север — -X, F=1
Юг — +X, F=3
Запад — +Z, F=0
Восток — -Z, F=2