Разработчик переписал исходный код Grand Theft Auto 3, чтобы показать, как активы Либерти-Сити, составляющие около 130 МБ, умещались в скромные 32 МБ оперативной памяти PlayStation 2. Решение заключалось в разделении карты на тысячи мелких секторов и загрузке только тех, что находятся рядом с игроком во время его перемещения, выгружая оставшиеся позади. Этот метод, называемый стримингом, позволил создать детализированный город без ущерба для производительности.
Как стриминг и LOD предотвращают взрыв города 🎮
Разработчик Марк Браун модифицировал код для визуализации процесса в реальном времени. Игра загружает секторы карты на основе положения игрока, используя версии низкого качества (LOD) для удаленных объектов, которые заменяются детализированными моделями при приближении. Это предотвращает внезапное появление объектов и снижает нагрузку на память. Этот метод был ключевым не только в 2001 году, но и остается стандартом в современных играх, таких как нынешние открытые миры, где стриминг необходим для обработки больших объемов данных.
Так что PS2 была не магией, а просто эффективным менеджером файлов 🧠
Оказывается, Rockstar не вызывала духов эпохи 8-битных игр, чтобы заставить Либерти-Сити работать. Они просто изобрели систему, которая решает, какие здания заслуживают находиться в памяти, а какие могут отправиться в цифровой лимб, пока вы на них не смотрите. Это как иметь друга, который убирает и достает игрушки из коробки по мере необходимости, но при этом ничего не теряет. Хорошо, что они не использовали метод моей бабушки: запихнуть всё силой и надеяться, что не треснет.