- Anno 1800
- DevBlog
DevBlog: Vom Bug Report zum Game Update
Im Sommer haben wir über die Arbeit unserer QA-Teams gesprochen, welche Schwerpunkte jedes Team hat und wie wichtig diese Teams für den gesamten Entwicklungsprozess des Spiels sind – sie machen viel mehr als nur Bugs zu suchen oder Anno 1800 zu testen. Falls ihr es noch nicht gelesen habt, empfehlen wir euch dringend, dies zu tun, bevor ihr weiterlest, um zunächst etwas über die Aufgaben und Verantwortungsbereiche unserer drei Teams zu erfahren: unser internes QA-Team, das Live-QA-Team und die Qualitätskontrollteams.
Und wie bereits erwähnt, wollen wir euch nun einen Einblick geben, welche Schritte vom Finden eines Problems bis zur Veröffentlichung eines Fixes unternommen werden
Damit ihr euch schnell einen ersten Überblick verschaffen könnt, werft einen Blick auf die folgende Grafik. Im Blog selbst werden wir dann ins Detail gehen.
Finden oder Melden eines Problems
Normalerweise gibt es zwei Möglichkeiten, wie ein Problem auf unserem Radar auftaucht: Entweder wird es von euch über einen unserer Kanäle gemeldet (oder von einem der Anno Companions an uns weitergeleitet), oder wir bemerken es beim internen Testen – oder Spielen 😉
In beiden Fällen wird das Problem in JIRA eingetragen, einem Tool, das für verschiedene Zwecke verwendet werden kann, in diesem Fall verwenden wir es, um Fehler zu sammeln und zu kategorisieren. Während dieses Prozesses wird jedes Problem anhand mehrerer Faktoren kategorisiert und bei Bedarf mit Tags versehen, die wichtigsten Beiden: Schweregrad(Severity) (Auswirkung des Fehlers, wenn er auftritt) und Wahrscheinlichkeit(Probability) (wie wahrscheinlich ist es, dass Spieler auf dieses Problem stoßen)
Aus diesen beiden Faktoren ergibt sich dann die Priorität (z.B. ein Problem mit hoher Wahrscheinlichkeit, aber geringem Schweregrad, hat eine niedrige oder mittlere Priorität).
Reproduktion
Der nächste Schritt ist sehr wichtig: Wir versuchen, das Problem zu reproduzieren, d. h. wir versuchen, es bei uns absichtlich auftreten zu lassen. Das hilft uns, mögliche Ursachen für das Problem ausfindig zu machen, was es uns wiederum viel leichter macht, das Problem später anzugehen und zu beheben.
Dieser Schritt kann manchmal recht arbeitsintensiv sein. Um beispielsweise Probleme der Live-Version zu reproduzieren, benötigt das QC-Team manchmal eine ganz bestimmte Hardware-Kombination für Tests, die unter Umständen nur sehr schwer zu beschaffen ist. Manchmal bedeutet dies auch, dass wir direkt mit Hardwareherstellern wie AMD oder Nvidia zusammenarbeiten müssen, um bestimmte Hardwarekombinationen zu erhalten oder zu testen, um bestimmte Probleme zu reproduzieren und zu untersuchen.
Daher ist es für uns äußerst hilfreich, wenn ihr uns bei der Meldung von Problemen so viele Details wie möglich gebt: Könnt ihr das Problem selbst reproduzieren? Was habt ihr getan, bevor das Problem auftrat? Welche Hardware verwendet ihr? Etc.
Bei Anno 1800 kommt es aufgrund der vielfältigen Einstellungsmöglichkeiten und des individuellen Spielstils jedes Spielers häufig vor, dass das Live QA-Team nach Erhalt der ersten Meldung um Speicherstände, Screenshots, Videos oder Systeminformationen bitten muss. An dieser Stelle kommen der Kundensupport und das Community Management Team ins Spiel: Sie setzen sich mit dem Spieler in Verbindung und stellen nach Möglichkeit weitere Informationen zur Verfügung.
Diese Reproduktionsschritte werden daher auch in jedem JIRA-Ticket aufgeführt, damit jeder, der an diesem Problem arbeitet, es schnell selbst überprüfen kann. Außerdem wird eine Reproduktionsrate hinzugefügt: Kann das Problem jedes Mal reproduziert werden, wenn bestimmte Schritte befolgt werden, oder tritt es nur gelegentlich auf? Oder können wir ein Problem, das uns gemeldet wurde, eventuell gar nicht reproduzieren?
Behebung des Problems
Die Behebung des Problems bedeutet, dass die Ursache des Problems mit Hilfe der bereitgestellten Informationen weiter untersucht wird.
Dies geschieht auf der Grundlage der in Schritt 1 vorgenommenen Prioritätensetzung. Weitere Faktoren sind die verfügbaren Ressourcen innerhalb des Teams. Das kann bedeuten, dass selbst wenn ein Problem eine niedrige Priorität hat, der Bugfix trotzdem in das Game Update wandert, wenn wir in der zuständigen Abteilung freie Ressourcen haben. Bedenkt, dass das Team gleichzeitig auch am nächsten größeren Update oder DLC arbeitet.
Wir möchten an dieser Stelle auch betonen, dass es natürlich stark von der Art des Problems abhängt, welches Team für die Behebung zuständig ist. Ein falscher Questtext? Eine fehlende Textur? Ein Item-Effekt, der nicht funktioniert? Falsch ausgerichtete Icons? Jedes Problem kann einen bestimmten Spezialisten erfordern.
Obwohl es in einigen Fällen möglich sein kann, dass einer unserer Programmierer die Ursache und den Ort eines Problems ohne Reproduktionsschritte herausfindet, ist dies nicht die Regel und verlängert die Zeit, die für das entwickeln eines FIxes benötigt wird, erheblich.
Abgesehen davon kann jede Art von Fehlerbehebung geraume Zeit in Anspruch nehmen, da die Suche nach der genauen Ursache in der Regel keine Sache von Minuten ist: Wir müssen herausfinden, was genau zu dem Verhalten führt, das wir beobachtet und reproduziert haben. Außerdem gibt es mögliche Risiken, vor allem weil Videospiele wie Anno 1800 sehr komplex sind: Die Behebung eines Fehlers kann dazu führen, dass ein anderes System nicht mehr wie vorgesehen funktioniert, neue Fehler können auftreten, usw. Einige Systeme des Spiels sind weitaus schwieriger zu bearbeiten als andere.
Test des Bugfixes
Deshalb muss jeder Fix richtig getestet werden. Nicht nur isoliert für sich selbst (ist der Fehler behoben?), sondern auch in Kombination mit dem Rest des Game Updates – d.h. der neuen Version des Spiels. Damit soll sichergestellt werden, dass eine Fehlerbehebung nicht, wie oben erwähnt, etwas anderes kaputt macht.
Detaillierte Reproduktionsschritte sind daher auch für die Tests wichtig, da wir wissen müssen, wie man ursprünglich auf den Fehler stoßen konnte: Tritt das Problem jetzt NICHT mehr auf, nachdem man die skizzierten Schritte befolgt hat?
Wie ihr vielleicht schon erraten habt, ist das Testen, ähnlich wie bei den vorherigen Schritten, nicht an einem Tag erledigt. Bevor wir ein Game Update veröffentlichen, legen wir in der Regel eine “Validierungsperiode” ein. Dieser Zeitraum ist in der Regel etwa 2 Wochen lang und besteht aus zwei Phasen:
- Die erste findet intern hier in Mainz statt und ist ein “Feature Freeze”, den wir die “Golden Ticket Phase” nennen – denn nur von QA genehmigte, “goldene” JIRA Tickets dürfen noch bearbeitet und in das Update aufgenommen werden. Alles andere muss auf ein zukünftiges Update warten.
- In der zweiten Woche führen unsere Kollegen in den QC-Teams die Validierung des Updates durch. Wir arbeiten zu diesem Zeitpunkt nicht mehr an dem Update.
Natürlich kann es vorkommen, dass eine bestimmter Fix oder gar das Game Update selbst nicht funktioniert oder Probleme aufweist. In diesem Fall müssen wir zu den vorherigen Schritten zurückkehren (einschließlich einer weiteren Validierungsrunde), was im schlimmsten Fall bedeuten kann, dass wir die Veröffentlichung des Game Updates verschieben müssen.
Release des Game Updates
Wenn die neue Version getestet und validiert wurde, sind wir fast bereit für die Veröffentlichung. Während dieses Prozesses stehen wir auch in Kontakt mit Kollegen in anderen Teams, damit alle wissen, dass wir das Update an diesem Tag veröffentlichen wollen.
In der Regel bündeln wir in einem solchen Game Update stets mehrere Bugfixes: Das kann bedeuten, dass einige Probleme zwar bereits behoben sind aber erst darauf warten müssen, in die Live-Version des Spiels übertragen zu werden. Aufgrund des hohen Arbeitsaufwands müssen wir ein Gleichgewicht zwischen der rechtzeitigen Behebung eines Problems und der Vermeidung einer Überlastung unserer Teams durch ständige Game Update Veröffentlichungen finden.
Der “Hotfix” ist eine Ausnahme, und wir haben in unserem vorherigen DevBlog darüber gesprochen.
Unsere großen Game Updates, die zusammen mit einem DLC veröffentlicht werden, gehen in der Regel um 18:00 Uhr live, während die kleineren Updates in der Regel um 14:00 Uhr veröffentlicht werden. Und falls ihr es noch nicht bemerkt habt: Unser bevorzugter Veröffentlichungstag ist der Dienstag. 😉
Da wir regelmäßig Missverständnisse über unsere internen Prozesse und die Zeit, die für die Behebung von Fehlern und anderen technischen Problemen benötigt wird, erleben, war es für uns eine Priorität, dieses Thema genauer zu beleuchten.
Wie wir in diesem Blog hoffentlich deutlich gemacht haben, ist der Prozess, der hinter dem Melden von Fehlern und der Fehlerbehebung steht, nicht einfach: Er erfordert Zeit und vor allem viel Geduld und Ressourcen.
Wenn ihr Fragen dazu habt oder mehr über andere spezifische Prozesse wissen möchten, zögert nicht, uns das in den Kommentaren unten mitzuteilen!
Kommentare
Kommentar hinterlassen
Hallo liebes Anno Team,
Ich hab Probleme mit den abtrünnigen Anarchisten; und zwar kommen bei mir gar keine an die nach Asyl fragen.
Die Hauptquest von Mercier habe ich schon erfolgreich abgeschlossen aber es kommen trotzdem seit Spielbeginn keine Abtrünnigen an. Mercier hat in der alten Welt seine grosse Hauptinsel und noch eine weitere mittlere Insel. Gibt es einen Weg die abtrünnigen Anarchisten zu triggern? Würde ungern ein neues Spiel anfangen, da ich den aktuellen Save auch nur neu angefangen habe weil beim letzten Merciers Hauptquest verbuggt war.
Vielen Dank im Voraus!
Die Wege vom Forumspost bis zum Bugfixing sind leider dennoch völlig intransparent. Wenn es für die Spieler eine aktuelle Übersicht gäbe, wo registrierte Bugs inkl. Status gelistet sind, wäre das für beide Seiten sehr hilfreich. Es gäbe weniger Doppelmeldungen und Nachfragen. Aktuell ist es so, man Teil etwas mit, hört nie eine Reaktion und evtl. taucht es irgendwann in den Patchnotes auf, wenn man Glück hat. Da sehe ich noch deutliche Optimierungsmöglichkeiten.
Der gemeine Spieler wählt immer den einfachsten Weg, um seine Probleme loszuwerden, der liest keine Forenthreads und schon garnicht 5 ähnlich lautende Threadtitel. Es wird einige Wenige geben, die öffentlich vefügbare Buglisten oder -tools durchforsten. Aus eigener Erfahrung hätten solch Systeme auch den Nachteil, das ein bereits einmal gemeldeter Bug im WorstCase auch nur einmal gemeldet wird, wodurch aber wichtige Informationen verloren gehen könnten. Eine einzelne Fehlermeldung hat mit Sicherheit keine so hohe Priorität wie ein hundertfach gemeldeter Bug, der noch dazu unter verschiedensten Hardwarekonfigurationen auftritt und damit logischer Weise viel leichter reproduzierbar ist. Es macht auch wenig Sinn, tägliche Wasserstandsmeldungen zum Bug XY zu geben, solang die Liste nicht schon abgearbeitet ist.
Von daher würde ich das System schon so lassen wie es ist und obiger Beitrag sollte eher zur Lesepflicht in den Foren werden.
Aktuell habe ich nur sehr viele Probleme mit dem synchronisieren zwischen meinen Leih-PC (GeForce Now) und Ubisoft… das sind mir in Summe bestimmt schon 20 Spielszenen drauf gegangen, weil es immer wieder schief geht ?
Wo bekommt man eigentlich mit, ob dort Bugs bekannt sind? Ich denke ja, das hat weniger mit Anno direkt zu tun…
Spielstunden meine ich natürlich…
Vorschlag:
Implementierung eines “Bug Report” Menü Punktes in den Einstellungen. (oder wo auch immer es passt).
In dem anschließenden Formular gibt es nicht nur Pflichtfelder, sondern auch die Möglichkeit, den betreffenden Spielstand direkt mitzusenden. Bei Übermittlung dieses Reports werden interne Hardwaredaten automatisch mitgeliefert.
Das man aus diesen Daten eine übersichtliche Tabelle (+öffentliche Einsichtnahme mit Vermerk) erstellen kann, ist selbstredend
Das könnte euch eine Menge Arbeit und Nachfragen ersparen, denn nicht jeder kann oder will sich mit dem Forum auseinandersetzen.
Ich glaube, damals im technischen Test, gab es eine bereits eine solche Funktion. (incl screen shot vom Spieler)
Ansonsten, ihr macht gute Arbeit. Danke.
LG
Es wäre großartig, wenn es eine direkte Möglichkeit gäbe, wo man seinen festgestellten Bug mal melden könnte. Eingruppiert nach Kategorien und Schweregraden der Bugs und der Option, Screenshots mitzusenden. Das fände ich professionell und eine Anerkennung sowie respektvoll gegenüber uns Kunden.
Ich habe den Eindruck, dass Ihr uns erst so wirklich ernst nehmt, wenn wir auf jeden Anno Insel lauter Investoren in Hochhäusern zu wohnen haben und die Einwohnerzahl auf 1 Million nach oben geschraubt haben.
Ich habe auch noch ein Leben außerhalb der Annowelt und ich spiele gerne Euer Spiel.
Ein Beispiel: Ich habe schon nach wenigen Monaten, wo Euer Game online ging angefragt, wann Ihr die Option zur langsameren Spielgeschwindigkeit einführt. 5 Mal musste ich das anfragen und dann kam endlich die Antwort, werdet ihr nicht ins Spiel einbauen. Nun ist es da. Juchuuu… aber mich Monatelang mit meiner Frage nicht ernst nehmen!
Und eben so behandelt Ihr uns einfachen Gamer auch, wenn wir mal nen Bug feststellen. da sucht man sich nen Wolf auf Euern Seiten.
Da müsst Ihr besser werden, echt. Fehlerkultur ist auch ne Kultur und die wird uns einfachen Gamern anerkannt.