View Single Post
Old 08-11-2013, 10:42   #46
Vinnie
Senior Member
 
L'Avatar di Vinnie
 
Iscritto dal: Oct 2001
Città: Bolzano
Messaggi: 3717
Quote:
Originariamente inviato da Demianz Guarda i messaggi
Siete sicuri che con ping basso si vada peggio? Perchè succede questo?
Io di solito nei server pingo intorno a 20-30...nei server italiani sotto il 10. Cosa ci perdo?
E' a causa del netcode usato.
Normalmente in un fps viene usato un netcode che registra gli eventi (quindi anche la hit registration) a livello server.
Il server calcola tutto: il calibro dei proiettili, il drop down, il rateo, le cannonate, la distruzione, i missili tv.... TUTTO insomma.
Ne viene da se che il server dovrà essere ben carrozzato per calcolare tutto sto casino per 64 giocatori.
Se il server non è ben carrozzato potrebbe perdersi dei dati: vedi BC2 e BF2, i colpi che non entrano. Tu spari, vedi che colpisci l'avversario, ma questo in realtà non avviene perchè il server non ha registrato il colpo.
Di contro meno pinghi, più sei avvantaggiato, trasmetti i dati al server prima degli altri. Di buono è che se uno pinga alto, più adattarsi, così come si è sempre fatto fino all'arrivo di BF3 (parlo ovviamente SOLO della serie BF).

Con BF3 han deciso di cambiare le cose a metà sviluppo.
Han deciso quindi (dalla beta in poi) di spostare la hit registration a livello client creando un ibrido client/server.
Ora è il client che fa (quasi) tutto, calcola balistica, fisica ecc.
Il server si scarica di informazioni, può essere hostato su macchine meno performanti (ad esempio tutti i server italiani sono hostati su degli Atom ).
Qui sorge il vero problema.
Supponiamo che il mio ping si attesti sui 10ms e il tuo sui 100ms.
Ci troviamo uno di fronte all'altro e iniziamo a spararci.
Io mando l'informazione 90ms prima di te.
Per bilanciare le cose han deciso di inserire una latency compensation a 50ms.
A questo punto il server controlla le due azioni, fa i suoi calcoletti inserendoci anche l'interpolation time e può giungere a due conclusioni.
1. io perdo e tu vinci. Cosa vedo io? Io vedo che ti scarico addosso un caricatore intero, tutti a segno, ma poi mi arriva un sol colpo e muoio. Cosa vedi tu? Tu vedi che mi hai sparato almeno un mezzo caricatore e io non ho sparato nessun colpo e muoio.
2. io vinco e tu perdi. Cosa vedo io? Vedo che ti scarico mezzo caricatore e muori senza che tu possa sparare nemmeno un colpo. Cosa vedi tu? Vedi che mi scarichi un caricatore senza efficacia e non muoio. Poi magari ti sposti dietro un riparo e crepi dietro ad un muro.

Qui due video abbastanza eloquenti.
Il primo è morte dietro ai muri (ping alto).
Il secondo è instant death (ping basso).

Entrambi sono fatti su BF3, ma il netcode è il medesimo di bf4, anche se ora dicono di aver messo un doppio controllo sui colpi messi a segno e ricevuti.

http://www.youtube.com/watch?v=_p933kkTUNs

http://www.youtube.com/watch?v=Hb4amtNrkQA

Ultima modifica di Vinnie : 08-11-2013 alle 10:48.
Vinnie è offline   Rispondi citando il messaggio o parte di esso