Entwicklung

Addon-Auslieferung in Eve Online

Kurt van Meter, James Wyld   //   Januar 15, 2010   //   0 Kommentare

Die Herausforderung: eine gigantische MMO-Erweiterung über die Datenautobahnen schaufeln, und das mit möglichst geringen Auswirkungen auf den Spielbetrieb. Die Jungs von CCP erklären, wie sie es geschafft haben.

Das Erste, was mir nach einem ausgedehnteren Schlaf zu Ohren kommt, sind aufgeregte Gespräche über große Veränderungen im bekannten Universum. Sofort meldet sich mein Forscherdrang und ich beschließe, den Gerüchten mit Hilfe meines altgedienten Schlachtkreuzers auf den Grund zu gehen. Ich docke ab und suche mit den Sensoren nach einer der angeblich überall aufgetauchten Anomalien. Und tatsächlich bemerke ich fast sofort ein ungewöhnliches Signal. Ich nähere mich vorsichtig und traue meinen Augen kaum: Ein Wurmloch hat sich im System geöffnet. Ob sich das Risiko lohnt, allein in unbekanntes Gebiet vorzudringen? Egal, Forscherdrang und Neugier überwältigen jeden Zweifel und ich manövriere mitten in die Anomalie.
Ein kurzer Moment der Orientierungslosigkeit und der Raum um mein Schiff gleicht einem Wirbel aus Gasen, blaugrün gefärbt von den umliegenden kosmischen Nebeln. Meine ausgesandten Sonden finden eine unbekannte Signatur und ich mache mich sofort auf den Weg dorthin. Eine unvorsichtige Dummheit, wie sich nach einer Minute der Stille herausstellt. Fünf Raumschiffe, wie ich sie noch nie zuvor gesehen habe, jagen auf meinen Kreuzer zu und eröffnen sofort das Feuer.
Nach einigen brenzligen Momenten übernehmen lange trainierte Reflexe die Kontrolle und mein Schlachtkreuzer macht seinem Namen alle Ehre. Kurz darauf warten fünf seltsame Wracks darauf, geplündert zu werden. Eine erste Untersuchung zeigt nie gesehene Materialien und Bauteile. Beim Gedanken an das Vermögen, das ich den Forschern zuhause dafür abnehmen werde, klopfe ich mir selbst auf die Schulter und muss mich beherrschen, nicht dämlich zu grinsen. Doch was war das? Der Scanner warnt mich vor schnüffelnden Sonden. Nichts Unbekanntes diesmal sondern Sonden der gleichen Art, wie ich Sie benutzt habe, um die unbekannten Schiffe aufzuspüren. Jäh verfliegt meine Selbstbeflissenheit und ich jage die Maschinen meines treuen Kreuzers weit über die zulässigen Spezifikationen hinaus. Zu spät. Die erste Laser-Salve schlägt ein, gefolgt von schweren Raketen.
Nur die Rettungskapsel bewahrt mich vor einem schnellen Tod. Eben noch Millionär nun mittellos. Doch ich verdränge meine aufkommende Verzweiflung, selbst in bisher unbekannten und neu entdeckten Gebieten bleibt das Eve-Universum harsch und kalt. Zeit, meine Leute zusammenzutrommeln und es den Schweinen heimzuzahlen.

Das ist ein typisches Beispiel, wie Spieler ihren ersten Tag mit der am 10. März 2009 online gegangenen Erweiterung Apocrypha für Eve Online erlebten. Für die Spieler war das eine ziemlich nahtlose Erfahrung -- nach einer etwas verlängerten Downtime fanden sie eine massiv veränderte Spielwelt vor. Hinter den Kulissen ging dem aber ein massiver Aufwand voraus, nicht nur bei der Entwicklung sondern auch und vor allem beim Ausliefern von Apocrypha.

Flexibilität beim Entwickeln und Testen
Apocrypha ist CCPs erste Erweiterung, die komplett mit der Scrum-Methode entstanden ist. Das bedeutet, dass die Entwickler in kleine Teams aufgeteilt werden, die jeweils für einen spezifischen Bereich zuständig sind. Alle neuen Funktionen und Inhalte werden innerhalb der Teams getestet und nur dann weitergereicht, wenn alle vorher festgelegten Kriterien erfüllt sind. Die Arbeiten werden jeweils in zwei Wochen langen »Sprints« ausgeführt. Dabei legen die Teams vorher fest, was sie in diesen zwei Wochen erledigen. Jeder Sprint baut auf den vorigen Sprint auf und führt am Ende zum fertigen Produkt der jeweiligen Teams.
Die Entwicklung individueller Features in relativer Isolation bereitet häufig Probleme, sobald die Arbeit eines Teams ins Gesamtprogramm integriert werden soll. Dazu kommt die Gefahr, dass neue entwickelte Programmteile nach der Integration Probleme mit anderen Teilen der Software verursachen. Diese Gefahren sind einfach zu übersehen, wenn man die einzelnen Teile nur individuell testet.
Um dieses Risiko zu minimieren, integrierten wir regelmäßig die Arbeiten sämtlicher Teams ins Programm. Während jedes Sprints testeten wir gründlich den kompletten Build. Das beinhaltete auch so genannte »regression tests«. Das sind speziell entwickelte Tests, die so viele Spielfunktionalität wie möglich abdecken, um sicherzustellen, dass wir nicht aus Versehen bereits vorhandene Features durch Neuentwicklungen beschädigt hatten. Organisiert wurden diese Tests zwar intern, ausgeführt hat sie aber ein externer Partner. Durch regelmäßige Plattform- und Performance-Tests vergewisserten wir uns, dass der Client auch problemlos auf einer Vielzahl von Windows- und Apple-Konfigurationen lief. Diese wurden teils intern, teils extern gemacht.
Ein zentraler Punkt bei diesem Prozess war, dass wir in den späteren Entwicklungsphasen jeden fertigen Abschnitt (Sprint) von Apocrypha auf Singularity, unseren Testserver, aufspielten. So konnten die Spieler am Test teilhaben und die neuen Features ausprobieren. Zusätzlich attackierten auch unsere offiziellen Bug-Jäger -- ein gut organisiertes Team aus fanatischen Eve-Spielern -- den jeweils aktuellen Build auf dem Testserver. Bestätigte Fehler wurden dann an unsere Quality Assurance gemeldet und den jeweiligen Scrum-Teams zur Lösung im nächsten Sprint übergeben.

Auslieferung auf DVD
Die Veröffentlichung von Apocrypha war ungewöhnlich für CCP, da wir die Erweiterung mit Hilfe von Atari zeitgleich auch in die Läden bringen wollten. Alle früheren Add-Ons sowie das Spiel selbst gab es bislang nur als Download.
Das resultierte in deutlich mehr Komplexität und auch bei der Produktion, aus mehreren Gründen. Zunächst bedeutete die zeitgleiche Veröffentlichung natürlich, dass wir auf einen festen Termin festgelegt waren. Während wir zwar immer versuchen, pünktlich zu bleiben, gibt es bei digitaler Auslieferung doch die Möglichkeit einer kurzen Verschiebung, sollten im letzten Moment größere kritische Fehler auftauchen.
Zusätzlich bedeutete die pure Größe der Erweiterung (besonders die verbesserte Grafik für Apple-Benutzer trug ihren Teil dazu bei), dass wir unseren Installations- und Patch-Mechanismus neu gestalten mussten. Folglich waren die Tests für die DVD-Version und den Patch-Vorgang gewaltig. Wir mussten sicherstellen, dass wir alle älteren Spielversionen auf die aktuelle Apocrypha-Version patchen konnten, dass alle alten Classic-Clients (eine Eve-Variante mit älterer DirectX-Version) ein Upgrade auf den neuen Premium-Client erhielten und dass wir den aktuellen Apocrypha-Client in Zukunft ebenfalls patchen konnten (dazu nutzten wir simulierte Patch-Versionen). Schließlich mussten wir ebenfalls sichergehen, dass die DVD auf den vielen Apple- und unzähligen Windows-Konfigurationen unserer Spieler funktionierte. Nachdem das alles erledigt war, schickten wir die Master-Disk zu Atari für deren eigene Tests und die Produktion innerhalb der nächsten zwei Monate.

Im Zuge der Veröffentlichung des Addons Apocrypha gab es Eve Online erstmals seit 2003 auch als DVD-Version im Handel.


Vorbereitung der virtuellen Welt
Für unser »Virtual World«-Team beginnt die Arbeit mit einem neuen Add-On einige Wochen vor der Veröffentlichung, wenn sich der Code der finalen Testphase nähert und wir einen Zeitplan für die Auslieferung erstellen wollen. Wir sehen uns dabei Analysen der Server-Performance mit dem neuen Apocrypha-Code gegen die Performance der gegenwärtig aktuellen Live-Version an und planen entsprechend eventuelle Hardware-Upgrades. Die wichtigsten Ziele für den Tag der Auslieferung sind eine möglichst kurze Offline-Zeit unserer Server sowie die Fähigkeit, alle Änderungen jederzeit rückgängig zu machen, sollte etwas schiefgehen.
Einzigartig in Apocrypha war das Hinzufügen von 2.500 neuen Sonnensystemen, die den Raum hinter den Wurmlöchern füllen. Für unsere Hardware bedeutete das möglicherweise bedeutend höhere Anforderungen. Glücklicherweise ist die Architektur des Server-Clusters hinter Eve sehr flexibel in dieser Hinsicht. Trotzdem verlangte der schiere Umfang der Neuerungen danach, bereits im Vorfeld gründlich zu analysieren, ob wir dazu in der Lage waren. Bei der Planung lag unser Hauptaugenmerk auf der möglichst reibungslosen Spielerfahrung am ersten Tag der Erweiterung, und das ohne Ärgernisse wie serverseitigen Lag. Nach dem Start hatten wir dann einen verlässlichen Performance-Benchmark, wie sich Apocrypha auf dem Live-Server schlägt und konnten unsere Hardware-Einteilung entsprechend anpassen.
Während der gesamten Entwicklungszeit von Apocrypha stand das Virtual World Team mit den Programmierern der Wurmlochsysteme in Kontakt und erhielt Schätzungen zum CPU- und RAM-Verbrauch pro System. Zusätzlich versuchten wir, Voraussagen zu treffen, wie viele Spieler die neuen Sonnensysteme auch sofort betreten würden. Nachdem wir einige grundlegende Schätzungen angestellt hatten, rüsteten wir unsere Hardware entsprechend auf. Letzten Endes war es aber dennoch nur eine Hoffnung (wenn auch eine gut geplante), dass die Maßnahmen  reichen würden.

Patch-Prüfungen
Nachdem alle Entwicklerteams fertig waren, erstellten wir einen Release Candidate und jagten ihn durch unsere Batterie an Tests auf drei Kontinenten. Dann spielten wir den Build auf unseren Testserver und ließen die Bughunter und regulären Spieler nach Belieben testen. Wir arbeiteten einige Tage fast rund um die Uhr, um alle ernsthaften Probleme zu lösen. Dabei führten wir ständig weitere Regression Tests durch.
Als wir die finale Version in Händen hielten, erzeugten wir damit alle Client- und Patch-Versionen. Da wir gegenwärtig ein Single-Patch-System nutzen (wenn Sie sich mit einer beliebigen Eve-Version der letzten Jahre einloggen, reicht ein einziger Patch für alle aus, um auf die aktuelle Version zu kommen. Die meisten anderen Spiele nutzen gestaffelte Patch-Systeme), mussten wir insgesamt 40 unterschiedliche Patch-Versionen erstellen (inklusive Windows- und Apple-Versionen sowie manuelle Work-Arounds für sicherheitskritische Probleme). Jeder Patch wurde lokal getestet und dann zu unserem Hosting-Partner hochgeladen. Da wurden sie erneut getestet und schließlich ein drittes Mal nach dem Download von dort auf Herz und Nieren geprüft.
Momentan arbeiten wir daran, die Anzahl der Patch-Versionen zu reduzieren, um die Testprozedur weniger aufwändig zu gestalten und um sie leichter zu automatisieren -- zum Launch von Apocrypha hatten wir aber jeden der 40 Patches drei Mal von Hand getestet, mehrere nach gefundenen Dateifehlern (das kann beim Upload-Prozess, beim Verschieben der Dateien auf den Hosting-Servern oder bereits beim Erstellend er Patch-Version passieren) ersetzt und erneut überprüft.

Käufer der DVD-Version erhalten als Bonus dieses Shuttle - auch für einige langjährige Fans Grund genug zum Kauf der Box.

Der Release-Tag
Ein Release-Tag bei CCP ist immer hektisch und aufregend. Bei Apocrypha war es aufgrund des schieren Umfangs, der neuen Grafik-Engine sowie der zahllosen neuen Inhalte und dem gleichzeitigen Erscheinen der DVD-Version sogar noch anspruchsvoller. Trotzdem haben wir große Fortschritte beim Reduzieren der Offline-Zeit unseres Servers gemacht -- bei Apocrypha dauerte sie weniger als 13 Stunden, früher waren es meist eher 24 Stunden.
Der ganze Prozess begann damit, dass ein »Virtual World Administrator« und ein »Virtual World Database Administrator« um zwei Uhr nachts im Rechenzentrum eintrafen und sich mit Hilfe von viel Koffein auf eine lange Nacht und das Herunterfahren des Live Servers »Tranquility« um drei Uhr vorbereiteten. Einer der Hauptgründe für das Verkürzen der Offline-Zeiten war, dass wir von offline durchgeführten Sicherungen unserer Datenbank zu online durchgeführten Backups wechselten, die es uns erlauben, den gut fünfstündigen Prozess vor dem Herunterfahren der Server durchzuführen.
Am Erscheinungstag von Apocrypha gab es um drei Uhr, als der Cluster herunterfuhr, nur eine halbstündige Wartezeit, bis das Datenbank-Backup fertig war. Dann aktualisierten wir die Server auf die aktuelle Apocrypha-Version, was entgegen der landläufigen Meinung ein sehr schneller und einfacher Vorgang ist. Wenn nur das Verteilen einer Erweiterung wie Apocrypha auch so einfach wäre! Im Detail lief der Prozess zweigeteilt ab -- die nötigen Datenbank-Updates wurden nacheinander eingespielt, der Server-Code selbst wurde auf allen, etwa 100 Servern des Clusters gleichzeitig installiert.

Trockentests
Neben den Patch-Tests am Veröffentlichungstag führt unsere Qualitätskontrolle auch »Trocken-Tests« auf dem Live Server durch. Dabei wird der Server auf den aktuellen Versionsstand gebracht und dann in einem Modus gestartet, der nur Verbindungen von CCP zulässt. Damit wollen wir sicherstellen, dass alles auch auf dem Live-Server gut funktioniert. Denn trotz der zahlreichen vorangegangenen Tests kann jede Veränderung im Umfeld zu unvorhersehbaren Problemen führen. Anders als andere MMOs, die auf voneinander getrennte Server setzen, tummeln sich bei Eve alle Spieler weltweit auf einem einzigen Server(-Cluster) -- manchmal über 50.000 gleichzeitig. Das macht eine Duplizierung des Servers zu Testzwecken sehr kompliziert. Es ist daher nicht ungewöhnlich, dass sich Gameplay-Aspekte auf dem Live- und dem Test-Server unterscheiden. Schon aus reiner Notwendigkeit ist der Test-Server sehr viel kleiner als der Live-Server, wodurch Diskrepanzen entstehen können.

Einer der neuen T3-Kreuzer, die mit Apocrypha eingeführt wurden.

Die letzten Minuten
Die gesamte Qualitätskontrolle und mehrere andere Gruppen testeten alle neuen Features sowie andere anfällige Bereiche des Spiels. Das ist jedes Mal eine aufregende Zeit ohne einen ruhigen Moment. Da das gesamte QA-Team aus begeisterten EVE-Spielern besteht, die Qualität sehr ernst nehmen, versuchen sie auf jede erdenkliche Art, mögliche Fehler zu entdecken. Was wir den Biloski-Effekt (nach dem QA-Tester Kevin Biloski) nennen, verdeutlicht das: Egal wie gut getestet ein Patch ist, jedes Mal finden wir in den späteren Stadien der Trockentests noch ein kritisches Problem. Meist wird der durch die Kombination von obskuren Spielmechaniken gefunden, auf die nur die am weitesten fortgeschrittenen Eve-Spieler kommen. Häufig können wir aber aufatmen, denn meist hängen diese Fehler mit den Testsystemen oder deren Konfiguration zusammen. Manchmal gibt es aber auch ein echtes Problem. In diesen Fällen muss eine kurzfristige Entscheidung getroffen werden, ob wir den Patch zurücknehmen, bis der Fehler behoben ist. Oder ob wir den Patch freigeben, die Spieler über das Problem sowie mögliche Work-Arounds informieren und versuchen, es innerhalb der nächsten ein oder zwei Tage aus der Welt zu schaffen. Im Falle von Apocrypha war der kritische Fehler, der laut dem Biloski-Effekt von einem ungenannten Tester gefunden wurde, ein auf den Test-PC beschränktes Problem und kein Software-Defekt. Das war ein Glück für uns, da aufgrund der DVD-Veröffentlichung kein Rollback auf die ältere Eve-Version in Frage kam.
Nachdem die Trockentests fertig, alle Feuer gelöscht und der Puls aller wieder auf ein Normalmaß gesunken waren, beschlossen wir, dass es an der Zeit war, Apocrypha online gehen zu lassen. Die Qualitätskontrolle gab grünes Licht, die Tore zu öffnen. Um 15:30 (eine halbe Stunde vor dem Zeitplan) änderten wir eine einzige Einstellung auf dem Server und Spieler aus aller Welt strömten herein, um Wurmlöcher zu suchen und die neuen Sleeper-NPCs zu jagen. Neue Eve-Spieler erlebten ein stark verbessertes Tutorial mit einfacherer und verständlicherer Charakter-Erstellung. Unsere offiziellen Foren füllten sich mit Berichten über unermessliche Reichtümer und schmerzliche Verluste, ganz wie die Geschichte am Anfang dieses Artikels.

Die nächsten Tage
Nur weil wir Apocrypha erfolgreich zu den Spielern gebracht hatten, war die Arbeit natürlich noch längst nicht getan. Wir bildeten ein Team aus Mitgliedern mehrerer Abteilungen (inklusive Community Relations, Customer Service, Quality Assurance, Virtual World Operations und Eve Software), um das Spiel und die Meinungen der Spieler mehrere Tage nach der Veröffentlichung zu überwachen. Außerdem hatten wir bereits ein paar »Verbesserungs-Wochen« für das Entwicklungsteam eingeplant, falls sich doch noch Probleme mit Apocrypha zeigen sollten.
Im Falle von Apocrypha war es vor allem der erhöhte Lag, den Spieler in stark bevölkerten Gegenden des Eve-Universums erlebten. Das Problem lösten wir, indem wir verschiedene Änderungen an der Datenbank durchführten, um die Situation besser überwachen zu können. Danach konnten wir mit einem einzigen serverseitigen Hotfix das Problem lösen. Außerdem gab es Probleme mit dem neu eingeführten Warteschlangensystem für die Skills der Spieler. Um die zu bereinigen, erstellten wir mehrere Patches in den folgenden Wochen und mussten einen großen Teil Code umschreiben.

In großen Flotten erkundeten die Spieler sofort nach dem Hochfahren des Servers die neuen Gebiete.

Die Zukunft
Im Gesamten waren wir bei CCP zufrieden mit der Auslieferung von Apocrypha, aber wir wollen uns nicht auf den Lorbeeren ausruhen. Momentan sind wir bereits ein gutes Stück in der Entwicklung des nächsten großen Add-Ons. Dafür haben wir unsere Arbeitsprozesse während der Entwicklung von Apocrypha noch ein Mal genau unter die Lupe genommen und an die neuen Erkenntnisse angepasst. Apocrypha war zwar ungewöhnlich schwierig und kompliziert aus oben genannten Gründen, trotzdem haben wir es schneller und problemloser als alle vorangegangenen Erweiterungen zu den Spielern gebracht. Basierend auf diesen Erfahrungen und den vielen daraufhin gestarteten internen Initiativen, blicken wir sehr optimistisch in die Zukunft von Eve Online.
Kurt van Meter, James Wyld

zu den Autoren: Kurt van Meter ist Eve Quality Assurance Manager bei CCP in Reykjavik, Island.
James Wyld ist Virtual World Administrator bei CCP in Reykjavik, Island.
 

Kommentare

Einen Kommentar hinterlassen

Um einen Kommentar hinterlassen zu können, müssen Sie sich zuerst anmelden oder registrieren.

» zur Anmeldung
» zur Registrierung