Einzelnen Beitrag anzeigen
Alt
17. April 2014, 12:59 - Onkel Uruk erklärt die Welt - Heute: Netcode
 #1 (permalink)
Sir Uruk.Inc ist gerade online  
Sir Uruk.Inc
Beiträge: 43.246
Artikel: 3015
 
Benutzerbild von Sir Uruk.Inc
Twitter Account von SirUruk Facebook Account von Sir Uruk.Inc Bad Company 2 Profil von Sir Uruk Battlefield 3 Profil von SirUruk Battlefield 4 Profil von SirUruk
Was ist Netcode?
Das ist Community-Sprech und bezeichnet einen ganzen Haufen Systeme, die dafür sorgen, dass alle Leute die gleichen Sachen erleben. Wobei das natürlich Unsinn ist: In jedem Multiplayer-Shooter sieht man die Dinge leicht verzögert.


Die Sache mit der Tickrate
Die Tickrate sagt, wie oft pro Sekunde Informationen vom Spiel zum Server und vom Server zum Spiel gesendet werden.
- BF4 sendet 30 Mal pro Sekunde Informationen darüber, was du machst (laufen, schießen, wen treffen etc.) an den Server.
- Der Server schickt 10 mal pro Sekunde alle gesammelten informationen darüber, was jeder macht, an alle Spieler.

Jetzt kann man sich als Mathematiker versuchen und nachschauen, was - wenn beide Spieler im Beispiel einen 30er-Ping haben... - im besten Fall und im schlimmsten Fall pasiert...

Bester Fall: Du schießst die Kugel ab und dein Datenpaket kommt beim Server an, direkt bevor ein neues Datenpaket vom Server an alle Spieler geschickt wird.
In dem Fall kriegt der Spieler nach etwa 0.07 Sekunden mit, dass er beschossen wird.
Schlimmster Fall: Du schießst die Kugel ab und das Datenpaket kommt direkt nachdem das Server-Paket verschickt wurde an.
In dem Fall kriegt der Spieler nach etwa 0.17 Sekunden mit, dass er beschossen wird.

Höhere Pings sind natürlich nicht gut...^^

Latency Compensation
Je weiter man sie aktiviert, desto flüssiger sieht das Spiel aus, wenn man einen miesen Ping hat. Das Spiel vermutet dabei einfach, was andere Spieler machen und zeigt dir - bis das nächste Datenpaket vom Server kommt - diese Vermutung, womit das Spiel flüssiger aussieht.

Was ist Packet Loss?
Wenn ein Datenpaket auf dem Weg vom oder zum Server verloren geht.

Jetzt mal die Topics, die immer wieder aufkommen...

"Ich werde getroffen, obwohl ich in Deckung bin!"
Der Server informiert dich, dass du getroffen wirst. Je nach Ping bekommst du die Infos aber mehr oder weniger verspätet - du wurdest vor dem Sprung in die Deckung erwischt, der Server informiert dich aber erst hinterher.

"Granaten und Ähnliches verschwindet beim Tod!"
Das liegt daran, dass der Server vor dir weiß, wann du tot bist. Alle Kugeln, Granaten oder sonstwas, was du danach abfeuerst, werden nicht weitergeleitet - du bist ja eigentlich tot und weißt es nur noch nicht.

"Ich bekomme ganz viel Schaden auf einmal!"
Das liegt am Packet Loss. Wenn ein Paket mit Infos auf dem Weg zu dir beschädigt wird oder verlorengeht (kann passieren...), dann leitet der Server im folgenden Paket für dich alle fehlenden Infos nach. Grade bei schnell feuernden Waffen kann man so sehr schnell und ohne Vorwarnung draufgehen.


Und...
Die 10er-Tickrate ist an sich zu niedrig. Es läuft zwar - aber es gibt immer wieder dumme Situationen. Mit schnelleren Servern - zum Beispiel 20er-Tickrate - würden sich die Beispielzeiten halbieren. In Deckung draufgehen wäre etwa sehr viel seltener.
_________________________________________________________________________________________

Admin || Mein Twitter || Meine Stats in BF2142 || Meine Stats in BC2 || Meine Stats in BF3 || Meine Stats in BF4
#BFS
Ein Uruk sie zu knechten, sie alle zu finden, ins Dunkel zu treiben und ewig zu binden.
Soon gibt es volles Pfund aufs Maul...