Мир собирают вокруг игрока
Во многих больших играх пространство разделено на чанки — небольшие участки карты. Игра держит в памяти те, что нужны сейчас: участок под ногами персонажа и несколько соседних. По мере движения она загружает новые чанки впереди и выгружает далёкие позади. Освободившуюся память можно использовать для объектов, звуков и эффектов в текущей сцене.
Если местность создаётся по правилам, а не хранится целиком в готовом виде, игра вычисляет её детали при необходимости. Например, алгоритм может получить из координат участка и общего начального числа — «зерна» генерации — высоты, тип поверхности и расположение растений. Благодаря этому один и тот же участок воспроизводится снова, когда игрок возвращается к его координатам: миру не обязательно хранить каждое дерево отдельно.
Почему границы не бросаются в глаза
Подгрузка должна успеть завершиться до того, как игрок заметит пустоту. Поэтому игра заранее готовит участки по направлению движения, а на горизонте скрывает переход расстоянием, туманом, рельефом или поворотом дороги. Соседние чанки также должны стыковаться: иначе на их границе могли бы возникнуть обрыв, резкая смена высоты или внезапно исчезнувшая река.
У этого подхода есть цена. Чем дальше видимость и быстрее перемещение, тем больше данных нужно подготовить заранее; слишком поздняя загрузка проявляется как задержка или внезапно появившиеся детали. Поэтому ощущение бескрайней страны создаётся не только генерацией, но и точным расчётом того, какие окрестности игрок увидит следующими.





