Gaming în cloud una dintre tehnologiile principale de urmărit chiar acum. În 6 ani, acest sector ar trebui să crească de zece ori — de la 45 de milioane de dolari în 2018 la 450 de milioane de dolari în 2024. Giganti tehnologici s-au aruncat deja în această nișă: Google și Nvidia au lansat versiuni beta ale serviciilor lor de gaming în cloud, iar Microsoft, EA, Ubisoft, Amazon și Verizon sunt gata să intre în scenă.
Pentru gamerii înseamnă că în curând vor putea renunța complet la cheltuielile pentru actualizarea hardware-ului și vor putea rula jocuri potente pe calculatoare slabe. Dar este aceasta o oportunitate și pentru ceilalți participanți din ecosistem? Vă explicăm de ce gamingul în cloud le va spori veniturile și cum am dezvoltat tehnologia care facilitează accesul pe o piață promițătoare.

Editorii, dezvoltatorii, producătorii de televizoare și operatorii de telecomunicații: de ce le pasă tuturor de gamingul în cloud
Editori și dezvoltatori de jocuri sunt interesați să își livreze produsele cât mai repede și la cât mai mulți jucători. În prezent, conform datelor noastre, 70% dintre potențialii clienți nu ajung la joc — nu așteaptă să se încarce clientul și fișierul de instalare de zeci de giga. În plus, 60% dintre utilizatori, , în principiu, nu pot rula jocuri puternice (de nivel AAA) pe computerele lor în condiții acceptabile. Gamingul în cloud poate rezolva această problemă — nu doar că nu va scădea veniturile editorilor și dezvoltatorilor, dar îi va ajuta să își crească publicul plătitor.
Acum, către gamingul în cloud se orientează și producătorii de televizoare și boxe TV. În epoca caselor inteligente și a asistenților vocali, trebuie să concureze din ce în ce mai mult pentru atenția utilizatorilor, iar funcționalitatea de gaming este principalul mod de a atrage această atenție. Cu gamingul în cloud integrat, clienții pot rula jocuri moderne direct pe televizor, plătind pentru serviciul oferit de producător.

Un alt participant potențial activ în ecosistem este operatorul de telecomunicații. Modul lor de a crește veniturile este prin oferirea de servicii suplimentare. Gamingul este exact unul dintre aceste servicii pe care operatorii le implementează deja activ. Rostelecom a lansat tarifatul „Gaming”, Akado vinde acces la serviciul nostru Playkey. Este vorba nu doar de operatorii de internet broadband. Operatorii de telefonie mobilă, odată cu răspândirea activă a 5G, vor putea de asemenea să transforme gamingul în cloud într-o sursă suplimentară de venit.
În ciuda perspectivelor optimiste, intrarea pe piață nu este atât de simplă. Toate serviciile existente, inclusiv produsele gigantilor tehnologici, nu au reușit încă să depășească problema „ultimei mile”. Aceasta înseamnă că, din cauza imperfecțiunilor rețelei în interiorul casei sau apartamentului, viteza internetului utilizatorului nu este suficientă pentru a susține corect funcționarea gamingului în cloud.

Uitați-vă cum slăbește semnalul WiFi pe măsură ce se răspândește de la router în apartament
Jucătorii care sunt pe piață de mult timp și dispun de resurse puternice avansează treptat spre soluționarea acestei probleme. Totuși, lansarea propriilor jocuri în cloud de la zero în 2019 înseamnă a cheltui mulți bani, timp și, poate, să nu creezi niciodată o soluție eficientă. Pentru a ajuta toți participanții la ecosistem să crească pe o piață în plină expansiune, am dezvoltat o tehnologie care permite lansarea rapidă și fără costuri mari a propriului serviciu de jocuri în cloud.
Cum am dezvoltat tehnologia care va facilita lansarea propriului serviciu de jocuri în cloud
Tehnologia noastră de gaming în cloud a început să fie dezvoltată în 2012. Lansarea comercială a avut loc în 2014, iar până în 2016, serviciul a fost utilizat de cel puțin 2,5 milioane de jucători. Pe parcursul întregului proces de dezvoltare, am observat un interes nu doar din partea gamerilor, ci și din partea producătorilor de set-top box-uri și operatorilor de telecomunicații. Cu NetByNet și „Er-Telecom” am lansat chiar câteva proiecte pilot. În 2018, am decis că produsul nostru are un viitor B2B posibil.
Dezvoltarea unei soluții personalizate de integrare a jocurilor cloud pentru fiecare companie este problematică, așa cum am experimentat în proiectele pilot. Fiecare implementare astfel a durat între trei luni și jumătate de an. De ce? Fiecare companie are echipamente și sisteme de operare diferite: pentru unii, jocurile cloud sunt necesare pe o consolă Android, iar pentru alții — ca un iFrame în interfața web a contului pentru streaming pe computere. În plus, fiecare are un design diferit, facturare (o lume aparte!) și alte particularități. A devenit clar că fie trebuie să mărim echipa de dezvoltare de zece ori, fie să creăm o soluție B2B cât mai universală și standardizată.
În martie 2019 am lansat . Aceasta este o aplicație software pe care companiile o pot instala pe serverele lor pentru a obține un serviciu de jocuri cloud funcțional. Cum va arăta asta pentru utilizator? Acesta va vedea pe site-ul obișnuit un buton care îi permite să pornească jocul în cloud. La apăsarea butonului, jocul se va lansa pe serverul companiei, iar utilizatorul va putea vedea un stream și să joace de la distanță. Așa ar putea arăta în cele mai populare servicii de distribuție digitală a jocurilor.


O luptă activă pentru calitate. Și una pasivă de asemenea.
Cum reușește Remote Click să depășească numeroasele bariere tehnice, vom detalia acum. Jocurile cloud de prima generație (de exemplu, OnLive) au fost afectate de calitatea slabă a internetului utilizatorilor. Atunci, în 2010, viteza medie a conexiunii la internet în SUA doar 4,7 Mbps. Până în 2017, a crescut la 18,7 Mbps, iar curând va apărea 5G peste tot, marcând începutul unei noi ere. Cu toate acestea, deși infrastructura este în general pregătită pentru jocurile cloud, rămâne problema deja menționată a „ultimei mile”.
O latură a acesteia, pe care o numim obiectivă: utilizatorul are cu adevărat probleme cu rețeaua. De exemplu, operatorul nu oferă viteza maximă promisă. Sau se folosește WiFi de 2,4 GHz, interferat de microunde și de mouse-ul wireless.
Cealaltă parte, pe care o numim subiectivă: utilizatorul nici măcar nu bănuiește că are probleme cu rețeaua (nu știe ce nu știe)! În cel mai bun caz, este sigur că, din moment ce operatorul îi vinde un tarif de 100 Mbit/s, are internet de 100 Mbit/s. În cel mai rău caz — nu are idee ce este un router și își împarte internetul în albastru și colorat. O situație reală din caseva.

Internet albastru și colorat.
Dar ambele părți ale problemei „ultimei mile” sunt soluționabile. La Remote Click folosim mecanisme active și pasive pentru asta. Mai jos — o poveste detaliată despre cum fac față obstacolelor.
Mecanisme active
1. Codificarea eficientă a datelor transmise, cunoscută și sub numele de redundanță (FEC — Forward Error Correction)
În timpul transmiterii datelor video de la server la client, se utilizează codificarea rezistentă la erori. Cu ajutorul acesteia, restaurăm datele originale în cazul pierderii partiale din cauza problemelor din rețea. Ce face soluția noastră eficientă?
- Viteza. Codarea și decodarea se realizează foarte rapid. Chiar și pe computere „slabe”, operația durează nu mai mult de 1 ms pentru 0,5 MB de date. Astfel, codarea și decodarea nu adaugă aproape deloc latență în timpul jocului în cloud. Importanța acestui lucru este greu de supraestimat.
- Potencialul maxim de recuperare a datelor. Mai exact, raportul dintre volumul de date redundante și ce ar putea fi teoretic recuperat. În cazul nostru, raportul = 1. Să presupunem că trebuie să transmitem 1 MB de video. Dacă, în timpul codării, adăugăm 300 KB de date suplimentare (acest lucru se numește redundanță), atunci în procesul de decodare pentru a recupera 1 megabyte original, ne va fi necesar doar orice 1 MB din totalul de 1,3 MB trimis de server. Cu alte cuvinte, putem pierde 300 KB și totuși recupera datele originale. După cum se poate observa, 300 / 300 = 1. Aceasta este eficiența maximă posibilă.
- Flexibilitate în ajustarea volumului suplimentar de date în timpul codării. Putem personaliza un nivel separat de redundanță pentru fiecare cadru video care trebuie transmis prin rețea. De exemplu, observând probleme în rețea, putem crește sau reduce nivelul de redundanță.

Jucăm prin Playkey în Doom pe un Core i3, 4 GB RAM, MSI GeForce GTX 750.
2. Trasmiterea suplimentară a datelor
O metodă alternativă de a combate pierderile este solicitarea datelor din nou. De exemplu, dacă serverul și utilizatorul se află în Moscova, întârzierea în transmitere nu va depăși 5 ms. La această valoare, aplicația client va reuși să solicite și să primească de la server partea de date pierdută fără ca utilizatorul să observe. Sistemul nostru decide singur când să aplice redundanța și când să recupereze datele.
3. Configurarea individuală a transmiterii datelor
Pentru a alege cea mai bună metodă de combatere a pierderilor, algoritmul nostru analizează conexiunea de rețea a utilizatorului și configurează sistemul de transmitere a datelor în mod individual pentru fiecare caz.
Acesta examinează:
- tipul de conexiune (Ethernet, WiFi, 3G etc.);
- frecvența folosită de WiFi - 2,4 GHz sau 5 GHz;
- semnalul WiFi.
Dacă clasificăm conexiunile după pierderi și întârziere, cel mai fiabil este, desigur, cablul. Prin Ethernet, pierderile sunt rare, iar întârzierile pe "ultimul kilometru" sunt extrem de improbabile. Apoi urmează WiFi 5 GHz și abia după aceea WiFi 2,4 GHz. Conexiunile mobile sunt de-a dreptul slabe, așteptăm 5G.

Când se utilizează WiFi, sistemul configurează automat adaptorul utilizatorului, trecându-l în modul cel mai potrivit pentru utilizarea în cloud (de exemplu, dezactivarea economisirii de energie).
4. Configurarea individuală a codării
Streamingul video există datorită codec-urilor - programe de comprimare și restaurare a datelor video. În formă necomprimată, o secundă de video depășește ușor o sută de megabytes, iar un codec reduce această valoare cu un ordin de mărime. Noi folosim codec-urile H264 și H265.
H264 este cel mai popular. Toți principalii producători de plăci video au susținut hardware-ul său timp de un deceniu. H265 este un moștenitor tânăr, îndrăzneț. Suportul hardware pentru acesta a început acum cinci ani. Codarea și decodarea în H265 necesită mai multe resurse, dar calitatea imaginii comprimate este semnificativ mai bună decât în H264. Și fără creșterea dimensiunii!

Ce codec să alegem și ce parametri de codare să stabilim pentru un utilizator specific, în funcție de „hardware”-ul său? O sarcină complicată, care este rezolvată automat de noi. Sistemul inteligent analizează capacitățile echipamentului, stabilește parametrii optimi pentru codificator și alege decodorul de partea clientului.
5. Compensarea pierderilor
Nu am vrut să recunoaștem, dar nici noi nu suntem impecabili. Unele date, pierdute în adâncurile rețelei, nu pot fi recuperate și nu avem timp să le trimitem din nou. Dar, chiar și în acest caz, există o soluție.
De exemplu, ajustarea ratei de biți. Algoritmul nostru controlează constant volumul de date transmise de la server către client. Acesta înregistrează fiecare lipsă și chiar prezice posibile pierderi viitoare. Sarcina sa este de a observa la timp, iar ideal ar fi să prezică, când pierderile vor atinge o valoare critică și vor începe să creeze perturbări vizibile utilizatorului pe ecran. Și să corecteze în acel moment volumul de date transmise (rata de biți).

De asemenea, folosim invalidarea cadrelor neassemble și mecanismul cadrelor de referință în fluxul video. Ambele instrumente reduc numărul de artefacte vizibile. Asta înseamnă că, chiar și în cazul unor încălcări grave în transmisia de date, imaginea de pe ecran rămâne acceptabilă, iar jocul — jucabil.
6. Trimiterea distribuită
Trimiterea distribuită în timp îmbunătățește și calitatea streaming-ului. Cum exact trebuie să se facă distribuția depinde de indicatorii specifici ai rețelei, cum ar fi pierderile, ping-ul și alți factori. Algoritmul nostru îi analizează și alege varianta optimă. Uneori, distribuția pe o perioadă de câteva milisecunde reduce pierderile de câteva ori.
7. Reducerea întârzierei
Una dintre caracteristicile cheie atunci când joci în cloud este întârzierea. Cu cât este mai mică, cu atât este mai confortabil să joci. Întârzierea poate fi împărțită în două părți:
- întârzierea rețelei sau întârzierea în transmiterea datelor;
- întârzierea sistemului (eliberarea controlului pe partea clientului, captarea imaginii pe server, codificarea imaginii, mecanismele menționate mai sus de adaptare a datelor pentru trimitere, colectarea datelor pe client, decodarea imaginii și redarea acesteia).
Întârzierea rețelei depinde de infrastructură și este problematic să lupți cu ea. Dacă cablul a fost mâncat de șoareci, dansurile cu tobă nu vor ajuta. Însă întârzierea sistemului poate fi redusă semnificativ, iar calitatea jocului în cloud pentru jucător se va schimba radical. Pe lângă codificarea rezistentă la erori deja menționată și setările personalizate, folosim și alte două mecanisme.
- Obținerea rapidă a datelor de la dispozitivele de control (tastatură, mouse) pe partea clientului. Chiar și pe computere slabe, pentru aceasta sunt suficiente 1-2 ms.
- Redarea cursorului sistemului pe client. Indicatorul mouse-ului este tratat nu pe serverul de la distanță, ci în clientul Playkey de pe computerul utilizatorului, adică fără întârziere. Da, aceasta nu afectează controlul real în joc, dar ceea ce contează aici este percepția umană.

Redarea cursorului fără întârziere în Playkey pe exemplul Apex Legends
Folosind tehnologia noastră, cu o întârziere de rețea de 0 ms și lucrând cu fluxul video la 60 FPS, întârzierea întregului sistem nu depășește 35 ms.
Mecanisme pasive
Din experiența noastră, mulți utilizatori nu își dau seama cum dispozitivele lor se conectează la internet. În interviurile cu jucătorii, s-a descoperit că unii nu știu ce este un router. Și este în regulă! Nu trebuie să cunoști structura unui motor cu ardere internă pentru a conduce o mașină. Nu trebuie să aștepți de la utilizator să aibă cunoștințe de administrator de sistem pentru a putea juca.
Cu toate acestea, unele aspecte tehnice sunt importante de comunicat, astfel încât jucătorul să poată elimina singur barierele de pe partea sa. Și noi îl ajutăm.
1. Indicația suportului WiFi de 5 GHz
Mai sus am menționat că vedem standardul Wi-Fi — 5 GHz sau 2,4 GHz. De asemenea, știm dacă adaptorul de rețea al dispozitivului utilizatorului suportă posibilitatea de a funcționa pe 5 GHz. Și, dacă da, recomandăm utilizarea acestei benzi. Nu putem schimba frecvența singuri, deoarece nu vedem specificațiile routerului.
2. Indicația forței semnalului WiFi
Pentru unii utilizatori, semnalul WiFi poate fi slab, chiar dacă internetul funcționează bine și pare a avea o viteză acceptabilă. Problema va apărea în jocurile cloud, care supun rețeaua unor teste reale.
Intensitatea semnalului este influențată de obstacole — de exemplu, pereții — și de interferențele de la alte dispozitive. Produse precum microundele emit destul de mult. Ca rezultat, apar pierderi, aproape invizibile în utilizarea internetului, dar critice pentru jocurile prin cloud. În astfel de cazuri, notificăm utilizatorul despre interferențe, sugerând să se deplaseze mai aproape de router și să oprească dispozitivele "zgomotoase".
3. Indicația consumatorilor de trafic
Chiar dacă rețeaua funcționează bine, alte aplicații pot consuma prea mult din traficul de date. De exemplu, dacă în timp ce te joci în cloud, rulezi un videoclip pe YouTube sau descarci torrente. Aplicația noastră detectează hoții și îi avertizează pe jucători.

Temerile din trecut – demontăm miturile despre gamingul în cloud
Jocurile în cloud, ca o modalitate complet nouă de consum al conținutului de jocuri, încearcă să pătrundă pe piață de aproape zece ani. Și, ca în cazul oricărei inovații, povestea lor este o serie de mici victorii și mari înfrângeri. Nu este surprinzător că, de-a lungul anilor, gamingul în cloud s-a umplut de mituri și prejudecăți. La începutul dezvoltării tehnologiei, ele erau justificate, însă astăzi sunt complet neîntemeiate.
Mit 1. Imaginea în cloud este mai slabă decât în original – ca și cum ai juca pe YouTube
Astăzi, în cadrul unei soluții avansate tehnologic în cloud, imaginea originalului și cea din cloud sunt aproape identice – ochiul liber nu găsește diferențe. Configurarea individuală a encoderului pentru echipamentul jucătorului și un set complex de mecanisme pentru a combate pierderile rezolvă această problemă. Pe o rețea de calitate, nu există nici neclaritate a cadrelor, nici artefacte grafice. Luăm chiar în considerare și rezoluția. Nu are sens să streamuim imaginea în 1080p, dacă jucătorul utilizează 720p.
Mai jos sunt două videoclipuri Apex Legends de pe canalul nostru. Într-un caz – este o înregistrare a gameplay-ului pe PC, în celălalt – prin Playkey.
Apex Legends pe PC

Apex Legends pe Playkey

Mit 2. Calitate instabilă
Starea rețelei este într-adevăr variabilă, dar această problemă a fost rezolvată. Schimbăm dinamic setările encoderului în funcție de calitatea rețelei utilizatorului. Iar un nivel constant acceptabil de FPS este menținut prin tehnici speciale de captare a imaginii.
Cum funcționează? Jocul are un motor 3D, care construiește lumea 3D. Dar utilizatorul vede o imagine 2D. Pentru ca el să o poată vedea, pentru fiecare cadru se creează o imagine de memorie – o felie de fotografii, cum arată această lume 3D dintr-un anumit unghi. Această imagine, în format codificat, este stocată în bufferul de memorie video. O captăm din memoria video și o transmitem encoderului, care o decodează. Și așa cu fiecare cadru, unul după altul.
Tehnologia noastră permite capturarea și decodificarea imaginii într-un singur flux, ceea ce crește FPS-ul. Dacă aceste procese sunt desfășurate în paralel (o soluție destul de populară pe piața jocurilor în cloud), atunci encoderul va apela constant la captura, va prelua cadre noi cu un timp de întârziere și, prin urmare, le va transmite cu întârziere.

Videoul din partea de sus a ecranului a fost obținut folosind tehnologia de captură și decodificare într-un singur flux.
Mitul 3. Din cauza întârzierilor în control, voi fi «rău» în multiplayer
Întârzierea în control este, în general, de câteva milisecunde. De obicei, aceasta nu este vizibilă pentru utilizatorul final. Totuși, poate apărea o mică neconcordanță între mișcarea mouse-ului și deplasarea cursorului. Aceasta nu afectează performanța, dar creează o impresie negativă. Redarea cursorului descrisă mai sus, direct pe dispozitivul utilizatorului, elimină această problemă. În rest, întârzierea generală a sistemului de 30-35 ms este atât de mică încât nici jucătorul, nici adversarii săi din meci nu observă nimic. Câștigul în luptă depinde doar de abilități. Dovada este mai jos.
Streamerul domină prin Playkey
Ce urmează
Jocurile în cloud sunt deja o realitate. Playkey, PlayStation Now, Shadow – acestea sunt servicii funcționale cu publicul lor și un loc pe piață. Și, la fel ca multe piețe tinere, jocurile în cloud vor crește rapid în următorii ani.
Unul dintre scenariile care ni se par cele mai probabile este apariția propriilor servicii de către publisherii de jocuri și operatorii de telecomunicații. Cineva va dezvolta propriile soluții, iar altcineva va folosi soluții standard, precum RemoteClick.net. Cu cât sunt mai mulți jucători pe piață, cu atât mai repede modul cloud de consum al conținutului de jocuri va deveni mainstream.
Sursa: habr.com
