Добавить в корзинуПозвонить
Найти в Дзене
PlayGround.ru

Чудеса оптимизации: Разработчик переписал исходный код GTA 3, чтобы показать секреты работы легендарной игры на PS2

Релиз Grand Theft Auto 3 навсегда перевернул представление игровой индустрии о том, какими должны быть игры в открытом мире. Игра на PlayStation 2 стала невероятным технологическим прорывом для 2001 года. Как студия Rockstar North смогла уместить целый мегаполис в жесткие ограничения консоли прошлого поколения, долгие годы оставалось технической тайной. Теперь же Марк Браун, известный игровой разработчик и создатель популярного канала Game Maker's Toolkit, переписал исходный код GTA 3, чтобы наглядно продемонстрировать этот гениальный фокус. Главная проблема для разработчиков заключалась в мизерном объеме оперативной памяти PS2 — консоль располагала всего 32 МБ. По подсчетам Брауна, активы и модели Либерти-Сити весят около 130 МБ. Разработчики решили эту проблему, разделив карту на три острова. Но даже этого было мало: один лишь стартовый район Портленд требовал загрузки около 40–50 МБ файлов. Чтобы не урезать качество города до «мыльного минимума», авторы обратились к технике под назв

Релиз Grand Theft Auto 3 навсегда перевернул представление игровой индустрии о том, какими должны быть игры в открытом мире. Игра на PlayStation 2 стала невероятным технологическим прорывом для 2001 года. Как студия Rockstar North смогла уместить целый мегаполис в жесткие ограничения консоли прошлого поколения, долгие годы оставалось технической тайной. Теперь же Марк Браун, известный игровой разработчик и создатель популярного канала Game Maker's Toolkit, переписал исходный код GTA 3, чтобы наглядно продемонстрировать этот гениальный фокус.

Главная проблема для разработчиков заключалась в мизерном объеме оперативной памяти PS2 — консоль располагала всего 32 МБ. По подсчетам Брауна, активы и модели Либерти-Сити весят около 130 МБ. Разработчики решили эту проблему, разделив карту на три острова. Но даже этого было мало: один лишь стартовый район Портленд требовал загрузки около 40–50 МБ файлов. Чтобы не урезать качество города до «мыльного минимума», авторы обратились к технике под названием "стриминг".

Проведя манипуляции с программными разделами кода и скомпилировав свой собственный загрузочный файл, Марк Браун выложил ролик, на котором Либерти-Сити рендерится «открытым» образом. На кадрах видно, как вся виртуальная модель города разделена на тысячи маленьких секторов (кубов). По мере движения машины Клода, игра постоянно подгружает только ближайшие квадраты, а всё то, что остается у игрока за спиной — в ту же секунду выгружается из оперативной памяти консоли. Таким образом вокруг игрока непрерывно двигалось только одно ограниченное «окно подгрузки».

Это кажется невероятно простым, но из этого возникает масса трудностей, которые программистам из Rockstar также приходилось решать в реальном времени. Например, чтобы подгрузка домов прямо в лобовом стекле не выглядела откровенно топорно, вдалеке появлялись размытые низкополигональные модели. Они заменялись на красивые HD-копии только тогда, когда куб "въезжал" в "окно" стриминга героя.

Эта технология заложила фундамент для всей игровой индустрии. Её до сих пор активно применяют в самых разных жанрах и игровых масштабов.