18/10/2017

Blog di sviluppo: abuso del ping, vantaggio per chi sbircia da un riparo e prossime fasi

Abbiamo monitorato i feedback della community riguardo all'abuso del ping, alla latenza e al vantaggio per chi sbircia da un riparo. Oggi spiegheremo cosa sono questi fenomeni, come influenzano l'esperienza di gioco e cosa stiamo facendo per risolverli.

Prima di trattare nel dettaglio il fenomeno della latenza, è importante capire che la filosofia di progettazione di Rainbow Six Siege ruota intorno al fatto che la riproduzione per il giocatore e la conferma di un colpo andato a segno dovrebbero favorire chi dispone di una connessione più veloce e stabile. Per questo continueremo a migliorare tutti i nostri sistemi per offrire ai giocatori con ping bassi e stabili la miglior esperienza di gioco possibile, pur mantenendo il gioco accessibile anche agli utenti con ping più elevati.

Ping elevato e vantaggio per chi sbircia da un riparo

La riproduzione, o replica, è il processo tramite il quale una sequenza di movimenti e azioni compiuta da un giocatore viene replicata su un computer remoto, come per esempio un server di gioco. Si può pensare alle repliche come a dei "fantasmi" che seguono i giocatori, rappresentandone lo stato dal punto di vista del server. Per esempio, se avete un ping di 200 millisecondi, il vostro "fantasma" si trova nello stato in cui vi trovavate 100 millisecondi prima sul vostro computer (il ping, infatti, rappresenta la misura di un viaggio di andata e ritorno). Maggiore è il ping, più distante nel passato è il "fantasma" rispetto al giocatore.

Tuttavia, quando si sbircia da un riparo, un ping più elevato non comporta un intervallo di tempo maggiore per reagire e sparare prima di diventare visibili agli altri giocatori. Il motivo è che tutti i colpi devono essere convalidati dal server, quindi l'eventuale incremento di tempo varrà anche per i vostri colpi, che devono "raggiungere" il server.

Il "vantaggio per chi sbircia da un riparo" deriva dell'utilizzo dei "fantasmi". Tuttavia non è possibile rimuovere il meccanismo dei "fantasmi", altrimenti tutti i movimenti dovrebbero prima essere convalidati dal server per potersi verificare anche sul client, e questo comporterebbe un maggior ritardo nei comandi (equivalente al proprio ping). Ciò sarebbe contrario alla nostra filosofia di progettazione, che vuole i comandi quanto più reattivi possibile. Tuttavia, a differenza di quanto si crede comunemente, il vantaggio per chi sbircia da un riparo dipende solo dalla velocità di connessione della vittima e non da quella di chi sbircia

Una volta che chi sbircia da un riparo diventa visibile, il tempo massimo a disposizione della vittima per sparare e avere la meglio è quella che noi definiamo "finestra di opportunità". Il vantaggio per chi sbircia da un riparo deriva dal fatto che tale finestra è sempre più breve del tempo di reazione di chi si sporge.

Finestra di opportunità = tempo di reazione di chi sbircia – ping della vittima (tempo di elaborazione incluso)

Nella clip seguente, mostriamo la differenza quando la vittima (il giocatore 2) ha un tempo di reazione più breve (150 millisecondi) di chi sbircia da dietro un riparo (giocatore 1, tempo di reazione di 300 millisecondi). Come potete notare, il ping più elevato del giocatore 1 non ha alcuna influenza sull'esito dello scontro a fuoco: con l'aumentare del ping non aumentano le opportunità di vittoria. Il giocatore 1 ha avuto la possibilità di sparare, ma nel frattempo la vittima aveva messo a segno un colpo alla testa già convalidato dal server, per cui il colpo del giocatore 1 è stato rifiutato e il giocatore è morto.

Nel video che segue, invece, mostriamo come il ping della vittima influenzi l'esito dello scontro. Mantenendo invariati i tempi di reazione (150 millisecondi per la vittima, 300 millisecondi per chi si sporge), abbiamo progressivamente incrementato il ping della vittima, lasciando invariato quello di chi sbircia (impostato su un valore intenzionalmente alto, 400 millisecondi). Con l'incremento del ping, la vittima vede la propria finestra di opportunità progressivamente ridursi. La vittima può vincere lo scontro solo se ha un ping basso (50-100 millisecondi), mentre comincia a perdere non appena il ping diventa più alto (200 millisecondi).

Abbiamo creato la seguente immagine per rappresentare visivamente quanto mostrato nei video senza lasciarsi distrarre dalle immagini di gioco. Sono visibili la cronologia delle azioni, l'ordine di accettazione degli input da parte del server e l'influenza della latenza su queste due fasi.

Peek1

L'immagine sopra dimostra come il tempo di reazione di chi sbircia viene preservato sul server prima e sul client della vittima poi, anche se chi sbircia da un riparo ha un ping più elevato.

Peek2

L'immagine sopra dimostra l'impatto del ping della vittima sulle sue probabilità di sopravvivere. La vittima deve sparare all'avversario prima che il colpo di chi sbircia raggiunga il server, e questo è possibile solo sparando all'interno della finestra di opportunità, che non è influenzata dal ping di chi sbircia. Una volta ufficialmente morto per il server, tutte le azioni successive della vittima vengono rigettate. Questo esito è in linea con la filosofia di progettazione del gioco menzionata all'inizio dell'articolo, secondo cui bisogna privilegiare i giocatori con la connessione più veloce e più stabile.

Prossime fasii

A partire dai rinforzi di metà stagione della stagione 3 anno 2, implementeremo le seguenti modifiche al modo in cui il gioco gestirà la latenza, l'elaborazione e le convalide dei colpi, questioni sulle quali continueremo comunque a lavorare anche nelle prossime stagioni.

Allineamento della latenza

L'allineamento della latenza è una modifica che consentirà al server di replicare con maggior precisione il tempo di reazione di un tiratore con una connessione instabile. Se un giocatore invia aggiornamenti sulla propria posizione con frequenza irregolare, il server regolerà il tempismo dei messaggi di colpi in entrata per farli corrispondere meglio alla propria rappresentazione dei comandi di quel giocatore. Sebbene si tratti di millisecondi, il risultato finale consiste in una finestra di opportunità più ampia quando si affrontano giocatori dalla latenza irregolare.

Fisica pawn-to-pawn

Abbiamo progettato un nuovo sistema di fisica pawn-to-pawn che dovrebbe risolvere i problemi legati ai giocatori che si teletrasportano dietro ai compagni con gli scudi (il problema era più frequente quando si bloccava una porta con Montagne).

Miglioramenti alla convalida dei colpi

Vogliamo ridurre il limite superiore per il valore di latenza richiesto affinché vengano avviati ulteriori passi per la convalida di un colpo. In un altro articolo parleremo più diffusamente di queste prossime fasi e di come influiranno l'esperienza di gioco.

Miglioramenti alla riproduzione

Stiamo anche ottimizzando le riproduzioni delle azioni. Il risultato sarà un'esperienza di gioco più reattiva per tutti i giocatori e una riduzione della latenza.

Ritardo per l'elaborazione + ping

Attualmente, il valore del ping mostrato nei menu include il ritardo dovuto all'elaborazione. Ciò può rivelarsi fuorviante, poiché basta eseguire il gioco con un framerate più veloce per visualizzare un valore di ping più basso. Per questo motivo rimuoveremo il ritardo per l'elaborazione dal valore del ping. Sebbene si tratti di una modifica di natura esclusivamente cosmetica, senza alcun impatto sull'esperienza di gioco, il valore mostrato costituirà una rappresentazione più precisa della velocità di connessione con il server.

Icone di connettività

Stiamo implementando una serie di modifiche che aiuteranno il giocatore a monitorare lo stato del client, del server e della connessione di rete.

Dopo questa modifica, nell'angolo in alto a destra dello schermo potranno apparire fino a quattro icone, indicanti (da sinistra a destra) la qualità dell'esperienza di gioco in termini di ping, stabilità della connessione, frequenza d'aggiornamento e stabilità dell'host.

Peek1

Quando uno di questi parametri si riduce eccessivamente rischiando di influire negativamente sull'esperienza di gioco, la relativa icona apparirà sullo schermo per avvisare il giocatore, che in questo modo potrà contare su una rappresentazione più precisa dello stato della propria connessione, al di là del semplice ping. Ciascuna icona potrà apparire di colore giallo o rosso: le soglie di attivazione potranno essere modificate in qualsiasi momento dalla squadra degli sviluppatori, quindi i valori presentati sotto servono solo a dare un'idea delle impostazioni attuali.

  • Icona della latenza: questa icona appare quando il ping è elevato. Se l'icona è gialla, allora il valore è sufficientemente elevato (ping pari a 100-140 millisecondi) da far attivare sul server i passi di convalida ulteriori. Questi passi ulteriori entrano in gioco nell'elaborazione dei colpi per determinare se sono andati a segno o meno. Potreste notare la mancata registrazione di alcuni colpi. Avere un ping elevato significa anche potersi trovare in situazioni spiacevoli, come morire anche se siete dietro un riparo. Se l'icona è rossa, il ping è troppo elevato (intorno ai 400-500 millisecondi). Se il ping si mantiene a questi livelli troppo a lungo, il giocatore può anche essere espulso dal server. Quando appare l'icona della latenza rossa, quasi tutti i colpi del giocatore saranno rigettati dal server. Ciò è voluto.
  • Icona della connessione: questa icona appare quando si verifica una perdita di pacchetti di dati o una fase d'instabilità nella latenza (per esempio, quando alcuni dei pacchetti di dati del giocatore vengono reindirizzati su un altro percorso di rete). Quando appare questa icona, il giocatore può notare il verificarsi dell'effetto elastico, la mancata registrazione di alcuni colpi da parte del server e una latenza indotta abnorme. La probabilità che si verifichino questi effetti aumenta quando l'icona è rossa.
  • Icona della frequenza d'aggiornamento: questa icona appare quando il framerate cala bruscamente, o è instabile, e il numero di pacchetti di dati inviati dal client al server non è sufficientemente elevato. Il giocatore può notare la mancata registrazione di alcuni colpi e una latenza indotta abnorme (tale latenza viene indotta dal server di gioco per impedire che gli altri giocatori vedano il vostro personaggio muoversi a scatti). Se l'icona è rossa, il giocatore può notare il verificarsi dell'effetto elastico.
  • Icona dell'host: questa icona appare quando il server sta avendo dei problemi e non è in grado di garantire la stabilità della simulazione. L'icona apparirà simultaneamente sugli schermi di tutti i giocatori connessi al server in questione, i quali potranno notare il verificarsi dell'effetto elastico, una latenza abnorme e la mancata registrazione di alcuni colpi. Se l'icona è rossa, tali problemi si verificano con frequenza ancora maggiore.

La maggior parte delle modifiche future comporterà un'esperienza di gioco meno confortevole per i giocatori con ping elevato, ma si tratta di un effetto voluto, poiché riteniamo che sia nell'interesse del gioco nel suo complesso.

Se volete condividere con noi le vostre opinioni sul contenuto di questo articolo, unitevi al Subreddit di Rainbow Six!

Visita gli altri canali social

facebook icontwitter iconyoutube icontwitch icon