Как оптимизируют игры

Каждое игровое устройство — консоль или конкретная конфигурация компьютера предоставляет так называемый «бюджет»: максимальное количество каждого конкретного типа контента, с которым он может работать, сохраняя при этом разрешение и частоту для комфортной игры. В этот бюджет входят память для двухмерных текстур (например, стены), память для сложных трёхмерных текстур, для звука, анимации и так далее.

Часто при создании игры разработчики не сильно переживают по поводу бюджета — они создают игру на основе тех ресурсов, которые доступны на их вычислительных машинах. Проблема в том, что их компьютеры намного мощнее компьютера или консоли среднестатистического геймера. Поэтому после создания игры разработчики смотрят насколько превысили лимит и начинают её оптимизировать.

Как оптимизируют игры?

Максимальное количество каждого конкретного типа контента Фото: nerdbot.com

Всё начинается с графической оптимизации игры. К примеру, в финальной версии некоторые текстуры видны только с большого расстояния. Их размер — 512×512 пикселей, хотя занимают они только 100×100 пикселей экрана. Разработчики уменьшают их до нужного количества, что помогает увеличить производительность без потери качества игры.

Также выполняется оптимизация полигонов (совокупность вершин, граней и рёбер, определяющих форму многогранного объекта): некоторые трёхмерные полигоны можно сделать двухмерными, не испортив их внешний вид. Чем меньше на карте 3D-полигонов, тем игра становится менее требовательной для «железа» компьютера или консоли.

Обрезаются многие ресурсозатратные функции: например, тени, которые видны на расстоянии больше сотни метров или детали крупного здания вдалеке.

Но оптимизация игры — это не только работа с графикой. Плохо оптимизированной игрой может быть и та, у которой проблемы с сетевым кодом — когда в онлайн-играх большой промежуток между отправкой запроса и получением ответа. Вы стреляете точно в противника, но не попадаете: противник уже ушел из-под прицела, но игра еще не успела об этом сообщить.

Так же важна работа с кодом игры: чем он проще, тем легче компьютеру и консоли его обработать.

Хитрости разработчиков

Для того, чтобы оптимизировать игру или сделать её более привлекательной у разработчиков есть целый арсенал хитростей.

Чем больше в игре разных моделей, тем сложнее прогружать текстуры и рендерить их. Поэтому разработчики копируют текстуры — это один из самых простых способов оптимизации. Лес или крупный город часто состоят из пяти-десяти повторяющихся моделей. К примеру, в первой части Call of Duty использовалось всего пара видов зданий, но расставлены они были настолько удачно, что никто не обращал на это внимания.

Разработчики шутера Rage не стали заморачиваться с большим количеством моделей и использовали мегатекстуру. Мегатекстура — огромное полотно, которое полностью покрывает ландшафт или объект. Его условный размер 150000×150000 пикселей. Чтобы оперативная память компьютера смогла обработать такой объём данных, картинка автоматически теряла детализацию на большом расстоянии от игрока.

В крупных играх с открытым миром игроделы заставляют объекты появляться перед вами и исчезать, пока вы их не видите. К примеру, города, машин и людей в GTA V вне поля зрения игрока не существует.

Обрезаются многие ресурсозатратные функции Фото: appdevelopmentcompanies.co

Избавиться от загрузочного экрана не так просто: пока бежит полоса загрузки обновляются игровые ресурсы в оперативной памяти компьютера или консоли. Но современные разработчики придумывают разные способы замаскировать его.

Чтобы обновить ресурсы и не заставлять игрока смотреть на долгий Loading…, вводят «загрузочные коридоры». Часто новая глава игры начинается с долгой загрузки: в это время полностью обновляются локации и текстуры. Затем внутри главы происходят подгрузки частей уровня — их скрывают сюжетными роликами (как в Uncharted) или общением между персонажами и головоломками (как в The Last of Us).

В последнем God of War нет ни одного загрузочного экрана. Кратос (главный герой) проходит по долгому открытому коридору, разговаривая со своим спутником.

Некоторые хитрости оптимизации стали важной частью игры и её лора. Для полного отображения открытого мира Silent Hill требовались ресурсы, которых не было у Playstation. Чтобы оптимизировать игру под консоль, разработчики ввели тот самый туман. Он полностью покрывал город и добавлял гнетущей атмосферы. Но главное: он скрывал части локации, которые не прогружались. Впоследствии туман стал главным атрибутом серии — даже когда в нём уже не было необходимости.

Что будем искать? Например,ChatGPT

Мы в социальных сетях