Melde dich an, um diesem Inhalt zu folgen  
Folgen diesem Inhalt 0
Mithrim

Arena Commander Patch Update

ScreenShot0030.jpg

 

// Offizielle News: https://robertsspaceindustries.com/comm-link/transmission/14011-Arena-Commander-Patch-Update

 

 

Greetings Citizens,

 

letzte Woche berichteten wir über unsere Bemühungen, die in den aktuellen Arena Commander Modi auftretenden Lag- und "rubber banding"-Probleme zu lösen. Wie ihr wisst haben wir die Spieleranzahl mit Version 12.4 verachtfacht. Mit diesem bewussten Schritt haben wir uns gleichzeitig auch einer Vielzahl auftretender Fehler ausgesetzt die den Game Client, die Game Server sowie die Backend Infrastruktur betreffen und erst mit der Erhöhung der Spieleranzahl auftraten. Wir haben bisher wichtige Fortschritte erzielen können und sind in den 3 genannten Bereichen entschienden weiter gekommen, der Patch ist allerdings noch nicht bereit veröffentlicht zu werden. Diese Art des Testings ist genau der Grund warum wir uns für das offene Entwicklungskonzept entschieden haben. Diese Probleme jetzt aus der Welt zu schaffen bedeutet, sie später nicht mehr zu haben; ihr helft uns dabei sicherzustellen, dass spätere Updates und Module auf einer funktionsfähigen Umgebung aufbauen.

 

Mit Patch 12.5 wird allen Subscribern die Jukebox im Hangar hinzugefügt, sodass es sie ihn mit ihrer Lieblingsmusik beschallen können. Die Jukebox wurde zwar bereits dem Account gutgeschrieben, jedoch wird sie erst mit dem Patch im Hangar zu sehen sein. Zusätzlich haben wir diese Woche in "Around the Verse" über eine mysteriöse Vanduul Bedrohung gesprochen, die UEE Schiffe zerstört. Sie wird ebenfalls mit 12.5 hinzugefügt und wir ermutigen alle Citizens herauszufinden, um was es sich handelt - geht auf die Jagd!

 

Jukebox.jpg

Jukebox

 

Es gibt heute zwar keinen Patch, trotzdem wollen wir euch auf dem Laufenden halten, woran wir bisher gearbeitet haben und wie wir die Probleme angegangen sind. Das QA Team hat sich komplett mit den Lag-Problemen auf den Public Servern befasst. Wir wissen wie frustriert ihr seid, daher setzen wir auch alles daran dieses Problem zu isolieren und lokalisieren, sodass unsere Engineers es beheben können.

 

In Multiplayer von  Arena Commander erhält euer Client via des Servers Updates von Remote-Clients und, im Fall von Bewegung, euer lokales IFCS simuliert anhand dieser Daten die Physics sämtlicher Remote-Clients. Im Anschluss sendet euer Client dann Informationen aller Positions- und Orientierungsdaten der simulierten Remote-Clients an den Server. Der Server wiederum prüft diese Daten gegen die eigenen, bei uns erstellten Berechnungen, sowie den von den anderen Remote-Clients gemeldeten Simulationen. Gibt es Abweichungen, meldet der Server die korrekten Daten an den abweichenden Client und injected sie direkt in das Remote-IFCS sodass dieses die eigenen Kalkulationen korrigieren und die Position des Schiffs im Raum anpassen kann. Sollte die Abweichung zu extrem sein, sodass das IFCS die Korrektur nicht mehr fließend vorgenommen werden kann, wir das Schiff an die korrekte Position gewarpt und der Ablauf beginnt aufs Neue. Bei unseren Untersuchungen haben wir uns daher hauptsächlich darauf konzentriert herauszufinden, warum die Abweichung einzelner Remote-Clients manchmal so stark von den Server-Kalkulationen abweichen, sodass sie zwangsläufig zurück gewarpt werden. 

 

Zunächst untersuchten wir potentielle Zusammenhänge zwischen Loadbalancing der Game Servern und de, Auftreten der Lags. Hierzu nahmen wir einige Performance-Verbesserungen vor indem wir die Zahl der virtuellen Server auf einer physischen Maschine von 8 auf 2 reduzierten. Dies resultierte zwar in einer drastischen Abnahme des Netzwerkverkehrs sowie einer Minderung des CPU pegging, jedoch konnte es das Problem mit den Lags nicht beheben. Positiv ist jedoch, dass dieser Test zu mehr Stabilität führte und zu weniger CPU Spikes führt; Daher kommen unsere Anpassungen allen zugute.

 

Unser nächster Ansatz bestand dann darin, das Problem aus Sicht des Clienten zu betrachten. Wir erzeugten eine kontrollierte, neutrale Umgebung in der weder Waffen abgefeuert noch der Boost benutzt wurde. Dann erhöhten wir langsam die Spieleranzahl. Als wir bemerkten, dass dies keine Lags verusachte, erhöhten wir langsam die Anzahl der Variablen.

 

Waffenfeuer ohne Treffer verursachte keinerlei Probleme, doch sobald die Schiffe anfingen sich gegenseitig zu beschießen, begann das Lag-Fest und wir konnten erstmals auch "rubber banding" provozieren. Der erste Schritt war somit zwar getan, wir wollten es jedoch noch weiter eingrenzen.

 

Das Engineering-Team vermutete, dass der Energieabfall durch das Waffenfeuer und dem Verbrauch durch die Schilde Einfluss auf die verfügbare Energie der Thruster haben könnte. Es bestand der Verdacht, dass durch entstehende Lags oder CPU Spikes die den Thrustern tatsächlich zur Verfügung stehende Energie nicht korrekt von den Remote-Clients zum Server und somit auch nicht zurück zu euch weitergeben werden konnte und somit eine Abweichung der eigenen Simulation unumgänglich wird. Dies würde dazu führen, dass die Synchronisation der Thruster-Informationen unterhalb der Spieler nicht mehr gewährleistet wäre, was wieder zu sprunghaften Positionsanpassungen bei unvorhergesehenen Manövern führen würde. Das Engineering-Team stattete daher QA mit einer Version des Spiels aus, bei der eine größere Kontrolle über die Thruster möglich ist, um die Vermutung verifizieren zu können.

 

Als wir dann alle Thruster mit maximaler, kontanter Energie versorgten, konnten wir trotzdem noch die Probleme beobachten - zwar weniger, doch sie traten noch auf. Doch wir musste nicht mit leeren Händen abziehen, so war es uns möglich die Schildfunktionen zu optimieren und zukünftig Energiespitzen zu vermeiden; somit wurde der gesamte Code dahingehend stabiler..

 

Unser Network-Team analysierte derweil Paketgrößen und Bandbreitenprobleme. Zwar konnten sie ebenfalls einige Verbesserungen vornehmen, jedoch war es auch ihnen letztendlich nicht möglich das eigentliche Problem zu beheben.

 

Derzeit testen wir einige neue Änderungen der Server-Logs und wie Informationen gespeichert werden. Zuerst viel uns auf das einige unwesentliche Fehlermeldungen die Server-Logs fluteten und Grund einige Performanceeinbrüche verursachten, die ebenfalls Diskrepanzen in der Simulation verursachten. Daher haben wir Änderungen vorgenommen, die Spam in den Logs vermeiden wobei wir langfristig das Logging aus dem Hauptthread entfernen werden, sodass der Einfluss noch geringer wird. Auch diese Maßnahmen haben zwar einige Verbesserungen nach sich gezogen, jedoch ebenfalls das Problem nicht komplett eliminieren können. Was bleibt:  Serverstabilität und -performance sind nun besser.

 

Heute werden ein Build erzeugen bei dem wir die Verteilung der erzeugten Physik-Kalkulationen leicht verändern. Dies sollte dazu führen, dass alle Server und Clients besser synchronisiert bleiben und somit die Remote-Client, Server und Client-Kommunikation insgesamt verbessert wird; ebenso erhalten wir so die Möglichkeit besser korrigierend eingreifen zu können, ohne stets auf einen Warp setzen zu müssen.

 

Während ich dies schreibe haben wir eine neue mögliche Ursache für die teilweise schlechte Synchronisation im Multiplayer gefunden. Im Einzelnen geht es um die fehlerhafte Verarbeitung von Verbindungsabbrüchen. Hierum werden wir uns am Wochenende kümmern.

 

Die gute Nachricht ist, dass wir zwar einen Weg eingeschlagen haben der uns bisher noch nicht die Ursache für "rubber banding" gezeigt hat, wir jedoch trotzdem das Spiel an vielen Stellen verbessern konnten. Die Arbeit die wir bisher in 12.5 investiert haben wir daher nicht nur diesen einen Fehler beheben, sie verbessert die gesamte Arena Commander Erfahrung. Wir haben wie geplant trotzdem noch an weiteren Verbesserungen gearbeitet, diese sind wie folgt:

  • Beitritt in ein Spiel: Derzeit entsteht beim Verbinden in ein Spiel ein große Daten-Spitze in der Übertragung die zu Lags und Warping führen kann. Unsere Network-Engineers haben an einem Kompressionsverfahren gearbeitet, dass die Daten-Spitze um 40% reduziert. Man kann die aktuelle Bandbreitenauslastung im enthaltenen Datengraph beobachten.
     
  • Versuche einen vollen Server zu betreten: Es gibt derzeit eine Verzögerung bis ein Server angibt dass er voll ist. Das bedeutet dass ein Server theoretisch fast voll sein könnte und es trotzdem gestattet dass sich eine beliebige Anzahl an Spielern verbinden kann, obwohl nur noch für einen Platz ist; alle anderen werden zurück in den Hangar geleitet. Wenn Spieler das Match verlassen und der Server wieder den Status "fast voll" einnimmt, kann dieses Problem zu einem Dauerzustand werden. In Verbindung mit den Daten-Spitzen kann dies zu einem erheblichen Lag führen.
     
  • "kick back to hangar": Unser derzeitig implementiertes VOIP System hat sich zu allen Spielern verbunden, wurde jedoch nicht getrennt wenn ein Spieler unerwartet die Verbindung unterbrach. Dies war für einen Großteil der "kick back to hangar" Problemen verantwortlich. Hierfür haben wir ein Fix.

 

Ich möchte mich für eure Unterstützung beim Testing und dem gesamten Entwicklungsprozess bedanken, ihr habt uns bisher mit euren akribischen Berichten sehr weiterhelfen können und eure Arbeit ist wirklich wertvoll. Ohne euch würdeen wir niemals all diese Fehler in so kurzer Zeit finden können. Wir versuchen sie im Gegenzug so schnell wie möglich zu beheben und hoffen, dass wir sehr bald den Arena Commander Test auf alle Citizens ausweiten können. Wie ihr sehen könnt haben wir an allen möglichen Fixes gearbeitet, um den Multiplayer für alle zu verbessern; vom Client über die Server bis hin zu Infrastruktur, alles wird von dieser Arbeit profitieren. Wir werden euch auf dem Laufenden halten und nächste Woche berichten, wie es um Patch 12.5 steht. Wir werden ihn veröffentlichen sobald wir sicher sein können, dass die Verbesserungen an Arena Commander weit genug fortgeschritten sind.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!


Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.


Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  
Folgen diesem Inhalt 0