Google Stadia, come funziona e altri dettagli 102

Una spiegazione a video dettagliata e approfondita di come funziona Google Stadia e delle principali difficoltà tecniche che tenta di risolvere per permettere di giocare in streaming con la minima latenza possibile.

VIDEO di Pierpaolo Greco   —   14/05/2019

Indice

Fin dal giorno del suo reveal a poche ore dall'apertura della GDC di San Francisco, il 19 marzo, Google Stadia non ha mai smesso di far parlare di sé scatenando ipotesi di ogni genere su come funzioni. Il servizio di streaming e di cloud gaming su cui è attualmente al lavoro il colosso di Mountain View promette infatti di rivoluzionare il mercato dei videogiochi e di cambiare in modo sostanziale come siamo abituati a videogiocare. Ovviamente se avrà successo. È ancora presto per cominciare a tirare le somme, anche perché qui in Italia praticamente non l'ha provato nessuno, ma una manciata di nuovi dettagli sul servizio ci hanno permesso di tornare sull'argomento. Se siete quindi curiosi di approfondire la tecnologia di Stadia, date un'occhiata al video che trovate qui sopra.

I nuovi dettagli dal Google I/O

Qualche giorno fa, in occasione del Google I/O 2019, la conferenza annuale che fa un po' il punto della situazione sulle novità dell'azienda, è stato dedicato un piccolissimo spazio proprio a Google Stadia: appena un'ora all'interno di 3 giorni di incontri. In quell'occasione sono uscite una manciata di informazioni tecniche su come, in concreto, Stadia gestisce la latenza e la trasmissione dei dati per cercare di offrire la migliore esperienza possibile ai giocatori. Pur condividendo infatti numerose tecnologie con lo streaming video, soprattutto sul fronte dei codec e del puro invio e ricezione dei pacchetti dati, lo streaming dei videogiochi è decisamente più complesso e problematico visto che deve tenere conto delle interazioni, praticamente in tempo reale, tra il giocatore e il gioco. Interazioni che, non avvenendo su un'unica macchina in locale, devono tenere conto di un numero enorme di variabili e rischiano di venire rallentate o addirittura bloccate dalla trasmissione dei dati sulla rete.

Non vogliamo entrare eccessivamente nel dibattito tecnico per addetti ai lavori però è scontato che un minimo di conoscenza del servizio e comunque del gioco in streaming e su cloud bisogna averla in testa. Cosa significa giocare in streaming? Avete presente Netflix o Spotify? Ovvero poter vedere un film o ascoltare una canzone senza che questi siano concretamente presenti sul computer, telefono o qualsiasi altro device che utilizzate per godere dell'intrattenimento? Ecco il concetto è lo stesso identico, solo che si parla di videogiochi. In pratica attraverso Google Stadia, esattamente come avviene già con PlayStation Now o con GeForce Now, il gioco non gira sul vostro PC, console, smartphone o tablet, bensì viene avviato e funziona su un server piazzato in chissà quale parte del mondo. Server che entra in contatto con voi tramite internet, riceve gli input che fisicamente fate su un joypad o una tastiera o un mouse, e vi restituisce il risultato di questi comandi.

Ovviamente un conto è vedere un film o sentire una canzone che, al limite perdono un po' di qualità quando la connessione non va molto veloce o, al massimo, si interrompono per qualche secondo necessario a fare il cosiddetto buffering, e poi ripartono; tutto un altro discorso è quando di mezzo c'è un personaggio che sta sparando, saltando o correndo, magari per affrontare un altro giocatore in multiplayer.

Le difficoltà tecniche di Google Stadia

Pur non spiegando nel dettaglio ogni singolo passaggio della trasmissione dati dal computer del giocatore fino al server nel datacenter di Google e ritorno, alcune figure chiave del team di sviluppo di Google Stadia sono intervenute per tentare di spiegare almeno le fondamenta tecnologiche del servizio. Innanzitutto non è la velocità dei dati a rappresentare il problema, molto spesso infatti il tempo impiegato dalle informazioni per raggiungere il proprio computer dal datacenter è inferiore al tempo richiesto dal cervello per inviare i comandi alle proprie dita. La vera difficoltà è tutta relativa al tempo necessario per convertire e processare questi dati così da renderli compatibili con l'esperienza di gioco.

Di nuovo, non vogliamo scendere troppo nel dettaglio tecnico, ma per Google il successo di Stadia e più in generale dei servizi di streaming videoludico, Project xCloud di Microsoft compreso, dipende completamente dai codec, dagli encoder e dai decoder necessari per trasformare quello che vediamo e giochiamo nei dati da trasmettere in rete, con il difficilissimo obiettivo di raggiungere il bilanciamento ideale tra qualità e latenza.

Ipotizziamo di trovarci davanti a un grafico dove, da un lato abbiamo la possibilità di vedere un gioco in 4k a 60 frame al secondo senza alcun artificio legato alla compressione del video, mentre dall'altro lato abbiamo la possibilità di giocare a questo stesso gioco senza percepire alcuna latenza nell'input dei comandi. Ecco dove piazzare l'esperienza di Google Stadia tra questi due estremi è il difficilissimo risultato su cui sta lavorando il team tecnico. Non si può avere la massima qualità con la minima latenza ma bisogna trovare il compromesso ideale che garantisca un'ottima esperienza senza che il gioco ne risenta troppo graficamente.

Lo streamer

Per raggiungere questo risultato, per Google Stadia è stato sviluppato un delivery engine, un motore di trasmissione, chiamato streamer, costruito proprio per gestire lo streaming dei giochi. Si tratta di un programma che gira in modo invisibile di fianco al videogioco, raccoglie tutte le informazioni del device utilizzato dal giocatore, le unisce a quelle della rete Google e prende delle decisioni in tempo reale per massimizzare la qualità mantenendo una latenza impercettibile. Non esiste un'ottimizzazione ideale insomma, ma bisogna valutare in tempo reale il migliore compromesso. E tra gli algoritmi sviluppati per Google Stadia, il più importante è quello che riduce la congestione della rete e la perdita dei pacchetti intervenendo prima che questi due fenomeni diventino insostenibili generando una coda nel movimento dei dati che porta prima al buffering e poi al blocco della connessione. D'altra parte già soltanto una coda nel trasferimento dei dati vuol dire rendere pessima l'esperienza di gioco e quindi la morte prematura dello streaming.

Questo motore di streaming aggiusta continuamente il bitrate e la qualità del video in base alla qualità del segnale della rete utilizzando il feedback dei singoli pacchetti di dati. Si tratta di calcoli molto complessi, e anche solo spiegare i concetti di base evidenzia quanto il sistema sia complicato. Ad aggiungere un ulteriore strato di difficoltà ci si mette la velocità con cui questi dati devono essere trasmessi ed elaborati. Si parla infatti di millisecondi, talvolta persino di microsecondi e, con queste tempistiche, il sistema deve prendere costantemente delle decisioni aumentando o riducendo la compressione video per non avere ripercussioni sulla latenza, ma allo stesso tempo non rendere pieno di artefatti grafici quello che vediamo sullo schermo.

La nostra speranza è che quanto prima Google permetta di provare con mano Stadia per farci capire come funziona allo stato attuale delle cose, quanto è facile passare dal PC allo smartphone a una console fino a un tablet e soprattutto come si vedono in concreto i giochi e come reagiscono ai nostri input. Perché se è vero che entro un paio di anni avremo il 5G che spesso consentirà di avere connessioni migliori persino della fibra ottica anche in mobilità, e il costante potenziamento dei codec con i vari VP9 e AV1 renderà necessari meno dati per inviare dei video di qualità sempre più elevata, allo stesso tempo è scontato che a noi giocatori interessi giocare senza lag, latenze o ritardi negli input. Possibilmente in 4k con la massima grafica possibile e un frame rate che non scende sotto i 60 FPS. Se lo streaming riuscirà a soddisfare questi nostri requisiti tanto meglio e ne godremo tutti. Ma ci riuscirà davvero?

Voi cosa ne pensate? Ci aspetta un'altra generazione di PC, PlayStation, Xbox e Switch oppure tra poco non parleremo neanche più di computer e console?