Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Хмарний геймінг називають однією з головних технологій, за якими варто стежити зараз. За 6 років цей ринок має зрости вдесятеро — з $10 млн у 45 році до $2018 млн у 450 році. Технологічні гіганти вже кинулися освоювати нішу: Google та Nvidia запустили бета-версії своїх сервісів хмарного геймінгу, на сцену готуються вийти Microsoft, EA, Ubisoft, Amazon та Verizon.

Для геймерів це означає, що вже зовсім скоро вони зможуть остаточно припинити витрачати гроші на оновлення заліза та запускати потужні ігри на слабких комп'ютерах. Чи вигідно це решті учасників екосистеми? Розповідаємо, чому хмарний геймінг збільшить їхні заробітки та як ми створили технологію, яка дозволяє легко зайти на перспективний ринок.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Видавці, розробники, виробники ТБ та оператори зв'язку: навіщо їм усім хмарний геймінг

Ігрові видавці та розробники зацікавлені в тому, щоб максимально швидко доставити свій продукт до найбільшої кількості гравців. Зараз, за ​​нашими даними, 70% потенційних покупців не доходять до гри — вони не чекають на завантаження клієнта та настановного файлу вагою в десятки гігабайт. При цьому 60% користувачів, судячи з їхніх відеокарт, в принципі не можуть запускати потужні ігри (AAA-рівня) на своїх комп'ютерах у прийнятній якості. Хмарний геймінг зможе вирішити цю проблему — він не лише не знизить заробітку видавців і розробників, а й допоможе їм наростити аудиторію, що сплачує.

У бік хмарного геймінгу зараз дивляться і виробники ТБ та ТБ-приставок. В епоху розумних будинків і голосових помічників їм доводиться дедалі сильніше конкурувати за увагу користувача, і ігровий функціонал — головний спосіб привернути цю увагу. Зі вбудованим хмарним геймінгом їх клієнт зможе запускати сучасні ігри прямо на телевізорі, оплачуючи послугу виробнику.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Ще один потенційно активний учасник екосистеми – оператори зв'язку. Їхній спосіб підвищувати доходи — надавати додаткові послуги. Геймінг — саме одна з таких послуг, яку оператори вже активно впроваджують. Ростелеком запустив тариф "Ігровий", Akado продає доступ до нашого сервісу Playkey. Йдеться не лише про операторів широкосмугового інтернету. Мобільні оператори у зв'язку з активним розповсюдженням 5G теж зможуть зробити хмарний геймінг своїм додатковим джерелом прибутку.

Незважаючи на райдужні перспективи, зайти на ринок не так просто. Всім існуючим сервісам, включаючи продукти технологічних гігантів, поки що не вдалося до кінця подолати проблему «останньої милі». Це означає, що через недосконалість мережі безпосередньо в будинку чи квартирі швидкості інтернету у користувача бракує коректної роботи хмарного геймінгу.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею
Погляньте, як згасає WiFi-сигнал, поширюючись від роутера квартирою

Гравці, які давно присутні на ринку і мають потужні ресурси, поступово рухаються до вирішення цієї проблеми. Але запустити свої хмарні ігри з нуля у 2019 році — це витратити багато грошей, часу і, можливо, так і не створити ефективне рішення. Щоб допомогти всім учасникам екосистеми розвиватися на ринку, що бурхливо зростає, ми розробили технологію, яка дозволяє швидко і без високих витрат запустити свій хмарний ігровий сервіс.

Як ми зробили технологію, яка дозволить легко запустити свій хмарний ігровий сервіс

Свою технологію хмарного геймінгу Playkey почав розробляти ще 2012 року. У 2014 році відбувся комерційний запуск, а до 2016-го сервісом хоча б раз скористалися 2,5 млн. гравців. Протягом усієї розробки ми бачили інтерес не лише з боку геймерів, а й з боку виробників ТВ-приставок та операторів зв'язку. З NetByNet та «Ер-Телеком» ми навіть запустили кілька пілотних проектів. У 2018-му ми вирішили, що наш продукт може мати B2B-майбутнє.

Розробляти для кожної компанії свій варіант інтеграції хмарного геймінгу, як ми робили у пілотних проектах, є проблематичним. Кожне таке впровадження займало від трьох місяців до півроку. Чому? У всіх різне обладнання та операційні системи: комусь хмарний геймінг потрібен на приставку на Android, а комусь як iFrame у веб-інтерфейсі особистого кабінету для стримінгу на комп'ютери. До того ж у всіх різний дизайн, білінг (окремий чудовий світ!) та інші особливості. Стало зрозуміло, що потрібно або збільшувати команду розробки вдесятеро, або робити максимально універсальне рішення B2B.

У березні 2019 року ми запустили Remote Click. Це програмне забезпечення, яке компанії можуть встановити на свої сервери та отримати працюючий хмарний ігровий сервіс. Як це виглядатиме для користувача? Він побачить на звичному сайті кнопку, яка дозволяє запустити гру у хмарі. При натисканні гра запуститься на сервері компанії, а користувач побачить стриму і зможе грати віддалено. Ось як це могло б виглядати у популярних сервісах цифрової дистрибуції ігор.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Активна боротьба за якість. І пасивна також.

Як Remote Click справляється із численними технічними бар'єрами, ми зараз розповімо. Хмарний геймінг першої хвилі (наприклад, OnLive) занапастив низьку якість інтернету у користувачів. Тоді, у 2010 році, середня швидкість інтернет-підключення в США становила всього 4,7 Мбіт/с. До 2017 року вона зросла вже до 18,7 Мбіт/с, а незабаром повсюдно з'явиться 5G і настане нова епоха. Однак, незважаючи на те, що загалом інфраструктура готова до хмарного геймінгу, залишається вже згадана проблема «останньої милі».

Одна її сторона, яку ми називаємо об'єктивною: користувач дійсно має проблеми з мережею. Наприклад, оператор не виділяє заявлену максимальну швидкість. Або використовується WiFi 2,4 ГГц, зашумлений мікрохвильовою піччю і бездротовою мишею.

Інша сторона, яку ми називаємо суб'єктивною: користувач навіть не підозрює, що має проблеми з мережею (не знає, що не знає)! У кращому випадку він упевнений, що раз оператор продає йому тариф на 100 Мбіт/с, він має інтернет 100 Мбіт/с. У гіршому — гадки не має, що таке роутер, а інтернет ділить на синій та кольоровий. Реальний випадок із касдева.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею
Синій та кольоровий інтернет.

Але обидві частини проблеми «останньої милі» можна вирішити. У Remote Click ми використовуємо для цього активні та пасивні механізми. Нижче – докладна розповідь про те, як вони справляються з перешкодами.

Активні механізми

1. Ефективне завадостійке кодування даних, що пересилаються aka надмірність (FEC - Forward Error Correction)

При передачі відео з сервера до клієнта використовується перешкодостійке кодування. З його допомогою ми відновлюємо вихідні дані при їх частковій втраті через проблеми в мережі. Що робить наше рішення ефективним?

  1. Швидкість. Кодування та декодування виконуються дуже швидко. Навіть на «слабких» комп'ютерах операція займає трохи більше 1 мс для 0,5 МБ даних. Таким чином, кодування та декодування майже не додають затримки під час гри через хмару. Важливість важко переоцінити.

  1. Максимальний потенціал для відновлення даних. А саме, співвідношення надлишкового обсягу даних та потенційно можливого для відновлення обсягу. У нашому випадку співвідношення = 1. Допустимо, потрібно передати 1 Мб відео. Якщо ми при кодуванні додамо 300 Кб додаткових даних (це називається надмірність), то в процесі декодування для відновлення 1 вихідного мегабайта нам знадобиться лише будь-який 1 Мб із сумарних 1,3 Мб, які відправив сервер. Інакше кажучи, ми можемо втратити 300 Кб і однаково відновити вихідні дані. Як видно, 300/300 = 1. Це максимально можлива ефективність.
  2. Гнучкість у налаштуванні додаткового обсягу даних під час кодування. Ми можемо налаштовувати окремий рівень надмірності кожного відеокадра, який потрібно передати по мережі. Наприклад, помічаючи проблеми в мережі, ми можемо підвищити або знизити надмірність.  


Граємо через Playkey у Doom на Core i3, 4 GB RAM, MSI GeForce GTX 750.

2. Надсилання даних

Альтернативний спосіб боротися з втратами – запитувати дані повторно. Наприклад, якщо сервер і користувач перебувають у Москві, то затримка передачі не перевищить 5 мс. При такому значенні клієнтська програма встигне запитати та отримати від сервера втрачену частину даних непомітно для користувача. Наша система сама вирішує, коли застосовувати надмірність, а коли – досилку.

3. Індивідуальне налаштування передачі даних

Щоб вибрати оптимальний спосіб боротьби із втратами, наш алгоритм аналізує мережеве підключення користувача та налаштовує систему передачі даних індивідуально під кожен випадок.

Він дивиться:

  • тип підключення (Ethernet, WiFi, 3G тощо);
  • діапазон частот WiFi - 2,4 ГГц або 5 ГГц;
  • силу WiFi сигналу.

Якщо ранжувати підключення за втратами і затримкою, то найнадійніше, звичайно, провід. Через Ethernet втрати рідкісні, а затримки на останній милі вкрай малоймовірні. Потім йде WiFi 5 ГГц і потім WiFi 2,4 ГГц. Мобільні підключення взагалі мотлох, чекаємо 5G.

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

При використанні WiFi система автоматично налаштовує адаптер користувача, переводячи його в режим, що найбільш підходить для використання у хмарі (наприклад, відключення енергозбереження).

4. Індивідуальне налаштування кодування

Стрімінг відео існує завдяки кодекам – програмам стиснення та відновлення відеоданих. У стислому вигляді одна секунда відео легко перевалить за сотню мегабайт, а кодек скорочує цю величину на порядок. У нас на озброєнні стоять кодеки H264 та H265.

H264 - найпопулярніший. Апаратно роботу з ним підтримують усі основні виробники відеокарт уже протягом десяти років. H265 - зухвалий молодий наступник. Апаратно його почали підтримувати п'ять років тому. Кодування та декодування в H265 вимагає більше ресурсів, зате якість стисненого кадру помітно вища, ніж на H264. І без збільшення обсягу!

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Який кодек вибрати та які параметри кодування виставити для конкретного користувача, виходячи з його «заліза»? Нетривіальне завдання, яке вирішується у нас автоматично. Розумна система аналізує можливості обладнання, виставляє оптимальні параметри кодувальника та вибирає декодер на стороні клієнта.

5. Компенсація втрат

Не хотіли це визнавати, але ми навіть не бездоганні. Деякі дані, втрачені в надрах мережі, відновленню не підлягають і надіслати ми їх не встигаємо. Але й у цьому випадку є вихід.

Наприклад, регулювання бітрейту. Наш алгоритм постійно контролює обсяг даних, що пересилаються від сервера до клієнта. Він фіксує кожну нестачу і навіть передбачає можливі майбутні втрати. Його завдання – вчасно помітити, а в ідеалі і передбачити, коли втрати досягнуть критичного значення та почнуть створювати помітні користувачеві перешкоди на екрані. І скоригувати в цей момент обсяг даних, що пересилаються (бітрейт).

Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Ще ми використовуємо інвалідність незібраних кадрів та механізм посилальних кадрів у відеопотоці. Обидва інструменти зменшують кількість помітних артефактів. Тобто навіть при серйозних порушеннях передачі даних зображення на екрані залишається прийнятним, а гра — грабельною.

6. Розподілене відправлення

Розподілене за часом відправлення даних теж підвищує якість стрімінгу. Як саме розподіляти залежить від конкретних показників у мережі, наприклад, наявності втрат, пінгу та інших факторів. Наш алгоритм аналізує їх та вибирає оптимальний варіант. Іноді розподіл у проміжку кількох мілісекунд зменшує втрати у рази.

7. Зменшення затримки

Однією із ключових характеристик при грі через хмару є затримка. Чим вона менша, тим грати комфортніше. Затримку умовно можна поділити на дві частини:

  • мережеву чи затримку на пересилання даних;

  • затримку системи (зняття керування на стороні клієнта, захоплення зображення на сервері, кодування картинки, перераховані вище механізми адаптації даних до відправки, збір даних на клієнті, декодування зображення та його малювання).

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

  1. Швидке отримання даних із пристроїв керування (клавіатура, миша) на стороні клієнта. Навіть на слабких комп'ютерах цього вистачає 1-2 мс.
  2. Відображення системного курсору на клієнта. Вказівник миші обробляється не на віддаленому сервері, а в клієнті Playkey на комп'ютері користувача, тобто без жодних затримок. Так, на реальне управління у грі це не впливає, але головне тут людське сприйняття.  


Відображення курсору без затримки у Playkey на прикладі Apex Legends

З використанням нашої технології при затримці мережі 0 мс і роботі з відеопотоком в 60 FPS затримка всієї системи не перевищує 35 мс.

Пасивні механізми

На наш досвід, багато користувачів погано уявляють, як їх пристрої підключаються до інтернету. В інтерв'ю з гравцями з'ясувалося, що дехто не знає, що таке роутер. І це нормально! Ви не повинні знати пристрій двигуна внутрішнього згоряння, щоб їздити на автомобілі. Не варто вимагати від користувача знань сисадміну, щоб він міг погратись.

Однак деякі технічні моменти таки важливо донести, щоб гравець міг самостійно прибрати бар'єри на своєму боці. І ми допомагаємо йому.

1. Індикація підтримки WiFi 5 ГГц

Вище ми писали, що бачимо стандарт Wi-Fi – 5 ГГц або 2,4 ГГц. А ще ми знаємо, чи підтримує мережевий адаптер пристрою саму можливість роботи на 5 ГГц. І якщо так, рекомендуємо використовувати цей діапазон. Самостійно змінити частоту поки що не можемо, оскільки не бачимо параметри роутера.

2. Індикація сили сигналу WiFi

У деяких користувачів сигнал WiFi може бути слабким, навіть якщо інтернет працює добре і здається на прийнятній швидкості. Проблема розкриється саме при хмарному геймінгу, який піддає мережу реальним випробуванням.

На інтенсивність сигналу впливають перешкоди – наприклад, стіни – та перешкоди від інших пристроїв. Ті ж мікрохвильові печі випромінюють чимало. В результаті виникають втрати, непомітні під час роботи в інтернеті, але критичні для гри через хмару. У таких випадках ми попереджаємо користувача про перешкоди, пропонуємо переміститися ближче до роутера та вимкнути «шумні» пристрої.

3. Індикація споживачів трафіку

Навіть якщо з мережею все добре, інші програми можуть споживати занадто багато трафіку. Наприклад, якщо паралельно з грою у хмарі запущено відео на Youtube або завантажуються торенти. Наш додаток обчислює злодюжок і попереджає про них гравця.
Як влаштована хмарна ігрова платформа для b2b та b2c-клієнтів. Рішення для відмінної картинки та боротьби з останньою милею

Страхи з минулого - розвінчуємо міфи про клаудгеймінг

Хмарні ігри як принципово новий спосіб споживання ігрового контенту намагаються пробитися на ринок вже майже десять років. І як у випадку з будь-якою інновацією, їхня історія — це низка маленьких перемог та гучних поразок. Не дивно, що за багато років хмарний геймінг обріс міфами та забобонами. На зорі розвитку технології вони були обґрунтовані, проте сьогодні абсолютно безпідставні.

Міф 1. Картинка у хмарі гірша, ніж у оригіналі — ніби граєш по YouTube

Сьогодні у технічно просунутому хмарному рішенні картинки оригіналу та хмари практично ідентичні — неозброєним оком відмінності не знайти. Індивідуальне налаштування енкодера під обладнання гравця та комплекс механізмів для боротьби із втратами закривають це питання. На якісній мережі немає розмиття кадрів, ні графічних артефактів. Ми навіть беремо до уваги дозвіл. Немає сенсу стримати картинку 1080p, якщо гравець використовує 720p.

Нижче два відео Apex Legends з нашого каналу. В одному випадку це запис геймплея при грі на PC, в іншому - через Playkey.

Apex Legends на PC


Apex Legends на Playkey

Міф 2. Нестабільна якість

Стан мережі справді непостійний, але цю проблему вирішено. Ми динамічно змінюємо налаштування енкодера під якість мережі користувача. А постійно прийнятний рівень FPS підтримуємо спеціальними прийомами захоплення зображення.

Як це працює? Гра має 3D-движок, за допомогою якого будується 3D-світ. Але користувач показує плоске зображення. Щоб він бачив його, для кожного кадру створюється картинка пам'яті — своєрідна фотографія, як цей 3D світ бачиться з певної точки. Ця картинка в закодованому вигляді зберігається у буфері відеопам'яті. Ми захоплюємо її з відеопам'яті та передаємо в енкодер, який вже розшифровує її. І так із кожним кадром, один за одним.

Наша технологія дозволяє захоплювати та декодувати картинку в одному потоці, що й підвищує FPS. А якщо ці процеси вести паралельно (досить популярне на ринку хмарного геймінгу рішення), то енкодер постійно звертатиметься до захоплення, забиратиме нові кадри із затримкою і, відповідно, передаватиме їх із затримкою.


Відео у верхній частині екрана отримано з використанням технології захоплення та декодування в одному потоці.

Міф 3. Через лаги в управлінні буду «раком» у мультиплеєрі

Затримка в управлінні в нормі становить кілька мілісекунд. І зазвичай вона непомітна кінцевого користувача. Але буває видно крихітний розлад між рухом мишки та переміщенням курсору. Він ні на що не впливає, але справляє негативне враження. Описане вище зображення курсора безпосередньо на пристрої користувача усуває цей недолік. В іншому загальна затримка системи 30-35 мс настільки мала, що ні гравець, ні його суперники по матчу нічого не помічають. Результат бою вирішують лише навички. Підтвердження нижче.


Стрімер нагинає через Playkey

Що далі

Хмарний геймінг вже реальність. Playkey, PlayStation Now, Shadow - це працюючі сервіси зі своєю аудиторією та місцем на ринку. І як багато молодих ринків, хмарний геймінг стрімко зростатиме найближчими роками.

Один із сценаріїв, який здається нам найімовірнішим — поява власних сервісів у видавців ігор та операторів зв'язку. Хтось розробить власні, хтось скористається готовими коробковими рішеннями, як RemoteClick.net. Що більше гравців на ринку, то швидше хмарний спосіб споживання ігрового контенту стане мейнстримом.

Джерело: habr.com

Додати коментар або відгук