Liebe Leute gebt gut Acht, der Shoggy hat was mitgebracht ;D
Zur Einleitung solltest ihr euch
dieses Video ansehen.
Das Gezeigte kennt wohl jeder bzw. erst jetzt wird es euch richtig bewusst.
Das Problem an sich ist schnell erklärt. Was man auf dem eigenen Bildschirm sieht stimmt nicht mit dem überein, was der Server gerade berechnet. Dafür verantwortlich ist der eigene Client doch zum Glück kann man da eingreifen ;D
BF2 sieht standardmäßig einen Ping von 100ms vor und gibt auch für andere Berechnungen grosszügige Limits vor.
Der simple und völlig legitime "Trick" liegt jetzt darin, diese Werte den eigenen Bedürfnissen anzupassen.
Hierzu sucht man sich im Hauptordner(!) unter ...\Battlefield 2\mods\bf2\Settings die Datei UserSettings.con. Falls diese nicht exisitiert legt man sie einfach mit einem Editor an und lässt BF2 kurz laufen. Spätestens danach sollte folgendes zum Vorschein kommen.
rem
rem Settingsfile automatically saved by bf2
rem
SettingsManager.boolSet GSClPunkBuster 1
SettingsManager.floatSet GSDefaultLatencyCompensation 0.100000
SettingsManager.boolSet GSExtrapolateFrame 0
SettingsManager.U32Set GSExtrapolationTime 1200
SettingsManager.U32Set GSInterpolationTime 100
SettingsManager.U32Set GSPerfLogAtPlayerCount 30
SettingsManager.stringSet GSPlayerName "nickname"
SettingsManager.boolSet GSShowNetGraph 0
SettingsManager.boolSet GSUseObjectCache 1
Die drei interessanten Werte sind farbig hervorgehoben.
GSDefaultLatencyCompensation
Dieser Wert scheint wohl der interessanteste zu sein. Er dient als Ausgleich damit, dass, was man auf dem Bilschirm sieht, auch mit dem, was auf dem Server berechnet wird, (halbwegs) übereinstimmt.
Schiesst ihr z.B. auf einen Gegner ist dieser in Wirklichkeit eigentlich schon ein ganzes Stück weitergelaufen und genau das wird hierdruch ausgeglichen.
Im Idealfall würde man hier seinen eigenen Ping zum Server einsetzen aber ich habe den Eindruck leicht höhere Werte sind genauer. Wer mit Vsync spielt und evtl. auch noch Triple Buffering verwendet sollte bedenken, dass das Bild um ein oder zwei Frames verzögert ausgegeben wird. Bei 60Hz könnten das also im ungünstigsten nochmal bis zu ~33ms sein.
Wer einen Ping von z.B. 30ms hat würde dort 0.030000 eintragen. Wer wie ich mit 20er Ping samt Vsync und Triple Buffering zockt würde etwas um die 50-60ms nehmen. Aus eigener Erfahrung kann ich auch sagen, dass mir dieser Wert (für mich) auch am besten vorkam.
GSExtrapolationTime
Dieser Wert wie auch der Dritte laden überwiegend zum Experimeniteren ein da deren Einfluss noch nicht ganz klar ist. Theoretisch beschreibt die Extrapolation die Wahrscheinlichkeitsberechnung auf Grund des letzten Datenpakets. Es wird gemutmaßt, dass der Client in dem Falle hier bis zu 1,2 Sekunden extrapolieren kann falls keine Datenpakete mehr ankommen. Über den Zeitpunkt hinaus bleibt der Spieler stehen.
Würde also jemand vor euch laufen und es kommen keine frischen Daten mehr, dann würde er auch noch bis zu 1,2 Sek. weiterlaufen und dann stehen bleiben.
Da man in BF2 allerdings mitunter auch recht zügig seine Position verändert, kann so eine Berechnung ganz schnell in die völlig falsche Richtung gehen.
Wie gesagt lädt der Wert zum Experimentieren ein. Empfehlungen kann ich keine geben.
GSInterpolationTime
Auch hier ist wieder Experimentieren angesagt wobei die Definition schon eindeutiger ist. Es wird zwischen zwei bekannten Positionen interpoliert.
Steht ein Spieler zu Anfang bei Ausgansposition 0 und 20ms später an Position 10, kann man davon ausgehen, dass er nach 10ms bei Position 5 war.
Ein gernigerer Wert scheint die Genauigkeit der Bewegung des Spielers zu eröhen, aber gleichzeitig fangen die Modells an zu ruckeln da man keinen Spielraum für Zwischenberechnungen lässt.
Ich für meinen Teil bevorzuge einen niedrigeren Wert um die 40 herum. Es gibt auch gänzlich gegenteilige Stimmen, die auf höere Werte schwören. Allem voran sei hier die 400 erwähnt. Letzteres habe ich allerdings noch nicht ausprobiert.
---------------------------------------------
Ausschalggebend ist wohl in erster Linie die Sache mit der Latency. Die beiden anderen Werte scheinen nicht unbedingt einen all zu großen Einfluss zu haben da sie auch mehr auf Wahrscheinlichkeiten abzielen.
Ich für meinen Teil spiele aktuell mit der Kombination 0.050000 / 800 / 40 und würde schon behaupten, dass es besser geht. Das merke ich vor allem als Sniper da ich jetzt wesentlich besser sich bewegende Spieler erwische.
Probiert es einfach mal aus