Игры и софт

Rockstar совершила техническое безумие: GTA III уместили в 32 Мб памяти PS2

Rockstar совершила техническое безумие: GTA III уместили в 32 Мб памяти PS2
Фото: © A. Krivonosov

Grand Theft Auto III до сих пор считается одной из самых революционных игр своего времени, но спустя годы разработчики и моддеры продолжают раскрывать, насколько сложной была её техническая реализация. На этот раз автор канала Game Maker’s Toolkit Марк Браун подробно показал, как Rockstar удалось поместить огромный открытый мир Либерти-Сити в скромные 32 Мб оперативной памяти PlayStation 2.

Для начала стоит понимать масштаб задачи: карта GTA III включала три полноценных острова, десятки автомобилей, пешеходов и множество объектов. При этом общий объём игровых ресурсов составлял около 130 Мб — почти в четыре раза больше доступной памяти консоли.

Чтобы решить проблему, Rockstar использовала продвинутую систему потоковой загрузки данных. Вместо хранения всего города в памяти игра постоянно подгружала ближайшие районы и удаляла те, что оставались позади игрока. Именно этот механизм и раскрыл Марк Браун после изучения исходного кода и создания модифицированной версии игры. Он объяснил:

«Теперь вы можете увидеть трюк: как Grand Theft Auto 3 загружает и выгружает небольшое количество ресурсов в память по мере вашего перемещения по Либерти-Сити. Она незаметно создает мир перед вами и тихо удаляет его за вашей спиной. По сути, вместо того, чтобы пытаться уместить весь город в памяти, Rockstar создала движущееся окно, которое показывает ровно столько города, сколько необходимо для создания иллюзии».

По сути, Rockstar превратила мир игры в своеобразное «движущееся окно», которое показывало игроку только необходимую часть города. Каждый остров был дополнительно разбит на тысячи маленьких секторов, которые постоянно заменялись в памяти по мере передвижения Клода.

Особенно сложной задачу делал медленный DVD-привод PS2. Разработчикам приходилось очень аккуратно извлекать данные с диска, чтобы избежать зависаний и задержек при движении по городу на высокой скорости.

Бывший программист Grand Theft Auto III Оббе Вермей ранее признавался, что потоковая загрузка была самой тяжёлой технической задачей во время разработки игры. По его словам, без этой системы GTA III просто не смогла бы существовать на PlayStation 2.

Модифицированная версия игры, созданная Марком Брауном, позволяет буквально увидеть процесс подгрузки районов в реальном времени: части Либерти-Сити появляются перед игроком и исчезают за его спиной.

Сегодня подобные технологии считаются стандартом для игр с открытым миром, но в 2001 году решение Rockstar было настоящим техническим прорывом, который фактически изменил индустрию.