Как игры попадают в VK Play Облачный гейминг
От установки до релиза: что на самом деле происходит с игрой, прежде чем она попадает в облако
Игры в облаке выглядят просто: нажимаешь кнопку, ждёшь несколько секунд — и ты в игре. Кажется, будто всё происходит само собой. Но между релизом игры и её появлением в облаке лежит долгий и незаметный для пользователя путь. Каждую игру нужно установить, проверить, оптимизировать и сделать так, чтобы она работала не хуже, чем на домашнем ПК. За это отвечает команда адаптации VK Play Облачный гейминг.
Инженеры проверяют игры на разных типах оборудования, подбирают оптимальные настройки, устраняют возникающие в играх ошибки, например при запуске приложения, готовят шейдеры, следят за обновлениями и тестируют стабильность. Главная цель — чтобы пользователь ничего не настраивал, а сразу играл.
Как это работает
Обычно пользователи устанавливают игру через официальные лаунчеры. Облако по поведению похоже на обычный ПК, поэтому такой способ работает почти всегда. Если игра конфликтует с виртуальной средой, то инженеры разбираются сами, не отвлекая разработчиков игры.
VK Play Облачный гейминг работает с мощными GPU-серверами с разными поколениями процессоров и объёмами памяти. Каждая игра проходит проверку на всех конфигурациях. Некоторые визуальные эффекты, которые на домашнем ПК выглядят красиво, в облаке ухудшают картинку: например, сильное размытие. Команда отключает такие опции, чтобы изображение оставалось чётким.
Просто запустить игру недостаточно — нужно увидеть её под нагрузкой. Инженеры проверяют большие города, сцены с NPC, бои, лесные и снежные локации. Иногда используют собственные сохранения, чтобы сразу попасть в нужное место.
Многие игры при первом запуске генерируют шейдеры, и это может занять несколько минут. В облаке такое недопустимо, поэтому команда заранее создаёт пакеты шейдеров для всех типов видеокарт. Игрок получает полностью подготовленную версию без ожидания.
Какие сложности встречаются
Некоторые системы защиты (DRM и античит) запрещают запуск на виртуальных машинах — например, когда Windows сэмулирован на iOS или на Linux, — и тогда адаптацию приходится откладывать. Некоторым играм требуются свежие драйверы или новая версия операционной системы, в этом случае нужно обновлять ПО всего парка серверов.
Бывают и необычные случаи, с которыми команда тоже научилась справляться:
- игра создаёт новый набор шейдеров для каждого режима окна;
- производительность игры падает из-за служб неиспользуемого видеодрайвера;
- некоторые проекты требуют включённого Secure Boot и TPM 2.0.
Вот несколько примеров из нашей практики.
Адаптация, которая заняла почти 14 часов
Одна популярная игра про Дикий Запад потребовала обновить драйверы, версию операционки и параметры BIOS на части серверов. В момент релиза по всему миру у игроков возникали проблемы, но команде VK Play Облачный гейминг удалось решить их заранее — игра стала доступна в день выхода.
Игра, которая не любила симлинки
Симлинк — это указатель на другой файл или папку. Он сам ничего не хранит, только «говорит», где лежит оригинал. Очень похож на ярлык, но, в отличие от ярлыка, который понимают только программы, он является частью файловой системы, которую понимает сама операционная система.
Большинство проектов спокойно относятся к симлинкам. Но одна игра выдавала ошибки просто из-за их наличия. Пришлось перевести её на использование прямого пути, без ссылок.
Генерация шейдеров в зависимости от типа окна
Некоторые игры создают отдельные шейдеры при переключении между полноэкранным режимом, окном и окном без рамки. Команда настроила окружение так, чтобы игра использовала единый набор шейдеров и не тратила время на повторную генерацию.
Ради чего это делается
Игрок не должен думать о драйверах, ошибках или компиляции шейдеров. Ему достаточно нажать кнопку и играть.
Команда VK Play Облачный гейминг стремится к тому, чтобы:
- игра запускалась сразу;
- изображение было чётким и стабильным;
- частота кадров не проседала;
- прогресс сохранялся корректно;
- ошибок не возникало.
Каждый новый релиз в облаке — это чей-то первый опыт игры на платформе. И команда делает всё, чтобы он прошёл идеально.