0
Обложка: Как сыграть в Cyberpunk 2077 на смартфоне: рассказываем про МТС Remote Play

Как сыграть в Cyberpunk 2077 на смартфоне: рассказываем про МТС Remote Play

Илья Целиков
Илья Целиков
Директор по облачному геймингу

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

Так работает МТС Remote Play — новая технология компании МТС, недавно вышедшая в публичную бету.

Как это работает

Допустим, у нас есть MacBook или слабый ультрабук, который не может запускать тяжёлые AAA-игры. И есть домашний компьютер — с мощной видеокартой и огромной библиотекой установленных игр.

Мы открываем браузер на лэптопе — желательно Chrome или Edge — и запускаем МТС Remote Play. Технология переводит нас на рабочий стол домашнего устройства — своеобразного сервера.

Теперь мы можем открыть любую установленную игру: будь то последний God of War или CS:GO.

Иллюстрация: МТС Remote Play

Так же система работает на смартфоне. Берём простенький гаджет на Android со средними характеристикам, устанавливаем на него мобильное приложение, в приложении вставляем ту же ссылку и запускаем игру.

Иллюстрация: МТС Remote Play

Другой вариант — использовать телевизор или ТВ-приставку с Android TV на борту. Запускаем приложение на ТВ и считываем QR-код со смартфона. После сканирования нужно выбрать из двух вариантов — открыть ссылку в браузере или через мобильное приложение МТС Remote Play.

Если необходим виртуальный геймпад — запускаем через приложение. QR код открывает страницу или экран приложения, куда необходимо будет вставить ссылку и нажать «подключиться».

Иллюстрация: МТС Remote Play

Наш домашний компьютер всё это время должен оставаться включённым, чтобы игра не вылетала.

Что с качеством?

Качество зависит от интернета: при высокой скорости система при минимальной задержке выдаст картинку с максимальным разрешением 4К и частотой до 60 FPS.

Для нормальной игры — в разрешении 1080p и 60 кадрах в секунду, нужно примерно 10-15 Мбит/с как на домашнем компьютере, так и на втором устройстве. Для Ultra HD  нужен быстрый и стабильный канал примерно с 50 Мбит/с. Если скорость совсем низкая, можно снизить качество до минимального: да, картинка будет хуже, зато будет достаточно всего 1 Мбит/с. Кстати, менять настройки можно на лету или довериться автоматическом выбору

Задержка у МТС Remote Play при достаточно быстром интернете примерно такая же, как у HDMI-монитора: меньше 60 миллисекунд. В пределах одного города она не чувствуется — можно спокойно играть в CS:GO на макбуке. Но на дальних дистанциях становится ощутимой.

Так, мы тестировали технологию вместе с ребятами из Екатеринбурга — на расстоянии в 2 тысячи километров задержка заметно возросла, но не критично для геймплея.

Что под капотом

Все вычисления происходят на домашнем компьютере с установленным приложением МТС Remote Play. Кадры и звук передаются напрямую в устройство, на котором мы играем в данный момент.

Основная задача нашей технологии заключается в оптимизации процесса передачи данных от игрового компьютера до другого устройства. Жизненный цикл выглядит так:

  • МТС Remote Play общается напрямую с видеопамятью устройства.
  • Применяется набор инструментов обработки изображения: динамическое изменение FPS, адаптация битрейта и разрешения.
  • Данные оформляются особым образом в сетевые пакеты и отправляются на удалённое устройство. В облачном гейминге важнее доставить свежий кадр, чем запросить утерянный как это делают в стриминге — у нас просто нет на это времени.
  • Когда пакеты приходят до пункта назначения, они распаковываются и происходит декодирование данных. После этих действий на экране появляется изображение.

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

Сети

Отдельная тема — это оптимизация работы с сетями.

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

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

Времени повторно запросить утерянную информацию, как это сделано в классических сетевых приложениях — нет. Что делать? Чтобы разобраться, мы провели несколько экспериментов.

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

Играть становилось легче, но барьер облачного гейминга оставался и повышалась нагрузка на устройство-сервер. В итоге от этой идеи пришлось отказаться.

Второй эксперимент оказался более перспективным. Мы пообщались с коллегами по рынку, изучили теорию, потратили много времени на исследования и пришли к алгоритму forward error correction. Он позволяет с некоторой вероятностью исправлять те ошибки, которые могут появиться в будущем.

В чём его суть? Для каждой группы сетевых пакетов, уходящих с сервера, дополнительно генерируются и отправляются данные, которые позволят при утере части группы восстановить недостающее.

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

Мы поступили так же. Велосипед, не изобрели, но сделали свою реализацию, которая увеличивает количество передаваемой информации на единицу времени. Так небольшие проблемы со скоростью соединения меньше влияют на игровой процесс.

Первый прототип мы сделали еще в 2019 году. На нём можно было играть, хотя и не без труда. А от MVP до создания текущего продукта прошло около 7 месяцев.

МТС Remote Play можно попробовать?

Мы запустили открытую бету. Не нужна даже регистрация: скачал и установил игру, отправил ссылку, открыл браузер — и играй. Для тестирования работы на смартфонах мы готовим софт. Программа на Android и Android TV уже появилась в Play Market, а приложение для iOS на финальной стадии доработки

Нам очень интересно, как поведёт себя технология в реальной жизни и насколько она поможет людям сделать геймерский опыт более комфортным. Мы протестировали работу сервиса на сотнях разных устройств и конфигурациях. А сейчас готовы раскатать тест на десятки тысяч устройств. Наверняка будут баги и проблемы с подключением, но обещаем, что мы будем их оперативно устранять.

Какие планы на МТС Remote Play у нас есть

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

Также есть идея дать возможность людям использовать вычислительный ресурс техники, что у них есть, но простаивает. Например, владельцы мощных игровых компьютеров или киберспортивных клубов могут предложить геймерам играть в популярных ААА-хиты удалённо с высоким качеством изображения.

О монетизации говорить ещё рано — мы только тестируем технологию и доводим её до совершенства. На данном этапе доступ к МТС Remote Play полностью бесплатен для всех пользователей.