Digital Foundry: analisi della latenza su PSN e Xbox Live
La scomoda verità dietro all'equità dell'online gaming.
Quanti, tra i giocatori più attempati tra voi, ricordano con disgusto i tempi in cui, da possessori di connessioni analogiche, masticavate amaro nell'osservare i giocatori dotati di ISDN o le prime ADSL sempre in cima alle classifiche multiplayer? Scommettiamo molti, ma si trattava di quel genere di digital divide che l'utenza PC si è portata dietro per parecchi anni.
L'arrivo delle console e dei servizi di connettività integrati come l'Xbox Live e il PlayStation Network sono stati salutati da molti come la rivoluzione che avrebbe cambiato volto all'online gaming mettendo tutti sullo stesso piano: oggi, a quasi un decennio di distanza, possiamo dire sia andata effettivamente così?
Per quanto gli sviluppatori da tempo abbiano implementato una serie di stratagemmi per migliorare la connettività, oggigiorno capita ancora piuttosto spesso di chiedersi cosa sia andato storto: abbiamo abbondantemente sparato a un nemico nella schiena e questo, invece di stramazzare al suolo come un burattino, ha avuto tutto il tempo di girarsi, controllare il suo conto corrente online, bere un sorso di Red Bull e centrarci in fronte con una raffica nemmeno tanto ben piazzata.
Non ci sono dubbi: la rivoluzione console ha contribuito in modo determinante a rendere il gioco via IP più accessibile a tutti ma è anche vero che si sa molto meno di quello che accade tra una console e il server di gioco rispetto a un normale PC. È quindi più difficile rispetto al multiplayer per home computer valutare l'impatto che può avere la qualità della connessione sul gameplay, anche quando l'indicatore mostra le cinque barrette verdi.
In genere le killcam di Call of Duty possono essere rivelatrici delle differenze tra quanto accade a schermo e su server, esattamente come la situazione che vi abbiamo prospettato prima…
Come funziona l'online gaming?
Ci sono fondamentalmente tre modi in cui è possibile gestire la componente multiplayer di un videogioco. Il primo è quello tradizionale di derivazione PC, che prevede l'utilizzo di un server dedicato cui si connettono i client. È la classica architettura che abbiamo sperimentato in quasi tutti i titoli PC fino a oggi e che troviamo in Battlefield 3. Si "dedica" un server fisico o virtuale ad ospitare la partita, garantendo un trattamento uniforme per tutti i giocatori connessi.
Anche il peer-to-peer ultimamente sta prendendo piede: in questo caso ogni giocatore non si riferisce come ping direttamente a un server ma singolarmente verso gli altri giocatori attualmente in partita con lui. In un contesto del genere un server è comunque necessario e in genere il sistema multiplayer assegna questo compito alla console che garantisce la migliore banda passante e potenza di calcolo (nel caso degli home computer).
Su questa entità avvengono effettivamente gli "eventi" principali che vengono poi trasmessi al resto dei giocatori in partita come spari, morti, esplosioni e così via: ovviamente l'host ospita anche il giocatore stesso impegnato su quella data console che, in genere, non è penalizzato da alcun genere di latenza.
Molti giochi di guida usano questo sistema e anche Uncharted 3. Nonostante le performance non siano ottimali e soprattutto uniformi, c'è un vantaggio notevole in termini di costi: man mano che la base di giocatori si assottiglia con il passare del tempo non c'è l'onere di mantenere e poi dismettere un'infrastruttura di server che, specie per i titoli di scarso successo, può diventare un problema di costi non indifferente sul lungo periodo.
Infine, troviamo il classico sistema client/server che differisce dal primo per il fatto che il server stesso non è dedicato ma comprende la sessione di gioco del giocatore stesso che, in genere, ha creato la partita. Molti titoli originariamente ritenuti appartenere alla categoria dei giochi P2P rientrano invece in questo settore come Modern Warfare 2, 3, Halo o Left 4 Dead e il suo seguito.
Latenza: il nemico sconosciuto
Uno degli aspetti che abbiamo cercato di mettere in chiaro con questo articolo riguarda le differenze tra l'esperienza su Xbox Live e PSN per quanto riguarda i titoli più giocati, soprattutto in relazione a partite con giocatori separati da notevoli distanze.
Il concetto di base è che maggiore è la distanza del client dal server (o dal "server peer" che gestisce la partita) maggiore è la lag che il giocatore sperimenterà in quanto occorre attendere l'andata e il ritorno dei pacchetti che avete inviato. Non solo: anche la connessione tra la console e il centro di raccolta del vostro ISP può condizionare negativamente o positivamente la qualità del gameplay.
Visto che spesso sono una serie di barrette di vario colore a testimoniare la qualità della connessione e il giocatore non ha un'evidenza precisa di quello che sta succedendo ai suoi pacchetti, abbiamo preparato una prova molto articolata per cercare di vederci chiaro.
Siamo riusciti a mettere insieme numerosi giocatori tra Inghilterra e resto del mondo, ognuno con connessioni di differente qualità e ognuno intento a registrare la propria azione che fornisca una serie di video comparativi per avere una riprova di quanto accade a schermo in tempo reale. Poiché tutti i filmati sono rigorosamente a sessanta fotogrammi al secondo, la stima è sicuramente molto accurata di quella che è la latenza tra due giocatori che si sparano a vicenda.
Ecco come abbiamo proceduto:
- Fase uno: Far incontrare tutti i giocatori nella stessa partita e iniziare la registrazione a 60FPS.
- Fase due: Portare i filmati sullo stesso PC.
- Fase tre: Mettere in fila tutte le sparatorie del giocatore con le migliori prestazioni (identificato come "giocatore uno") e compararle con quelle dei suoi bersagli.
- Fase quattro: Quando uno dei giocatori secondari rispondeva al fuoco, abbiamo contato il numero di frame al secondo prima che il giocatore uno vedesse la loro risposta moltiplicando il conto dei frame per 16.67 millisecondi, così da avere la latenza espressa in FPS.
La posizione geografica del giocatore e la qualità della connessione sono ovviamente fondamentali per comparare i risultati, ecco quindi quale era il "pedigree" di tutti i partecipanti:
- Camberley, UK: Una connessione ADSL economica da 3.5 megabit con una capacità di upload di 800kbps.
- Peacehaven, UK: Una connessione ADSL "fino a 20 Megabit" con un megabit di upload.
- Tel Aviv, Israele: Una ADSL da 15 Megabit con 800Kbps di upload.
- Mosca, Russia: Una connessione da 100 Megabit simmetrica con un link diretto al provider ad 1 (!) gigabyte al secondo.
- Brighton, UK: Un ospite speciale collegato direttamente dalla factory di Eurogamer in Inghilterra su una linea leased aziendale da100 Megabit. Una connessione così potente che persino i server Onlive americani sono perfettamente giocabili: una sorta di pozzo senza fondo di cui a tutt'oggi non siamo ancora riusciti a testare i limiti operativi .
Perché la lag è così elevata?
Fermi tutti: dalle cifre apparentemente sballate che state per vedere, sembrerebbe quasi impossibile anche solo pensare a un minimo di giocabilità. Il fatto è che occorre estrapolarle dalla logica del ping tipico del PC gaming.
Le misurazioni prevedono infatti anche l'elaborazione grafica dei pacchetti oltre al loro percorso di andata e ritorno, cui si aggiunge anche l'input lag del sistema di controllo che con i sistemi wireless aggiunge qualche millisecondo al computo globale. Le misurazioni che abbiamo svolto sono inoltre un calcolo medio, visto che il rendering grafico lavora in perfetta simultaneità mentre il traffico dei pacchetti, per innumerevoli ragioni, può subire ritardi o accelerazioni di varia natura che condizionano notevolmente i test.
Partiamo dalle rilevazioni che abbiamo fatto con Modern Warfare 3 su Xbox Live con Peacehaven, Tel Aviv, Camberley e Brighton. In seguito abbiamo riprovato a fare lo stesso test senza la superconnessione di Brighton per un controllo più approfondito. Ecco come funziona la tecnica di analisi "andata e ritorno".
La peggior performance è stata ovviamente ottenuta tra il giocatore di Tel Aviv e Camberley, con una media di 416 ms di distanza tra i due che si traducono in 25 FPS. Le due ADSL inglesi sono andate meglio attestandosi su 266 ms/18 FPS di scarto. Il tester di Brighton si è fermato a 233 ms/14 FPS rispetto ai connazionali inglesi ma nulla ha potuto con la distanza di Tel Aviv, dove la latenza ha raggiunto anche per lui i 300 ms.
Da questo primo test con Modern Warfare 3 abbiamo appreso una cosa, ossia che le latenze tra i giocatori possono variare in modo consistente, a volte anche di 50 millisecondi, anche se la nostra doppia misurazione tende sicuramente a esagerare, se pur di poco, questo dato.
Battlefield 3 e Gran Turismo 5
A differenza di quanto appena rilevato con Modern Warfare 3, il titolo di DICE è caratterizzato dalla classica struttura con server dedicati: poiché non si tratta di server con un valore di upload ristretto, in genere possono ospitare un numero maggiore di giocatori rispetto alla norma, anche se nel nostro caso il numero era limitato dal fatto che le partite private non erano permesse.
Nonostante questi vantaggi, il viaggio andata e ritorno tra i giocatori inglesi e l'israeliano mostrava una latenza elevata di 500 ms/30 FPS, mentre Peacehaven e Camberley se la sono cavata molto meglio, con una media di 166ms/20 FPS di ritardo.
L'esperienza di gioco successiva è stata quella di Gran Turismo 5: è abbastanza corretto dire che in questo titolo il multiplayer non è mai stato molto robusto, in quanto le tecniche di predizione della posizione del giocatore non funzionano molto bene. In occasione degli incidenti le collisioni ritardate che riposizionano le vetture molto tempo dopo il botto sono evidenti e non molto apprezzabili.
In questo test Mosca ha creato la lobby cui si sono aggiunti i giocatori di Tel Aviv, Peacehaven e Camberley: prima di gareggiare abbiamo deciso di effettuare una prova semplicemente accendendo le luci degli stop tra un giocatore e l'altro, un evento "passivo" sicuramente non soggetto ad alcun genere di predizione client-side.
I risultati sono stati interessanti in quanto la latenza "andata e ritorno" sembra essere la somma delle latenze tra i giocatori che si ottengono sincronizzando i filmati tramite l'orologio. Le misurazioni suggeriscono si tratti di un'architettura client/server, ruolo quest'ultimo ricoperto da Mosca.
Non abbiamo avuto modo di interrogare i Polyphony Digital a riguardo, ma è chiaro che in questo caso il vantaggio dell'host era evidente: se il gameplay fosse stato sincronizzato con un cronometro, le possibilità di lottare ad armi pari sarebbero più equilibrate per tutti i partecipanti.
Uncharted 3: P2P a bassa latenza
Il test che abbiamo effettuato con Uncharted 3 in modalità Cinema Replay ci ha dato la possibilità di arrivare alle conclusioni più illuminanti su come effettivamente lavora il P2P online. La sincronizzazione dei filmati tramite cronometro ha messo subito in evidenza il fatto che il gioco è effettivamente allineato per tutti con precisione assoluta (i power up appaiono nello stesso istante) grazie all'utilizzo di un master clock. Questo ci ha permesso di arrivare a risultati molto più precisi rispetto al tradizionale test andata e ritorno:
In questo caso il vantaggio è evidente per i giocatori che si trovano tutti nella stessa zona: Peacehaven e Camberley si sono comportati molto bene mentre, esattamente nello stesso istante, Tel Aviv era penalizzata da una latenza di 433 ms.
I risultati di questi test comparativi sono molto chiari su quella che è l'inconsistenza del traffico Internet e di quelle che sono le sfide che i coder multiplayer devono affrontare, in particolare per i titoli ricchi d'azione. Il fatto che il gioco a schermo rimanga comunque fluido tende a nascondere l'effettiva qualità (e quantità) dei dati che vengono recapitati al client teoricamente più svantaggiato e questo la dice lunga su quanto le performance multiplayer di ognuno condizionino un match sen za che il giocatore se ne accorga realmente.
Nonostante Uncharted 3 si sia comportato meglio della concorrenza, non sfugge all'assunto che gli eventi decisivi del gameplay sono comunque decisi da un host che avvantaggia chi in quel momento sta gestendo la partita (anche senza saperlo). A volte alcuni sviluppatori alzano di proposito la latenza dell'host stesso per non penalizzare eccessivamente il gameplay degli avversari connessi.
Nonostante questo, le conseguenze possono essere fuorvianti quanto evidenti, come nel video qui sotto:
Conclusioni: quanto è onesto l'online gaming?
Una cosa che abbiamo imparato da questi test è che ci troviamo di fronte a un autentico miracolo se il multiplayer su console moderno è così giocabile, sopratutto considerando le latenze fluttuanti e tenendo in considerazione la sofisticazione delle tecnologie di predizione così come le vediamo a schermo oggi.
Ma il dubbio sulla trasparenza rimane: all'utenza console non vengono date molte informazioni su quanto sia performante o meno la loro sessione di gioco: certo, il matchmaking cerca sempre di mettere tutti nelle migliori situazioni possibili, ma la probabilità di finire su un server lontano in cui soffriremo di ampie latenze è comunque elevata. Sopratutto, il giocatore medio non si rende conto di quale sia la differenza di prestazioni tra una connessione a cinque o tre tacche.
Nei nostri test il responso è molto chiaro: in Modern Warfare 3, in caso di un classico faccia a faccia in stile far west, trovarsi dalla parte sbagliata è sufficiente per essere abbattuti senza nemmeno sparare un colpo mentre invece, dalla nostra prospettiva, avevamo effettivamente risposto al fuoco. Quindi cos'è accaduto al bastardo che pinga meno di tutti sul server? Beh, i tempi delle connessioni analogiche nettamente più lente delle ISDN/T1 su architettura client/server sono fortunatamente un ricordo del passato, visto che la tecnologia ADSL ha livellato le prestazioni per tutti.
Nonostante questo, l'architettura multiplayer scelta per un gioco, la locazione geografica e la qualità della nostra connessione con l'ISP possono ancora avere un impatto sostanziale sul gameplay, al contrario di quando si prepara una partita privata con amici dotati di ottime connessioni e tutti presenti nella nostra zona geografica.
Nella stragrande maggioranza dei casi ci troviamo di fronte a una vera e propria lotteria senza garanzie che, a meno di non avere una riprova concreta della qualità della connessione come avviene su PC, consiglia di impugnare il joypad solo quando la connessione è (teoricamente) al massimo livello qualitativo.
Rimane sicuramente la necessità di migliorare il modo in cui queste informazioni arrivano al giocatore poiché la vera natura del problema coinvolge la percezione della fluidità dell'azione a schermo e non anche di cosa si perde nel tragitto di andata e ritorno dalla nostra console al server.
Traduzione a cura di Matteo "Elvin" Lorenzetti.