Guter Beitrag Uruk!
Ein paar Anmerkungen von mir.
Zitat:
Zitat von Sir Uruk.Inc "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. |
Die Probleme werden nicht nur durch Latenz (Ping) und Updaterates (10/30Hz) verursacht. Es spielen auch noch etliche Bugs eine erhebliche Rolle im Gesamtbild.
"just increase the tickrate!!!!!!!" - das fordern viele Spieler.
Abgesehen von den Bugs gibt es aber noch ein Problem. Und das ist die "Simulation Rate".
BF4
(so wie alle anderen Frostbite Engine Titel) simulieren die Spielwelt mit 30 Ticks pro Sekunde.
Würde man die Updaterate(s) nun auf über 30 anheben, müsste man auch die Simulationrate anheben. Und da ist dann Ende Gelände.
Macht man das, spielen einige andere Systeme verrückt, da die Timings an die "30"er Tickrate gehängt sind.
Z.b. gehen die MCOM's viel schneller ab. Denn "15 Sekunden" sind plötzlich nicht mehr "15 Sekunden" wenn die Simulation Rate über 30 liegt.
Laut Hattiwatti, NoFaTe und Kiwidog sieht man dem Code von BF4 sehr stark an unter welchen Zeitdruck da bis zur letzten Minute noch Features eingebaut wurden.
Das ist nicht nur einer der Gründe für den miserablen Zustand von BF4 zu Release, sondern auch für die Teils wirklich abstrusen Bugs. Der Code ist alles andere als sauber und nachvollziehbar - dank der viel zu kurzen Entwicklungszyklen von BF3&4.
Jetzt schimpfen viele über die Frostbite Engine -
"WAS FÜR SCHEIß!"
Der Schluss liegt nahe dass die Engine die Wurzel allen Übels ist.
Das stimmt so jedoch nicht. Denn die Engine selbst ist sehr leistungsfähig. Das ganze drum herum, und oben drauf, das DICE in den letzten 4 Jahren unter Zietdruck dran getackert hat, das ist es das die ganzen Fehler verursacht.
Zitat:
Zitat von Sir Uruk.Inc 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. [/color] |
Das absolute Minimum wäre es die Updaterates synchron zu setzen 30/30.
Ideal wären Tickrates von 60/60 und die Option für Serverbetreiber gegen Entgeld noch höhere Rates zu setzen.
"Aber das geht nicht, die Internetleitungen/Server sind nicht stark genug!"
Das habe ich schon oft gehört. Das kann aber nur von Leuten kommen die sich nie angesehen haben wieviel Bandbreite BF4 wirklich benötigt.
Tut man das findet man heraus dass BF4 im schlimmsten Fall einen Upload von 4.8kB/sec und einen Download von 14.9 kB/sec hat.
Ja es ist wirklich so wenig.
Battlefield 2 benötigt nicht viel weniger Bandbreite (10 kB/sec / 3.5kB/sec), und das Spiel ist 9 Jahre alt.
Wen es interessiert der kann sich die 3 Videos ansehen die ich zu dem Thema gemacht habe:
Eines vorab. Aufgrund von der vorhandenen Informationslage zum Zeitpunkt der Erstellung der ersten 2 Videos, spreche ich fälschlicherweise von einer 10Hz Updaterate des Clients zum Server.
Das habe ich im 3. Video mit weiteren Details dann richtig gestellt. An der Richtigkeit der Beispiele und des Gesamtproblems, ändert das aber nichts