Grazie ad un fantastico report pubblicato direttamente sul portale ufficiale stadia.dev arrivano nuovi importanti dettagli sull’architettura di Google Stadia.
Estendere l’architettura delle app di Stadia a un maggior numero di dispositivi — Matt Joseph, Stadia Engineering Manager
Con l’espansione di Stadia a nuovi dispositivi da salotto, come le Smart TV LG e le Smart TV Samsung, abbiamo voluto fornire un breve aggiornamento sulla nostra architettura “da salotto”. Facciamo un salto!
Panoramica
Analogamente alla nostra architettura su Android TV, abbiamo riutilizzato e adattato molti dei componenti con cui i giocatori interagiscono da anni. Tra questi vi sono:
- Applicazione web di Stadia TV – un’applicazione web realizzata con tecnologie come Dart, HTML e CSS e progettata per i dispositivi da salotto.
- Cobalt – una “piattaforma ad alte prestazioni e di piccolo ingombro che implementa un sottoinsieme di HTML5/CSS/JS per eseguire applicazioni, tra cui l’applicazione YouTube TV”.
- Starboard – “livello di porting e astrazione del sistema operativo di Cobalt”.
- Stadia streaming client – lo stack di streaming nativo che si integra con le API di trasporto video, audio e dati ad alte prestazioni per offrire un gameplay di alta qualità.
Ecco una panoramica di come appare l’architettura quando questi pezzi sono messi insieme:
Sfide e opportunità
Come risultato di questo stack tecnologico unico, il team di Stadia ha incontrato alcune sfide e opportunità uniche lungo il percorso. Ecco alcuni esempi:
Piattaforme uniche
Ogni sistema operativo e ambiente televisivo su cui lavoriamo ha caratteristiche e capacità uniche. I dispositivi da salotto sono una forma di dispositivo incorporato, il cui funzionamento e utilizzo è molto diverso da quello dei telefoni cellulari o dei browser web desktop. Di conseguenza, il team di Stadia deve collaborare strettamente con ogni operatore di piattaforma per comprenderne le capacità.
Il client di streaming di Stadia utilizza capacità di riproduzione video e audio uniche. Non solo queste funzionalità sono esposte in modo diverso su ogni sistema operativo, ma possono anche avere limitazioni specifiche della piattaforma. Ad esempio, il controllo a grana fine sulla decodifica video varia a seconda della piattaforma, così come le capacità di mixaggio audio.
L’adattamento a ogni singola piattaforma richiede forti partnership con collaboratori interni ed esterni.
Implementatori multipli
A seconda della piattaforma, diversi team o addirittura diverse aziende possono essere responsabili dell’implementazione di parti dello stack.
- Implementazioni di riferimento di Starboard (ad esempio, Linux, Android) – Google
- Client di streaming Stadia – Google
- Applicazione web Stadia TV – Google
- Sistemi operativi TV – varie parti terze
- Implementazioni di Starboard – varie parti terze
Ciò significa coordinarsi attraverso diverse tempistiche multi-trimestrali e pluriennali per garantire che ogni componente sia pronto all’uso e supporti i requisiti delle parti dello stack che lo precedono.
Test rigorosi
Le nuove versioni della web app di Stadia TV devono essere testate su tutte le piattaforme supportate per garantire un’esperienza di alta qualità ed evitare regressioni.
Inoltre, le nuove versioni dei componenti di livello inferiore (ad esempio, Stadia streaming client, Cobalt) devono essere convalidate con una versione pubblica della web app Stadia TV per evitare regressioni. A seconda della piattaforma, questo può assumere diverse forme. Ad esempio, si tratta di un nuovo rilascio di app Android (APK) su Android TV e di altri formati di packaging su piattaforme di terze parti.
Riusabilità e futuro
La riutilizzabilità di parti del nostro stack tecnologico è stata fondamentale per la nostra capacità di espanderci a nuovi dispositivi da salotto. Continuiamo a usare Dart per condividere parti critiche della nostra logica di gioco tra tutte le piattaforme da salotto e Stadia per Android. Il nostro investimento condiviso in Cobalt e le solide collaborazioni con altri team di Google, come YouTube, hanno portato alla capacità di scalare verso nuove piattaforme.
Come già accennato nel nostro post precedente, la scala è un fattore determinante per molte di queste decisioni architettoniche. Il nostro approccio tecnico per Android TV ha spianato la strada all’espansione su altre due piattaforme, ed è con lo stesso approccio alla scala e alla portabilità che continuiamo a impegnarci per espandere il numero di luoghi in cui Stadia potrà funzionare in futuro.
Questo lavoro è condotto in collaborazione con molte persone tra i team di Stadia e Google, e con molte persone di altre aziende.
FONTE: stadia.dev
Con questa affascinante spiegazione tecnologica fornita direttamente dallo Stadia Engineering Manager Matt Joseph è tutto.