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

Незримое искусство: как игры учатся оптимизации

Оптимизация — самая недооценённая магия геймдева. Её не видно на скриншотах, не опишешь в патчноутах, не вставишь в трейлер. Но именно она определяет, вернётесь вы в игру завтра или снесёте её через полчаса, проклиная тормоза. Расскажу о проектах, где оптимизация стала формой искусства. Запустить фотореалистичный шутер на Nintendo Switch — это как попросить микроволновку обсчитать траекторию баллистической ракеты. У консоли 2017 года всего 4 ГБ оперативной памяти и чип, уступающий флагманским смартфонам. Но DOOM Eternal на Switch работает. Стабильные 30 FPS, динамическое разрешение редко падает ниже 540p, а боевая хореография — разрывание демонов пополам под гитарные рифы — не теряет ни капли интенсивности. Секрет — в системе виртуального текстурирования: игра держит в памяти лишь те фрагменты, которые игрок реально видит. Движок анализирует движение камеры и предзагружает текстуры за миллисекунды до того, как они понадобятся. На ПК та же игра на RTX 3060 в 1440p с трассировкой лучей д
Оглавление

Оптимизация — самая недооценённая магия геймдева. Её не видно на скриншотах, не опишешь в патчноутах, не вставишь в трейлер. Но именно она определяет, вернётесь вы в игру завтра или снесёте её через полчаса, проклиная тормоза. Расскажу о проектах, где оптимизация стала формой искусства.

DOOM Eternal: карнаж на чём угодно

-2

Запустить фотореалистичный шутер на Nintendo Switch — это как попросить микроволновку обсчитать траекторию баллистической ракеты. У консоли 2017 года всего 4 ГБ оперативной памяти и чип, уступающий флагманским смартфонам.

Но DOOM Eternal на Switch работает. Стабильные 30 FPS, динамическое разрешение редко падает ниже 540p, а боевая хореография — разрывание демонов пополам под гитарные рифы — не теряет ни капли интенсивности. Секрет — в системе виртуального текстурирования: игра держит в памяти лишь те фрагменты, которые игрок реально видит. Движок анализирует движение камеры и предзагружает текстуры за миллисекунды до того, как они понадобятся.

На ПК та же игра на RTX 3060 в 1440p с трассировкой лучей держит стабильные 120 FPS. А теперь напомните: сколько игр 2024 года релиза могут похвастаться таким же?

Factorio: когда миллион заводов не роняет ни кадра

-3

На первый взгляд Factorio — скромная 2D-игра про шестерёнки. На деле это симуляция, в которой могут одновременно работать сотни тысяч объектов: конвейеры, роботы, поезда, заводские цеха. Каждый из них пересчитывается 60 раз в секунду. Без магии.

Wube Software написала игру на C++ с ассемблерными вставками в критических участках. Разработчики годами профилировали каждый вызов функций, вычищая лишнее, как археологи — вековую пыль с фрески. Система жидкостей, например, после переработки стала втрое быстрее за счёт группового обновления труб: стабильные сегменты пересчитываются раз в несколько кадров, турбулентные — каждый тик.

Итог: мегабаза, производящая 10 000 исследовательских пакетов в минуту, нагружает процессор меньше, чем одна вкладка браузера с открытым YouTube. Это даже не оптимизация. Это колдовство.

Genshin Impact: открытый мир в вашем кармане

-4

Когда miHoYo пообещала полноценный открытый мир на мобильных телефонах, индустрия хмыкнула. Но китайская студия знала, что делает.

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

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

No Man's Sky: искупление через математику

-5

На старте в 2016 году No Man's Sky была катастрофой. На PS4 — просадки до 20 FPS. На ПК — лотерея: у кого-то запустится, у кого-то нет.

Семь лет спустя та же игра, генерирующая квинтиллионы планет с уникальной флорой и фауной, работает на Nintendo Switch с её 4 ГБ оперативной памяти. Hello Games совершила невозможное, перейдя на воксельный рендеринг террейна с процедурной детализацией на лету.

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

Общий знаменатель

Четыре игры, четыре студии, четыре подхода — и одни и те же принципы.

Оптимизация с первого дня, а не за месяц до релиза. id Software, Wube, miHoYo — все закладывали ограничения на старте, когда соблазн «потом разберёмся» был силён. Потом не разбирается.

Знание железа до уровня отдельных регистров. Panic Button знает чип Tegra X1 лучше инженеров NVIDIA. Feral Interactive выжимает из Apple Silicon то, что не снилось разработчикам нативных приложений. Абстрактная оптимизация помогает. Конкретная — под конкретное железо — творит чудеса.

-6

Приоритет восприятия, а не рендеринга. Никто не рендерит всё одинаково хорошо. Хорошо оптимизированная игра знает, куда игрок смотрит, и бросает ресурсы туда. Всё остальное — в половинном разрешении, с упрощёнными тенями или отключено вовсе. Игрок не замечает, FPS растёт.

Культ профилирования. Никаких «вроде бы работает». Каждое изменение кода замеряется на предмет влияния на время кадра. Это не разовая акция, а рутина, вшитая в процесс разработки.

Теневая сторона

Было бы лукавством говорить только о победах. В 2024 году «оптимизация» всё чаще означает «мы включили DLSS по умолчанию и надеемся, что никто не заметит». Starfield на релизе, Jedi: Survivor, Cities Skylines 2 — игры выходят сырыми, а апскейлеры из вспомогательного инструмента превратились в обязательный костыль.

-7

Отдельная боль — Stutter Struggle. Компиляция шейдеров прямо во время игры стала бичом Unreal Engine, и даже Digital Foundry посвящает этой проблеме отдельные сегменты в каждом обзоре. На этом фоне DOOM Eternal с его прекомпилированными шейдерами и безупречным фреймпейсингом выглядит как пришелец из параллельной реальности.

Оптимизация — это не техническая дисциплина. Это уважение. Уважение к человеку, который играет не на RTX 4090, а на ноутбуке пятилетней давности. На Switch в электричке. На смартфоне в очереди. Игры, которые помнят об этом, живут дольше и продаются лучше. Потому что технологии устаревают, а плавный геймплей — никогда.

Буду очень благодарен, если вы подпишитесь на канал и поставите лайк :)

Raninape | Дзен