7.7.2017

Operation Health: Diagnose: Hibanas Komplexität

Mit höchst konzentrierter Arbeit haben wir es endlich geschafft, nahezu alle Fälle, in denen Hibanas Gerät nicht funktioniert, zu finden und die Fehler zu beheben. Mit der Titelaktualisierung 2.1.1, die am 11. Juli für allen Plattformen erscheint, werden Hibanas X-KAIROS-Sprengladungswerfer zuverlässiger funktionieren.

Der Fall: Hibanas einzigartiges Design

Vor dem Start von Operation Health haben uns Berichte erreicht, die Probleme mit der Konsistenz von Hibanas X-KAIROS-Sprengladungswerfer betrafen. Nachdem wir die Gründe für diese Probleme untersucht hatten, stieß unser Team auf grundlegende Fehler beim Aufbau von Hibanas Gerät. Wir mussten das Handling ihrer Geschosse überarbeiten. Wir sprachen mit Animation Programmer Alex Busby, der sowohl das ursprüngliche Konzept für Hibanas Mechaniken als auch die neue Lösung, die hoffentlich endgültig alle Probleme löst, definiert hat.

Zunächst sollten wir uns einige Details ansehen, die Hibana von anderen Operator-Kollegen unterscheidet, und dann können wir erklären, wie das Konzept, das wir bei der Umsetzung ihres einzigartigen Designs verwendet haben, zu den Problemen führte, auf die ihr vielleicht auch gestoßen seid. Hibana benutzt ihr Gerät, um sechs X-KAIROS-Ladungen abzufeuern, die auf ihren Befehl gezündet werden. Um Hibana zu erschaffen, hat das Team einzelne Netzobjekte für ihren Körper, ihr Gerät (den Werfer) und jede einzelne X-KAIROS-Ladung erstellt – kein anderer Operator verfügt über so viele gleichzeitig aktive Netzobjekte.

„Obwohl wir mit Ash einen ähnlichen Fall haben, gibt es hier zum ersten Mal mehrere Phasen, in denen man mehrfach schießen kann, mehrere Ladungen und mehrere Phasen, in denen man weitere Ladungen abfeuern oder andere hochjagen oder nachladen kann.“ – Alex Busby, Animation Programmer

Was genau sind Netzobjekte? Damit wir Ereignisse in einem Match verarbeiten können, müssen wir sie aufspalten und, sofern nötig, ungeordnet akzeptieren. Damit all das funktioniert, weisen wir einigen dieser Prozesse verschiedene Autoritäten zu, um sicherzugehen, dass für alle Spieler alles wie erwartet abläuft – diese nennen wir „Host Authority“ und „Local Authority“. Im Wesentlichen haben wir sowohl auf dem Server als auch auf dem lokalen Gerät eines jeden Spielers eine Zeitachse der Ereignisse aus jedem Match – sollte es eine Unstimmigkeit zwischen den Geräten geben, priorisiert die Host Authority die Serverinformationen, während die Local Authority die Informationen des lokalen Gerätes (eurer Konsole oder eures PCs) priorisiert. Im Allgemeinen gehen diese Kalkulationen und Vergleiche so schnell vonstatten, dass das menschliche Gehirn keine Diskrepanzen erkennen kann.

Das Problem: Diskrepanz zwischen Host Authority und Local Authority

Bei Hibana mussten wir eine Menge Ereignisse verfolgen, die gleichzeitig für diesen einen Operator ablaufen – sie hat ihren Werfer, der Nachrichten an den Server schicken kann, die besagen, wann er abgefeuert wurde, auf welcher Flugbahn er sich befindet und zu welcher Zeit er nachgeladen werden kann. Außerdem ist da noch ihre Position in der Welt, die überwacht werden muss, falls sie von einem anderen Spieler gesehen oder angegriffen wird. Und zu guter Letzt gibt es bis zu sechs X-KAIROS-Ladungen, die Meldungen bezüglich ihrer Position und ihres Aktivierungszustandes übermitteln. Um all diese Dinge richtig im Auge zu behalten, haben wir ihnen allen jeweils ein Netzobjekt zugewiesen, um diese Informationen an den Server weiterzuleiten.

Nachdem wir Hibana veröffentlicht hatten, bemerkten wir allerdings, dass unser Server nicht mehr voll in der Lage war, all die Informationen zu verarbeiten, die ihre verschiedenen Netzobjekte senden. Hibanas Werfer feuerte beispielsweise sechs Ladungen, aber der Informationsfluss wurde teilweise von der extrem hohen Latenz (Lag) oder anderen schlechten Netzwerkbedingungen unterbrochen. Infolge des Durcheinanders beim Datenaustausch gibt es viele verschiedene Kombinationen, die dazu führen können, dass Hibanas Gerät nicht korrekt funktioniert, und vieles hat damit zu tun, ob wir den diversen Schritten eine Host Authority oder eine Local Authority zugewiesen haben.

Die Lösung: Optimierte Netzobjekte

Nach Monaten harter Arbeit haben wir die Handhabung von Hibanas Netzobjekten vereinfacht. Wir haben damit begonnen, die Gesamtzahl der Netzobjekte zu reduzieren, die wir überwachen müssen. Damit reduzieren sich die potenziellen Konflikte zwischen den Zeitachsen der Host Authority und der Local Authority und so umgehen die Spieler die Komplikationen, die das Ergebnis einer Desynchronisation der beiden waren.

„Die Fehlerbehebungen, die wir vorgenommen haben, haben viele Dinge in Richtung der Host Authority verschoben. Gleichzeitig haben wir versucht, möglichst viel von der Reaktivität und Ansprechbarkeit beizubehalten. Das war der Hauptfokus dieser Fehlerbehebungen. Wir haben herausgefunden, wo etwas schieflaufen oder asynchron ablaufen kann, und wir haben das Gerät mehr und mehr in Richtung der Host Authority bewegt.“ – Alex Busby, Animation Programmer.

Außerdem sind wir akribisch die Szenarien durchgegangen, in denen wir andere Fehler vermutet haben – etwa bei der Ladungsplatzierung und im visuellen Bereich – und haben diese ebenfalls behoben. Mehr Details zu den gesamten Fehlerbehebungen bezüglich Hibana erhaltet ihr in den Patch-Hinweisen zur Titelaktualisierung 2.1.1, die am Montag, 11. Juli veröffentlicht wird.

Die Veränderungen werden nicht nur Hibanas Gameplay verbessern, sondern eröffnen uns auch die Möglichkeit, eine größere Vielfalt künftiger Operator einzuplanen, die über ein ähnliches Geräte-Verhalten verfügen werden.

Wir hoffen, dass wir euch hier vermitteln konnten, wie tief die Probleme mit Hibana gingen und warum wir unsere Kräfte während Operation Health darauf ausrichten mussten, sie zu beheben.

Vielen Dank für eure anhaltende Unterstützung!

Besuche weitere Social Media-Kanäle

facebook icontwitter iconyoutube icontwitch icon