Tick Rate e Netcode: La tecnologia dei giochi multiplayer online

Sapete cosa sono il ping, il lag e perché rovinano quotidianamente le vostre partite? Ve lo spieghiamo noi insieme a speranze e obiettivi per il futuro.

speciale Tick Rate e Netcode: La tecnologia dei giochi multiplayer online
Articolo a cura di

In questo particolare periodo di isolamento forzato, la grande rete rappresenta una delle pochissime "vie di fuga" dalle misure contenitive adottate dal nostro paese e da molti altri per limitare gli effetti della pandemia globale. Una circostanza che, purtroppo per noi, ha dato forza a uno dei più grandi nemici del popolo videoludico, una minaccia sempre in agguato tra gli anfratti dell'etere, pronta a trasformare le nostre imprese digitali in un incubo traboccante di furiosi improperi: il lag.
L'inevitabile affollamento della rete ha infatti scatenato fenomeni di congestione sempre più marcati, con conseguenze decisamente spiacevoli sull'esito delle nostre sortite multigiocatore. Se le motivazioni di questa spiacevole congiuntura sono chiare e lampanti, per molti le variabili tecniche legate al gioco online risultano ben meno cristalline. Motivo per cui abbiamo pensato di offrirvi un approfondimento su tutti gli elementi coinvolti nel bilancio qualitativo di un'esperienza online, specialmente per quanto riguarda i titoli che richiedono grande precisione e una stabilità adamantina del netcode. Vi spiegheremo, in buona sostanza, perché in questi giorni state faticando più del solito a trattenere il flusso impetuoso delle vostre profanità preferite.

Orizzonti digitali e regole d'ingaggio

Il punto di partenza del nostro meraviglioso viaggio tra le maglie di quel labirinto di variabili noto come "gioco online" non può che essere il concetto di tick rate, uno dei cardini tecnici di qualsiasi produzione multiplayer. Per tick rate si intende la frequenza con la quale il server di un titolo invia ai diversi utenti (client) aggiornamenti sullo stato del gioco, in modo da offrire un'esperienza di gioco uniforme, che sia il più possibile coerente con quello che avviene sullo schermo di tutti i partecipanti di una sessione condivisa.

Questo vuol dire che se la frequenza dei fotogrammi prodotti dalla nostra macchina da gioco (il frame rate corrisponde in genere al numero dei pacchetti inviati al server per ogni secondo) è la stessa del tick rate, non dovremmo notare - almeno in linea teorica - problemi di lag o incongruenze tra la nostre azioni e le reazioni degli avversari, e viceversa. Tanto per fare un esempio, se in un FPS al vostro avatar capita di ricevere una sventagliata letale dopo aver raggiunto la sicurezza di una copertura, fuori dalla linea di tiro di un nemico, è molto probabile che il vostro decesso sia stato sentenziato dal calcolatore centrale qualche millesimo di secondo prima che le informazioni sulla vostra fuga precipitosa fossero effettivamente elaborate dal server.

Ogni gioco è un modo a parteSebbene tutti i giochi online seguano sostanzialmente le stesse regole di base, almeno dal punto di vista tecnico, è chiaro che elementi come il tick rate abbiano un peso molto maggiore nel quadro di titolo caratterizzati da un ritmo elevato e un forte accento sulla componente competitiva. Per questo motivo MMO come Final Fantasy XIV possono permettersi di mantenere frequenze di aggiornamento molto inferiori rispetto a quelle di un FPS, sebbene non sia scontato che la resa complessiva risulti, durante periodi di grande congestione, nettamente migliore rispetto alla media delle produzioni più frenetiche.

Incidenti di questo genere non dipendono però sempre ed esclusivamente dal tick rate, perché c'è almeno un altro fattore che entra in ballo quando si assiste a questo genere di fluttuazioni nella qualità dell'esperienza. Tenete a mente che, durante una partita online, il vostro schermo rappresenta una sorta di "finestra sul passato" del gioco, visto che il server prenderà atto delle vostre azioni solo dopo qualche istante, ovvero quando i pacchetti con le informazioni fornite dal client verranno ricevute e messe a sistema. Per questo motivo i server sono dotati di una funzione chiamata "lag compensation", che permette di bilanciare questa latenza interpretando le azioni passate di tutti i giocatori per determinare, ad esempio, se un colpo è andato effettivamente a segno.

Sparando a un nemico in corsa, l'azione occuperà il tempo di diversi "tick" di aggiornamento, e il sistema dovrà dunque occuparsi di esaminare tutti gli input forniti dalle parti in causa (spesso con frequenze diverse) per decretare l'eventuale successo dell'assalto, soppesando da una parte fattori come l'allineamento tra il mirino e l'hitbox, e dall'altra velocità di movimento e traiettoria della corsa. Un'impresa tutt'altro che semplice, specialmente se si considera che il server non "legge" l'azione come un flusso uniforme, ma come una serie di dati estrapolati da singoli frame divisi da diverse frazioni di millisecondo.

Per evitare che il giocatore percepisca il gioco in questo modo, come una serie di rapide diapositive, il client si occupa poi di mantenere la fluidità del gameplay con una tecnica chiamata interpolazione, che aggiunge al gioco dei frame "artificiali" creati in base alle informazioni effettivamente scambiate col server. A questo punto appare chiaro come un maggior tick rate sia in genere sinonimo di una migliore esperienza competitiva, e non a caso titoli come il recente Valorant hanno optato per una frequenza di aggiornamento a 128 Hz, la stessa del celebre Counter Strike: Global Offensive e circa il doppio rispetto a quella di Overwatch.

Tutti gli elementi presi finora in considerazione confluiscono nella definizione di "netcode", termine generale che descrive il risultato del lavoro svolto dai programmatori nel costruire un'offerta multigiocatore. Se queste sono le principali variabili coinvolte nel bilancio qualitativo di un gioco online, almeno in termini puramente teorici, nella realtà dei fatti esistono altri fattori da tenere in considerazione, sui quali i team di sviluppo non hanno alcun controllo.

La strada verso la rete è lunga e lastricata di minacce

Uno di questi è sicuramente il ping, acronimo che descrive il tempo necessario perché un pacchetto di dati inviato dal nostro computer raggiunga il dispositivo di rete più vicino (quello del nostro provider) e ritorni indietro. Si tratta in sostanza dell'unità di misura base dell'efficienza della nostra rete, specialmente quando si parla di gioco online: come intuibile, più alto è questo valore, peggiori saranno le prestazioni della nostra connessione.

Bisogna poi considerare un altro fattore determinante, che risulta particolarmente significativo in questo periodo di isolamento forzato, ovvero la congestione della rete. Visto che internet non è altro che una colossale ragnatela di dispositivi interconnessi, che in ogni momento devono gestire quantità colossali di pacchetti provenienti da decine di migliaia di utenti, può succedere che la quantità dei dati da instradare (condurre verso la destinazione finale attraverso molteplici passaggi) sia così abbondante da creare vere e proprie code.

Quando questo avviene - sempre nello spazio di millesimi di secondo - capita che alcuni pacchetti raggiungano la meta con un certo ritardo o che vadano persi. A questo proposito non si possono poi trascurare i limiti tecnologici di alcuni snodi "fisici" dell'infrastruttura di rete, specialmente in un momento in cui i provider non possono fare a meno di utilizzare ogni risorsa a disposizione. Può quindi accadere che i nostri pacchetti passino attraverso un dispositivo obsoleto o con difetti di vario genere, con conseguenze tutt'altro che rosee per l'esito della trasmissione.

Va da sé che, allo stato attuale, i problemi di congestione non riguardano esclusivamente i nostri gestori di rete, ma più in generale tutti gli attori coinvolti in uno specifico scenario di utilizzo. Giocando ad esempio a Call of Duty: Warzone su PS4, dovremo fare i conti con le prestazioni del nostro network personale (eventuali download in corso, saturazione dovuta a diversi dispositivi connessi, ecc.), con quelle del provider e dei server di gioco, e perfino con gli eventuali tentennamenti di PSN. Una trafila che, nel peggiore dei casi, potrebbe mettere a dura prova il nostro contegno con una serata tutta lag e imprecazioni, a prescindere dalle abilità battagliere dimostrate sul campo. A questo punto sorge spontanea una domanda: "ora come ora si può fare qualcosa per migliorare la situazione?". La risposta è no, o meglio, non proprio.

Fatta eccezione per una manciata di buone pratiche (limitare al minimo il traffico sulla nostra rete personale, utilizzare connessioni cablate, dotarsi di un buon router), l'unico consiglio che possiamo darvi è quello di evitare le ore più trafficate e dotarvi di pazienza. D'altronde si tratta di un problema con un'importanza molto relativa nel quadro generale, che potreste tamponare con contributo di un mostro ancor più spaventoso. Sì, stiamo parlando del vostro chilometrico backlog, la bestia ammantata d'ansia che tutti i giorni vi lancia occhiatacce dallo scaffale, fisico o digitale che sia.
È finalmente giunto il tempo di sconfiggerla.