25. Februar 2022

Entwicklertagebuch: GO-Kampfliga

Entwicklertagebuch: GO-Kampfliga

Trainer,

seit Beginn der GO-Kampfliga vor zwei Jahren haben wir viel Feedback gesammelt und emsig das Gameplay für euch Trainer optimiert. Da nun eine Zwischensaison ansteht, wollten wir euch einen Blick hinter die Kulissen geben und von den Verbesserungen erzählen, an denen die Entwickler des Pokémon GO-Kampfsystems gerade arbeiten.

Schwerpunktbereiche

Unsere Entwickler versuchen, Kampfsysteme ganzheitlich zu betrachten. Das bedeutet, dass gleich viel Arbeit in Raids, Team GO Rocket-Kämpfe, Arena-Kämpfe und Trainer-Kämpfe fließt. In Bezug auf die GO-Kampfliga konzentrieren wir uns auf vier Schwerpunktbereiche:

Codewartung

  • Der Code für Kämpfe in Pokémon GO wird neu geschrieben und restrukturiert, um mehr Stabilität und Flexibilität bei zukünftigen Programmierarbeiten zu ermöglichen.

Problembehebungen für Sofort-Attacken

  • Wir werden an Lösungen für Unregelmäßigkeiten bei Sofort-Attacken arbeiten.

Protokollierung von Kämpfen

  • Wir möchten Trainern die Möglichkeit geben, nach Kämpfen detaillierte Berichte zu technischen Problemen einzureichen, damit unser Team Probleme effektiver diagnostizieren und schneller beheben kann.

Priorisierung von dringenden Bugs

  • Bugs der GO-Kampfliga sollen so behoben werden, dass das bestmögliche Ergebnis für Trainer erzielt wird.

Wir freuen uns darauf, in der Zwischensaison einige Änderungen zu implementieren, die ihr euch gewünscht habt! Wenn ihr einen tieferen Einblick in die Mechanismen hinter der GO-Kampfliga erheischen möchtet, lest einfach weiter und lasst es euch direkt von unseren Entwicklern erklären.

Eure Fragen zur GO-Kampfliga

Seit es die GO-Kampfliga gibt, haben Trainer viele Fragen dazu gestellt, was die Liga ist und wie sie funktioniert. Wir haben uns mit unseren Entwicklern zusammengesetzt, um ihre Antworten zu erfahren und herauszufinden, was als Nächstes ansteht.

Was verursacht Latenz in der GO-Kampfliga und wie können wir sie verringern?

Latenz bezeichnet die Verzögerung zwischen der Aktion eines Trainers und der Serverantwort und ist besonders problematisch, wenn das Lag nur bei einem von zwei Spielern auftritt. Die Ursache kann auf Serverseite oder beim Trainer liegen. In den meisten Fällen wird sie jedoch durch die Verzögerung hervorgerufen, mit der die Daten vom Gerät eines Trainers den Server erreichen. Das Entwicklungsteam für die Kampfmechanik lotet derzeit Möglichkeiten aus, die Latenz (vor allem die externe) zu verringern, und diskutiert verschiedene Optionen.

Solange noch keine endgültige Lösung vorliegt, könnt ihr selbst Maßnahmen ergreifen und eure Latenz möglicherweise reduzieren, z. B. indem ihr eure WLAN-Verbindung auf mobile Daten umstellt oder umgekehrt. Um herauszufinden, ob ihr eine WLAN-Verbindung oder mobile Daten verwenden solltet, empfehlen wir Folgendes:

  • Deaktiviert die mobilen Daten auf eurem Gerät.
  • Verbindet euch mit einem WLAN und überprüft mithilfe eines Pingtools die Antwortzeit zwischen eurem Gerät und dem Server.
  • Trennt die WLAN-Verbindung und aktiviert die mobilen Daten.
  • Nutzt noch einmal das Pingtool.

Die Option mit dem schnellsten Ping ist wahrscheinlich die bessere Wahl. Aber Achtung: Der Ping kann sich je nach Standort und Anzahl der Benutzer im Netzwerk ändern.



Stephen – Engineering Director

Wie funktioniert das Matchmaking der GO-Kampfliga?

Unser Matchmaking basiert auf den Fähigkeiten und der bisherigen Performance jedes einzelnen Spielers. Jeder Kampf in der GO-Kampfliga ist eine neue Gelegenheit für Trainer, zu experimentieren und den Umgang mit neuen Strategien und Pokémon zu erlernen.

Die Trainer-Community hat mit sehr viel Einsatz analysiert, welche die besten Pokémon sind, und setzt sie ein, um möglichst viele Siege zu erzielen. Es gibt keinen Algorithmus, der Trainer einander anhand ihrer Pokémon-Teams zuordnet, und die Community überrascht uns immer wieder mit eigenen Strategien und innovativen Teamstrukturen. Es gibt jedoch “Stufen” für verschiedene Skilllevel, innerhalb derer Spieler einander zugeordnet werden, und so können sich die angewendeten Strategien je nach Stufe stark unterscheiden.

Dies lässt sich am besten in einigen der Spezial-Cups beobachten, z. B. im Mini-Cup oder Kanto-Cup. Die besonderen Vorgaben dieser Cups zwingen Trainer dazu, andere Pokémon als sonst zu fangen und herauszufinden, was unter diesen Einschränkungen am besten funktioniert. Mit jedem Rangaufstieg erweitern Trainer ihren Erfahrungsschatz zu den effektivsten Teams und dies führt dazu, dass im rangübergreifenden Vergleich sehr viele unterschiedliche Pokémon gespielt werden.



Steve Wang – Senior Executive Producer

Was ist die Protokollierung von Kämpfen?

Wir führen ein Feature für die Protokollierung von Ligakämpfen ein, das an das 2021 implementierte Feature für die Raid-Protokollierung angelehnt ist. Mit diesem Feature können Trainer freiwillig einen detaillierten Bericht ihrer Spielaktivitäten während Kämpfen in der GO-Kampfliga einreichen. Diese ausführlichen Berichte geben uns tiefere technische Einblicke in die Probleme, die Trainer dem Supportteam melden. Am hilfreichsten ist es für uns, wenn Spieler sowohl ein Supportticket als auch ein Kampfprotokoll einreichen. Das Supportteam verknüpft diese beiden Berichte dann miteinander, damit unsere Entwickler mithilfe der Protokolle genau analysieren können, welche Probleme während eines Kampfes aufgetreten sind. Wir hoffen, dass uns dies helfen wird, Bugs der GO-Kampfliga schneller zu entdecken und zu beheben.



Jess C – Software Engineer

Was ist die Wartung des "Kampfcodes"?

Da das Pokémon GO-Kampfsystem stetig wächst, müssen wir kontinuierlich unsere bestehende Infrastruktur optimieren. Zu diesem Zweck warten wir den Code für Kämpfe in Pokémon GO – wir sprechen von “Combat Refactoring” –, damit Probleme für uns besser erkennbar werden, sobald sie auftreten. Dank der Codewartung können wir Probleme, die die Community der GO-Kampfliga plagen, schneller und effektiver beheben. Der Code enthält nun mehr Sicherheitsvorkehrungen, und visuelle Effekte führen jetzt mit geringerer Wahrscheinlichkeit zu Performance-Problemen. Dank dieser Änderungen können wir außerdem neue Features entwickeln und größere Neuerungen in das System einführen, ohne den bestehenden Code zu gefährden. Dadurch werden uns Iterationen und Anpassungen ermöglicht.



Alex Hardinger – Client Software Engineer

Welche Probleme gibt es mit Sofort-Attacken und wie werden wir diese beheben?

Das sind die drei Hauptprobleme:

  • Synchronisationsprobleme, sogenannte Desyncs, bei Sofort-Attacken: Das Einsetzen von Sofort-Attacken dauert möglicherweise länger als es sollte.
  • Unregelmäßigkeiten bei Sofort-Attacken: Sofort-Attacken werden unregelmäßig eingesetzt, wenn sie gleichzeitig mit einer Lade-Attacke eingesetzt werden.
  • Desyncs nach Lade-Attacken: Sofort-Attacken können manchmal nicht direkt nach einer Lade-Attacke eingesetzt werden.

Desyncs bei Sofort-Attacken

Dieses Problem tritt auf, wenn ein Pokémon nicht die richtige Anzahl von Sofort-Attacken einsetzt oder überhaupt keine Sofort-Attacken einsetzt, während der Gegner den Kampf ganz normal fortführt. Dieses Problem ist am eklatantesten bei Sofort-Attacken wie Feuerodem, die schnell hintereinander eingesetzt werden können, und hängt mit der Uhrensynchronisierung zusammen. Manchmal unterscheidet sich der Spielzustand auf dem Gerät eines Trainers von dem auf unseren Servern. Das Ergebnis ist ein Spiel, das nicht reagiert. Um dieses Problem zu beheben, werden wir zusätzliche Synchronisierungspunkte während des gesamten Kampfes hinzufügen. Wir haben die Hoffnung, dass der Client auf diese Weise synchron mit dem Server bleibt. Diese Synchronisierung sollte für Trainer nicht wahrnehmbar sein.

Wir arbeiten weiterhin an verschiedenen Ansätzen, um diese Desyncs bei Sofort-Attacken zu beheben, und hoffen, die eine Lösung zu finden, die für alle Szenarien am besten funktioniert.

Unregelmäßigkeiten bei Sofort-Attacken

Dieses Problem tritt auf, wenn ein Trainer scheinbar eine zusätzliche Sofort-Attacke einsetzen kann, während der Gegner eine Lade-Attacke einsetzt. Tatsächlich wird die Sofort-Attacke des ersten Trainers aber zum gleichen Zeitpunkt beendet, an dem die Lade-Attacke des anderen Trainers eingesetzt wird. Das aktuelle System priorisiert die Sofort-Attacke, sodass der ausgeteilte Schaden erst verrechnet wird, bevor die Lade-Attacke eingesetzt werden kann.

Unsere kurzfristige Lösung besteht darin, die Aufschiebung einer Lade-Attacke bis nach Ende einer Sofort-Attacke aufzuheben. Diese Lösung trägt dazu bei, das Timing von Sofort- und Lade-Attacken zu synchronisieren, und ermöglicht es, Sofort-Attacken auch während des Lade-Attacken-Minispiels zu beenden. Gleichzeitig bleibt die aktuelle Priorisierung bei der Schadensverrechnung erhalten, was bedeutet, dass Lade-Attacken Sofort-Attacken verhindern können, wenn sie in dem Zeitfenster eingesetzt werden, in dem die Sofort-Attacke beendet wird.

Diese Lösung erlaubt es der Community außerdem, weiterhin aus ihrem hart erarbeiteten Wissens- und Fähigkeitenfundus zu schöpfen.

Desyncs nach Lade-Attacken

Das letzte Problem, über das wir heute sprechen, besteht darin, dass Trainer direkt nach Ende einer Lade-Attacke manchmal nicht mehr handlungsfähig sind. Unser Team weiß über dieses Problem Bescheid. Zwar haben wir zwar noch keine sofortige Lösung gefunden, arbeiten jedoch hart daran und testen Bugfixes. Während der anstehenden Saison könnt ihr euch auf der Seite mit den bekannten Problemen der GO-Kampfliga immer über den neuesten Stand informieren.



Ben Li – Senior Server Engineer

Was ist das nächste Ziel?

Derzeit ist es unser oberstes Anliegen, das Kampf-Gameplay weiter zu stabilisieren. Dies wird dazu beitragen, gleiche Rahmenbedingungen für alle Trainer zu schaffen, unabhängig von ihrem Gerät oder ihrer Internetverbindung.

Aus diesem Grund haben wir beschlossen, dass die nächste Saison der GO-Kampfliga eine Zwischensaison wird. Für gewonnene Kämpfe wird es weiterhin Belohnungen geben, allerdings ist weder ein Score sichtbar, noch wird dieser den Rang beeinflussen. Ihr könnt nach wie vor verschiedenen Pokémon begegnen und tolle Belohnungen in der GO-Kampfliga abstauben, während wir die zuvor erläuterten Probleme beheben. Wir haben gesehen, wie viel Eifer und Kampfgeist Events wie GO-Kampftage bei der Trainer-Community auslösen. Daher werden sie auch in dieser Saison stattfinden und sogar mit einigen besonderen Überraschungen aufwarten, also bleibt gespannt! Updates zu unserem Fortschritt und den nächsten Projekten folgen bald.

Wir freuen uns, zukünftige Updates mit euch zu teilen und noch mehr Trainer für die GO-Kampfliga zu begeistern.

Achtet wie immer auf eure Umgebung, wenn ihr Pokémon GO spielt, und haltet euch an die Verordnungen von Gesundheitsbehörden. Änderungen an kommenden Events sind vorbehalten. Wir halten euch über unsere Social-Media-Kanäle, Push-Mitteilungen und E-Mails auf dem Laufenden. Informationen zu den aktuellen In-Game-Events und Featureupdates findet ihr in diesem Hilfe-Center-Artikel.

—Das Team von Pokémon GO

Achtet wie immer auf eure Umgebung, wenn ihr Pokémon GO spielt, und haltet euch an die Verordnungen von Gesundheitsbehörden. Änderungen an kommenden Events sind vorbehalten. Wir halten euch über unsere Social-Media-Kanäle, Push-Mitteilungen und E-Mails auf dem Laufenden.