Cloud gaming: guardando al futuro - editoriale
L'arrivo di Titanfall e del cloud computing cambia tutto: reale innovazione o male minore?
Lo scorso 13 marzo è stata una data storica: la mezzanotte ha infatti segnato l'arrivo di Titanfall, lo sparatutto realizzato da Respawn Entertainment che nelle intenzioni della casa di Redmond deve fare da battistrada per la diffusione di Xbox One.
Dopo un 2013 disastroso dal punto di vista del marketing e della comunicazione, il lancio di un'esclusiva di valore era probabilmente l'unico modo per risollevare le sorti di una console che, per quanto in via di ampia diffusione, si sta confermando inferiore dal punto di vista tecnico alla sua concorrente diretta, ovvero PS4.
Ho parlato di data storica, tuttavia, per un altro motivo: si è infatti trattato dell'esordio nell'ambito gaming di Azure, il servizio che Microsoft sta espandendo sin dal 2011 per fare concorrenza alle piattaforme di Google e Amazon. Il Cloud Computing è un settore ancora giovane, ma dal punto di vista commerciale sta riscuotendo parecchio successo come soluzione di Information Technology presso grandi aziende e utenti privati che per i più svariati motivi possono aver bisogno di un servizio online in grado di soddisfare esigenze di hosting.
Il Cloud viene venduto come un servizio completo che permette al cliente di pagare effettivamente per quelle che sono le necessità operative senza preoccuparsi dell'acquisto o affitto della macchina fisica e delle problematiche di capacità in termini di potenza di calcolo, banda, spazio fisico su disco e così via.
I datacenter strutturati per offrire un servizio in Cloud sono server farm gigantesche in cui trovano spazio migliaia di server interconnessi tra loro in cluster. Sofisticati programmi di calcolo distribuito gestiscono un enorme pool di risorse per fare in modo che il servizio sia sempre performante ed efficiente, che si tratti di gestire centinaia di siti web, diverse piattaforme di sviluppo, lo storage di dati nell'ordine di petabyte, l'hosting di domini di posta elettronica. Ovviamente ad un aumento dei requisiti, aumentano anche i costi per l'utente finale, ma è chiaro che le sempre maggiori quote di mercato ad appannaggio di questi servizi sono la conferma della loro competitività rispetto ai servizi di hosting tradizionali.
Questa introduzione tecnica è importante perché, come abbiamo accennato all'inizio dell'articolo, Titanfall è un gioco multiplayer only e la sua intera infrastruttura multigiocatore (e con essa la qualità del gameplay percepito dagli utenti) dipende in toto proprio da Azure. Al day one era lecito attendersi qualche disservizio e in effetti nelle prime ore successive al lancio qualche problema di connettività c'è stato, tra sessioni irraggiungibili, giocatori disconnessi e problemi di latenza elevata.
Il tempo di assorbire l'impatto e calibrare nuove risorse da allocare alla richiesta e le prestazioni sono rapidamente migliorate. Alla prova dei fatti l'esordio di Azure come piattaforma per il gaming è stato un successo: Microsoft ha dimostrato di poter gestire un numero considerevole di utenti simultaneamente connessi da ogni parte del pianeta, ovvero la massa di giocatori dotati di Xbox One e una percentuale minore di utenti PC.
"L'esordio di Azure come piattaforma per il gaming è stato un successo"
Il Day One è stato un successo non solo dal punto di vista del funzionamento del servizio ma anche da quello delle risorse messe in gioco; Titanfall sfrutta il computing del Cloud per pilotare gruppi di NPC che vanno ad aggiungersi ai dodici utenti umani attivi su ogni server: per quanto semplificata, la loro gestione va a impattare considerevolmente sulle risorse da mettere in campo per creare un'istanza di gioco efficiente.
A fronte di tutto questo, una novità ha fatto capolino tra le pieghe del sistema di lobby delle versioni console: nella tabella dei punteggi dei vari giocatori connessi compare infatti l'effettivo ping di ogni giocatore dal server cui è connesso.
Molti utenti non ci hanno fatto neppure caso, ma i giocatori più attenti alla qualità della propria connessione, quelli PC in particolare, non hanno mancato di notare come il valore della latenza fosse al di sopra degli standard di altri sparatutto multigiocatore: un genere che, per la sua natura, è fortemente dipendente dalla latenza.
Abbiamo quindi eseguito una serie di test per verificare le qualità evidenti ma anche i difetti nascosti del Cloud Computing come soluzione di supporto al gaming. I risultati portano ad una serie di constatazioni non proprio banali sulla qualità del servizio nell'immediato, ma anche a una serie di previsioni su come potrebbe cambiare l'industry se questo modello di servizio dovesse affermarsi.
Partiamo dai nostri rilevamenti: abbiamo infatti lasciato che le acque si calmassero e circa due settimane dopo il lancio, prima della pubblicazione della versione Xbox 360, svolto una serie di test con le versioni console e PC del gioco connessi da varie zone d'Europa. I test confermano le prime impressioni, ovvero che giocando con una connessione Adsl normale da una grande città come Milano, difficilmente si riesce a scendere sotto i 60-70 millisecondi ping durante le sessioni di gioco.
La situazione migliora per i possessori di una connessione Adsl Fast visto che il guadagno rispetto a una linea normale è di circa 20 millisecondi, attestandosi sui 50. Non un'enormità ma nemmeno poco se pensiamo al fatto che si tratta di un vantaggio costante che si riesce ad avere sugli avversari durante gli scontri più accesi.
"Allontanandosi geograficamente dai datacenter, la latenza aumenta"
La situazione è peggiorata man mano che eseguivamo i test spostandoci più in basso nello stivale: da Roma il ping era sui 75-80 millisecondi con una connessione normale e sui 55-60 in fast, per arrivare sui 90 (70 in fast) nel caso di PC o console connesse da Calabria e Sicilia. Abbiamo notato anche una certa varianza nella qualità della connessione a seconda delle ore del giorno in cui ci si connetteva: generalmente la mattina e il primo pomeriggio evidenziavano i valori che abbiamo appena descritto mentre la sera il ping saliva mediamente di 3-5 millisecondi un po' in tutte le configurazioni.
Un effetto probabilmente dovuto al maggiore carico dei server. Questi valori ci hanno sorpreso, non solo pensando alla qualità della nostra connessione ma anche a quella degli altri utenti presenti nella lobby che, come potete vedere dallo screenshot a contorno, è ampiamente variabile e a volte spesso si attesta su 100 o più millisecondi.
Come si spiegano questi risultati in apparenza poco adatti a uno sparatutto? Sono dovuti essenzialmente all'infrastruttura di Azure che gestisce l'hosting del gioco a seconda della posizione geografica degli utenti. Per capirne le ragioni occorre tenere in considerazione la posizione dei datacenter di Microsoft: in Europa ce ne sono due, posizionati a Dublino (North Europe) e Amsterdam (West Europe). La connettività in arrivo dall'Italia porta i nostri titani a muoversi proprio sul datacenter olandese: questo spiega il perché allontanandosi geograficamente da questa posizione la latenza aumenta progressivamente.
Alla luce di tutto questo assunto, possiamo dire che la qualità del servizio agli utenti sia peggiorata rispetto agli standard del passato? Per meglio comprendere le ragioni di una scelta che potrebbe diventare la norma per il multiplayer del futuro, facciamo un passo indietro per vedere come, fino ad oggi, è stato gestito il servizio multigiocatore per titoli che prevedevano una componente multiplayer.
In origine, e tutt'ora, la soluzione più gettonata è sempre stata quella di connettere l'utente ad un unico server dedicato su cui gira l'host della partita. Che si tratti di sparatutto, strategici, o giochi di guida, il concetto è quello di sfruttare il sistema di matchmaking per trovare un server accessibile con giocatori attivi e soprattutto la minore latenza possibile.
"Giocatori molto lontani dai datacenter soffriranno sempre di quella latenza senza possibilità di migliorarla"
Con connessioni Adsl in fast si riesce spesso a stare sotto i venti millisecondi, per non parlare della fibra ottica, ma soprattutto a organizzare partite con utenti predefiniti (amici o avversari) che possono accedere al server previo inserimento di una password. Rivolgendosi a servizi di hosting dedicato è possibile affittare una o più istanze di gioco garantendosi così slot di gioco sempre disponibili, con cui organizzare incontri all'insegna della massima flessibilità di personalizzazione del matchmaking, nei limiti consentiti dalle impostazioni del server dedicato.
Questa soluzione, a tutt'oggi ancora in uso per gli sparatutto di successo su PC, è indubbiamente la migliore in termini di qualità del servizio, della latenza e della flessibilità del matchmaking, ma ha un contro non da poco: il costo si scarica sulle spalle degli utenti che vogliono affittare uno o più istanze di gioco sui server: i clan in pratica. In realtà questo assunto è ormai dato per scontato presso le comunità multigiocatore che fin dai tempi di Quake/Unreal Tournament mettevano in conto un obolo mensile da devolvere agli host.
L'esplosione degli FPS su console ha tuttavia cambiato le carte in tavola: vista la natura di infrastruttura chiusa del servizio multigiocatore di PS2/PS3 e Xbox/Xbox360, e soprattutto l'impossibilità economica per gli sviluppatori di sostenere il costo di un hosting in grado di ospitare centinaia di migliaia di utenti simultaneamente connessi a un servizio centralizzato, molti publisher furono costretti a trovare altre strade per rendere il multiplayer giocabile, e la soluzione più efficace venne individuata nel peer to peer.
Questo sistema, portato alla massima espressione da Infinity Ward con i recenti Call of Duty, prevede al momento della connessione alla lobby di gioco che una console venga scelta dal sistema di matchmaking come l'host, ovvero il servente della sessione multigiocatore a cui tutti gli altri utenti si connettono. La scelta avviene sostanzialmente in base alla qualità del gameplay che l'host può garantire agli altri utenti e dipende dalla velocità della sua connessione e dalla posizione geografica rispetto agli altri giocatori.
Per capirci: in una sessione multigiocatore comprendente utenti connessi da tutta Europa, il sistema sceglie in automatico l'host capace di garantire il miglior ping possibile a tutti i client senza che nemmeno il giocatore ospitante se ne accorga. Una soluzione astuta e capace di creare un'infrastruttura multiplayer a costo zero che non richiede server multigiocatore sempre attivi.
"Il primo passo in avanti compiuto da Microsoft ha tutto per essere rivoluzionario"
Non stupisce che molti titoli per console abbiano percorso questa strada, nonostante gli svantaggi siano degni di nota tanto quanto i contro. Se il sistema non riesce a trovare un servente di qualità ci si deve accontentare di quello che passa il convento: affidandosi a connessioni casalinghe, latenze elevate e possibili disconnessioni sono sempre in agguato, in particolare quelle volontarie dell'host.
In questo caso è inevitabile un fermo di alcuni secondi della partita mentre il sistema assegna il compito di fare da servente al giocatore con la connessione più performante tra quelli rimasti in partita. Oltre a questo, non tutti i titoli pensati con questo sistema permettono di effettuare la selezione degli utenti da far connettere, rendendo difficile l'aspetto sociale e l'organizzazione degli incontri.
Meno evidenti ma ugualmente penalizzanti sono le limitazioni dovute all'hardware impiegato: poiché la qualità della connessione non è standardizzata, raramente si sono visti titoli console basati sul peer to peer andare oltre lo standard di 10-12 giocatori supportati simultaneamente. Questo per una questione di risorse: un gioco pensato per adattarsi a un'infrastruttura peer to peer su console non può dedicare tutta la potenza a disposizione all'hosting della partita, perché sullo stesso hardware deve girare anche la sessione di gioco dell'utente. Un dettaglio non di poco conto che in passato ha impedito agli sviluppatori di spremere a fondo la potenza delle console e che si ripropone anche oggi, pur se in misura minore, sulle piattaforme di nuova generazione.
Tornando alla domanda di cui sopra sulla qualità del servizio possiamo dire che, per quanto tutto abbia funzionato a dovere, una certa penalizzazione nei tempi di risposta è inevitabile, perché giocatori molto lontani dai datacenter deputati a gestirli soffriranno sempre di quella latenza con poche possibilità di migliorare la propria condizione, a meno che non ne vengano aperti di nuovi nelle loro vicinanze. E infatti i giocatori sudamericani e australiani sono penalizzati da ping non certo entusiasmanti se pensiamo al fatto che nelle loro regioni Azure arriverà solo tra qualche tempo, mentre per gli sfortunati utenti del Sudafrica non è nemmeno prevista, anche se in quest'ultimo caso le valutazioni di convenienza commerciale sono indubbiamente diverse.
Quanto questo svantaggio sia effettivamente penalizzante rispetto a una normale connessione client-server dipende anche dalla tipologia di gioco. Pur essendo uno sparatutto, Titanfall è caratterizzato da pochi elementi in grado di spostarsi molto velocemente attraverso la mappa. Le ridotte dimensioni delle mappe e il ristretto numero di giocatori coinvolti aiutano a ridurre di parecchio la sensazione di latenza percepita dagli utenti.
"Appoggiarsi al Cloud significa non doversi preoccupare di creazione, mantenimento e dismissione di un'infrastruttura complessa"
Un gioco come Battlefield sarebbe sicuramente gestibile da un'infrastruttura Cloud, ma è chiaro che i requisiti lato server per istanze da 64 giocatori sarebbero molto più elevati e sarebbe comunque difficile garantire le stesse prestazioni di un server dedicato in termini di ping e qualità del gameplay agli utenti più periferici.
Detto questo, s'intuiscono facilmente i motivi per cui dei pionieri del peer to peer nel multiplayer come i Respawn Entertainment, che altri non sono se non dei fuoriusciti eccellenti di Infinity Ward, abbiano deciso d'incamminarsi su questa nuova strada. Considerando la situazione preesistente e pro/contro appena descritti, il sistema multiplayer di Titanfall cerca di prendere il meglio dei due mondi e lo adatta per ottenere il massimo risultato possibile al minor costo. Le similitudini con il peer to peer console sono parecchie. La prima è che si tratta di sessioni di gioco da non più di dodici utenti umani, quindi facilmente gestibili in gran numero anche da un singolo datacenter.
In caso di saturazione di uno di essi, la lobby può essere passata in modo silente a un datacenter geograficamente vicino senza che gli utenti se ne accorgano, per quanto questo abbia sicure ricadute sul ping di tutti i player coinvolti. Infine, un servizio centralizzato permette un migliore controllo della qualità del gameplay in quanto a banda e risorse di calcolo, e di questo abbiamo avuto conferma proprio il giorno del lancio di Titanfall.
Le implicazioni sono notevoli anche sotto l'aspetto delle risorse hardware della console che possono essere sfruttate esclusivamente per l'elaborazione grafica, un argomento non di poco conto, soprattutto in quel di Redmond dove il minore potenziale hardware di Xbox One viene visto come un danno d'immagine non da poco nonostante i cinque milioni di console finora piazzati sul mercato.
A questo si aggiunge l'enorme potenza di calcolo di server di Azure: nessuno pensa che Xbox One proporrà titoli graficamente migliori perchè il loro rendering 3D verrà demandato al Cloud, ma la gestione di elementi il cui comportamento, finora, doveva essere calcolato localmente dalla CPU della console (come gli NPC) può liberare risorse da dirottare alla grafica. Per ora, in Titanfall, si tratta di far muovere dei bot nelle vesti di carne da cannone e prendere il controllo del nostro Titan quando scendiamo da esso. Le possibilità future sono ancora tutte da esplorare, e se Microsoft metterà gli sviluppatori nelle condizioni di utilizzarle a dovere, potrebbe veramente avere un'arma in più da usare contro la concorrenza.
"Preparare in anticipo un'infrastruttura in grado di soddisfare le richieste degli utenti è una parte cruciale del lancio di un videogioco online"
I veri benefici sono tuttavia di natura economica e organizzativa per sviluppatori e publisher, come detto in precedenza: appoggiarsi al Cloud significa non doversi preoccupare di creazione, mantenimento e dismissione di un'infrastruttura complessa dai requisiti prestazionali difficili da quantificare, soprattutto per un gioco di cui non si può conoscere in anticipo la diffusione.
Quella di preparare in anticipo un'infrastruttura in grado di soddisfare le richieste degli utenti è una parte cruciale del lancio di un videogioco online, e il passato è pieno di situazioni che possono esemplificare le problematiche tecniche e commerciali di questo genere.
Tipici esempi di impatti pratici sull'esperienza di gioco diretta degli utenti sono le leggendarie code di attesa sui server multigiocatore di World of Warcraft nei giorni immediatamente successivi al lancio: il successo fu talmente immediato e diffuso che Blizzard impiegò alcune settimane per attivare server extra in grado di accomodare l'enorme numero di giocatori connesso in tutte le zone del pianeta.
Un altro esempio piuttosto recente riguarda le sessioni multigiocatore delle versioni console di Battlefield 4: il gioco al momento della pubblicazione è stato caratterizzato da numerosi bug, ma è stato il fenomeno del "rubber banding" a spezzare la continuità del gameplay e rovinare l'esperienza di gioco. Il fatto che sui server dedicati per home computer queste situazioni si verifichino molto raramente anche con 64 giocatori connessi, mette a nudo tutti i limiti di un infrastruttura centralizzata qual è il servizio multigiocatore su console rispetto alla distribuzione libera dei server dedicati imperante su PC.
È notizia di qualche giorno fa che le problematiche di latenza sono dovute proprio alla necessità di spostare i server dedicati su macchine ad alte prestazioni. Una dichiarazione strettamente imparentata con quanto confermato da DICE lo scorso marzo, ovvero l'intenzione di offrire hosting a pagamento anche all'utenza console, un progetto in partenza proprio in questi giorni.
"Chi ci garantisce che il costo del supporto del Cloud non verrà scaricato un domani sulle spalle degli acquirenti?"
Questa mossa, viste le enormi differenze di requisiti hardware tra l'hosting di Titanfall e quello di Battlefield 4, mette a nudo il nocciolo della questione relativo a un supporto multigiocatore in grado di supportare le esigenze di qualità della connessione di migliaia di utenti. Non occorre lavorare in una server farm per capire che sessioni di gioco da 64 giocatori su mappe di ampie dimensioni e con veicoli in movimento sono molto più complesse da gestire rispetto a quelle di 12 utenti sostanzialmente appiedati in scenari limitati.
Siamo quindi di fronte a un cambio epocale nel modo di concepire il multiplayer online e gestire i costi di un servizio di hosting che può avere anche un riflesso sul numero massimo di giocatori ospitabili simultaneamente in gioco? È evidente che l'utilizzo di Azure da parte di Respawn sia legato all'esclusività console di Titanfall per le piattaforme di Microsoft.
È comprensibile che per l'esordio della sua nuova console, della killer application e del servizio ad esso collegato, a Redmond non abbiano badato a spese: una strategia che ha pagato, vista la velocità con è stato possibile offrire un servizio funzionante e senza grossi problemi di funzionalità al day one.
Ma per quanto il Cloud identifichi un'entità capace di fare del concetto di calcolo distribuito un modo per ottimizzare costi e servizi, è chiaro che si tratta sempre di server fisici che consumano corrente elettrica per il funzionamento e raffreddamento, oltre alla banda passante.
Chi ci garantisce che quello che oggi Microsoft offre gratuitamente ai possessori della propria console per promuovere un gioco in esclusiva, domani non verrà scaricato sulle spalle degli acquirenti di titoli console multipiattaforma che finora non si erano mai sognati di pagare l'affitto di un servizio multiplayer? Che si tratti della maggiorazione del prezzo di un titolo multiplayer o di un aumento dell'abbonamento Live, la sensazione è che una cuccagna del genere difficilmente durerà a tempo indefinito.
"La tecnologia presenta molte limitazioni sotto il profilo di connettività, matchmaking e probabilmente anche complessità del gameplay"
Come detto, la situazione di Titanfall è particolare: ma se i punti di forza che rendono commercialmente appetibile Azure diventeranno imprescindibili per la realizzazione di nuovi titoli multiplayer, saranno molti gli sviluppatori di terze parti a farsi avanti per realizzare progetti simili. E Microsoft, che non è un ente benefico, sicuramente presenterà il conto; non ci vuole una laurea in economia per intuire su chi si scaricheranno i costi. La stessa cosa potrebbe valere anche per Sony, con una differenza non da poco: la grande S attualmente sta spingendo la sua tecnologia Cloud in una direzione diversa.
Al momento a Tokyo non dispongono di una copertura di datacenter dedicati al calcolo distribuito paragonabile a quella di Microsoft, Google o Amazon: l'acquisto di Gaikai dell'anno scorso sembra tuttavia confermare l'interesse verso una filosofia di fornitura di servizio di Cloud Gaming anche a chi non dispone di una console di ultima generazione.
Quanto questa strategia pagherà è tutto da vedere, se consideriamo il fatto che al momento l'interesse è giustamente concentrato sulle potenzialità di PS4 piuttosto che sulle possibilità di un servizio le cui prestazioni non sono esaltanti e troppo dipendenti dalla qualità della connessione degli utenti.
Insomma, il primo passo in avanti compiuto da Microsoft ha tutto per essere rivoluzionario, ma rischia di essere limitato soltanto alle esclusive multiplayer sviluppate per la console di Redmond per un lungo periodo di tempo e apre altri interrogativi a cui non è facile dare risposta.
Nel momento in cui gli sviluppatori esterni come Infinity Ward si troveranno a progettare la componente multiplayer dei loro prossimi progetti saranno in grado (vorranno?) differenziare le versioni PS4 e Xbox One in base al supporto tradizionale offerto da Sony o al Cloud di Microsoft? E ammesso che ci riescano, come verranno gestiti i costi di supporto tra chi acquisterà la versione PS4 o Xbox One?
L'unica certezza che al momento abbiamo è che la corsa al ping più basso che negli ultimi quindici anni ha condizionato la scelta della connessione Internet da parte dei videogiocatori dovrà scontare le evoluzioni di una tecnologia che almeno finora pare presentare solo vantaggi per publisher e sviluppatori e molte limitazioni per gli utenti sotto il profilo di connettività, matchmaking e probabilmente anche complessità del gameplay. Limitazioni che, in un futuro nemmeno troppo remoto, potremmo anche essere chiamati a sostenere economicamente: la beffa finale?