Community-News

01.31.2012

Entwickler-Blog: Über das Beheben von Bugs und das Eliminieren von Exploits

Als eines der ursprünglichen Mitglieder des Entwickler-Teams und als jemand, der dabei mitgeholfen hat das Studio aufzubauen, das Star Wars™: The Old Republic™ gemacht hat, war es ein großes Privileg für mich, diese unglaubliche Reise bis zum Launch des Spiels miterleben zu können. Jetzt wo der Launch vorbei ist, dachte ich mir, dass dies die ideale Gelegenheit ist, nun darüber zu sprechen, wie wir unsere Resourcen aufteilen, wenn es um Bugfixing und das Entwickeln von neuen Spielinhalten geht.

Die gute Nachricht ist, dass wir ein großes Team haben, das am Spiel arbeitet, was uns die Flexibilität ermöglicht, sowohl Bugs zu beheben als auch neuen Content zu entwickeln. Ich möchte hier aber deutlich klar stellen, dass das laufende Spiel immer als erstes kommt und deshalb das Beheben von Bugs oberste Priorität hat. Alles andere ist zweitrangig.

Ich möchte euch zunächst erklären, wie wir darüber entscheiden, wann wir ein Problem im Spiel fixen, egal ob es nun ein Bug oder ein Exploit ist. Fangen wir mit Exploits an – also die Fälle, in denen wir merken, dass ein Bug im Spiel-Code einem Spieler einen unfairen Vorteil verschafft. (Denkt daran, nicht alle Bugs sind Exploits!)

Wenn ein Exploit entdeckt wird, der das Spielerlebnis massiv beeinträchtigt oder die Wirtschaft des Spiels bedroht, versuchen wir sofort einen Notfall-Patch zu programmieren, um den Exploit zu eliminieren. Bevor wir aber etwas zu einem Notfall erklären, lassen wir das Problem durch unsere Qualitätssicherung (= engl. Quality Assurance), dem QA-Team, überprüfen. Dieses Team sammelt Daten, indem es mit dem Kundendienst, den Analysten und dem Entwickler-Team zusammenarbeitet, um so festzustellen, wie gravierend der Exploit ist und welche Schritte wir vornehmen müssen, um ihn zu reproduzieren. Wenn wir diese Informationen haben, stellen wir einen Plan auf, wie das Problem gefixt werden kann. Je nachdem wir lange der Fix dauern wird und wie groß die Bedrohung für das Spielgleichgewicht ist, entscheiden wir, ob wir den Grund für den Exploit vorübergehend innerhalb des Spiels deaktivieren müssen oder nicht.

Grundsätzlich können wir derartige Probleme relativ schnell fixen, wenn sie im Spiel entdeckt wurden. Unsere Turnaround-Zeiten in diesem Bereich sind wirklich gut und wir konnten die kürzlich aufgetretenen Exploits ziemlich schnell beheben. Das liegt an unserem äußerst engagierten Live-Support-Team, das aus Technikern, Designern, Künstlern und Produzenten besteht, die rund um die Uhr per Rufbereitschaft erreichbar sind. Außerdem haben wir umfangreiche Ingame-Tools, die ununterbrochen die Metriken des Spielflusses beobachten und daraus Berichte erstellen – was bedeutet, dass wir auf jeden Fall herausfinden ob jemand einen Exploit ausnutzt. Unser Hauptziel ist es, in The Old Republic ein Spielerlebnis zu schaffen, das Spaß macht, gut balanciert und fair ist. Deshalb halten wir ständig nach Exploits Ausschau und ergreifen Maßnahmen, um sie zu verhindern, damit es auch weiterhin fair zugeht im Spiel.

Bugs in einem so umfangreichen Spiel wie in The Old Republic zu beheben ist dagegen ein wenig verzwickter! Der PC ist eine komplizierte Plattform für einen Entwickler und es ist ziemlich unwahrscheinlich, dass ein Spiel ohne Fehler auf jeder möglichen PC-Konfiguration laufen wird. Aber wir versuchen so viele Bugs, von denen Spieler betroffen sind, zu fixen wie möglich.

Nicht jeder Bug ist gleich beschaffen. Manche Bugs – auch solche, die auf den ersten Blick einfach erscheinen können – brauchen eine lange Zeit, bis man sie behoben hat, und manche kann man vielleicht noch nicht einmal reproduzieren (weil sie zufällig und nur unter ganz bestimmten Bedingungen auftreten). Das haben wir immer im Hinterkopf, wenn wir die Prioritätenliste für die Beseitigung von Bugs überarbeiten. Es hilft uns festzulegen, welche Bugs wir als erstes fixen, was natürlich zunächst einmal vom Schweregrad des Bugs abhängt (Schweregrad = wie viele Spieler betroffen sind). Wir bestimmen den Schweregrad dadurch, dass wir uns ansehen wie viele Tickets zu diesem Bug an unser Kundendienst-Team geschickt wurden und wie viele Forenposts es dazu gibt. Dazu kommen dann die Telemetriedaten aus dem Spiel. Um nur einige der Dinge zu nennen, die wir berücksichtigen.

Das erste, was das Entwickler-Team jeden Tag macht, ist eine Einschätzung der neu eingegangenen Bugs vorzunehmen. Die Team Leader verschiedener Gruppen innerhalb des BioWare Austin Studios treffen sich und schauen sich die neu eingegangenen Bugs an, die in unserem Bug-Tracker-Programm (das vom QA-Team betreut wird) zusammengefasst werden. QA sammelt diese Bugs aus verschiedenen Quellen (Berichte von Spielern, unsere interne Qualitätssicherung, Kundendienst-Tickets und Community). Bevor ein Bug in den Bug-Tracker aufgenommen wird, müssen wir sicherstellen, dass es auch wirklich ein Bug ist, indem wir versuchen, ihn zu reproduzieren. Manchmal können wir das nicht, weil wir entweder nicht genug Informationen zu dem Bug haben (also gebt uns bitte so viele Details in euren Tickets an wie möglich!) oder weil es ganz spezielle Umstände waren, die den Bug ausgelöst haben, und die deshalb im normalen Gameplay nicht auftreten. In einem solchen Fall nehmen wir Kontakt mit der Community oder dem betroffenen Spieler auf, um Hilfe bei der Reproduktion des Bugs zu bekommen. Wir haben das schon einige Male mit großem Erfolg getan. Danke an alle, die uns dabei geholfen haben, diese speziellen Bugs aufzuspüren.

Aber zurück zur Einschätzung der Bugs. Jeden Tag schauen wir uns die neu eingegangenen und die schon bekannten Bugs an, um festzulegen, in welcher Reihenfolge wir die Bugs beheben wollen. Höchste Priorität haben dabei Bugs, die wir „Blocker“ nennen. Das sind Bugs, die den Spiel-Fortschritt von Spielern blockieren, weshalb sie wichtig genug sind, um sie mit einem Notfall-Patch zu fixen. Ob ein Bug mit einem Notfall-Patch behoben wird oder nicht, hängt zum einen von der Komplexität des Bugs ab (die bestimmt, wie riskant es ist, den Bugfix zu installieren) und zum anderen davon, ob es eine Übergangslösung gibt, die es dem Spieler erlaubt, trotzdem im Spiel weiterzukommen, oder nicht. Wenn es eine Übergangslösung gibt, nehmen wir den Bugfix normalerweise mit in den nächsten regulären Patch und stellen währenddessen sicher, dass die Spieler sich über die Übergangslösung informieren können. Das erlaubt den betroffenen Spielern trotzdem im Spiel voranzukommen und uns gibt es die Zeit, sicherzustellen, dass der Bugfix nicht andere Dinge im Spiel negativ beeinflusst.

Der Balanceakt, Bugs zu beheben und gleichzeitig das Spiel stabil am Laufen zu halten, ist nicht immer einfach. Wir müssen sicherstellen, dass ein Bugfix, den wir einspielen, nicht den Spiel-Code so verändert, dass alles nur noch schlimmer wird. Das ist ein normaler Bestandteil jeder komplexen Software-Entwicklung, aber es bedeutet natürlich für uns, dass wir jedesmal sorgfältig die Risiken abschätzen müssen, wenn wir etwas am Spiel verändern. Je mehr Bugs wir beheben mit einem Patch, desto größer das Risiko, etwas kaputt zu machen, weil wir damit einen größeren Teil des Spiel-Codes verändern. Deshalb versuchen wir, die Anzahl und Art der Bugs einzuschränken, die wir in einem Patch fixen. Wenn wir aber eine größere Anzahl von Bugs mit geringem Risikofaktor gleichzeitig beheben können, dann machen wir das natürlich. Unser wichtigstes Ziel ist es, so viele nervende Bugs so schnell wie möglich zu beheben; im Moment wollen wir jede Woche mit einem Patch Bugs fixen, aber das kann sich je nach Schweregrad der Bugs auch schon einmal ändern.

Bitte denkt immer daran, nur weil wir nicht öffentlich zu einem Bug Stellung nehmen, heißt das nicht, dass wir ihn nicht fixen. Wir wollen immerhin eine möglichst gute Spielerfahrung für unsere Spieler schaffen. Deshalb arbeiten wir mit einem großen Team jeden Tag daran, Bugs zu beheben und Exploits zu eliminieren.

Was das Entwickeln von neuem Content angeht, wollte ich noch alle wissen lassen, dass wir engagiert darauf hinarbeiten, neue Spielmechaniken und Inhalte in regemäßigen Abständen zu veröffentlichen. Es ist wichtig sicherzustellen, dass sich das Spiel immer weiterentwickelt. Mehrere Teams arbeiten an zukünftigen Spiel-Erweiterungen. Wir haben eine riesige Liste von Spielmechaniken und Inhalten, die wir gerne ins Spiel einbauen möchten, und wir erweitern diese Liste fortwährend, basierend auf dem Feedback das wir aus der Community bekommen und natürlich durch unsere eigene Spielerfahrung. Jeder einzelne von uns im Entwickler-Team spielt selbst das Spiel, und wir sehen deshalb genau wie ihr die Probleme und was wir noch verbessern können.

Unser wichtigstes Ziel ist es sicherzustellen, dass ihr weiterhin Spaß beim Spielen habt, und wir tun alles in unserer Macht stehende, damit ihr das Gefühl habt, dass das Spiel euer Geld wert ist. Vielen Dank euch allen, dass ihr unser Spiel spielt!

Rich Vogel
Executive Producer

 


Diesen Artikel diskutieren

Stichwörter

bugs|exploits|richard vogel
TRUSTe Privacy Certification