Blizzcon 2018: Zusammenfassung des Panels zu Classic WoW
Gestern Abend veranstalteten die für Classic World of Warcraft verantwortlichen Entwickler von Blizzard Entertainment ein äußerst interessantes Panel auf der Blizzcon 2018, welchen den vielversprechenden Namen „Die Zeit zurückdrehen: Wie World of Warcraft: Classic entsteht“ trug und sich mit der Arbeit an den klassischen Servern für diesen Titel beschäftigte. Da die Entwickler wissen, wie viele Spieler sich für dieses Projekt interessieren, haben sie im Verlauf der vergangenen Nacht netterweise eine eigene Übersicht zu diesem Panel auf ihrer offiziellen Communityseite veröffentlicht. In diesem Beitrag erklären die Entwickler auf eine leicht verständliche Weise, wie die Arbeit an Classic WoW bisher abgelaufen ist, was es noch zu tun gibt und auf welche Weise sie die Inhalte auf den Liveservern freischalten möchten. Wer sich für dieses Thema interessiert, der kann jetzt entweder die folgende Zusammenfassung oder den darunter eingebauten Originalartikel durchlesen.
Die Informationen aus dem Panel:
- Um Classic WoW zu starten, brauchten die Entwickler erst einmal drei Komponenten: Datenbankdaten, Quellcode und Grafikassets. Das Entwicklerteam konnte alle benötigten Daten nach etwas investierter Zeit und Arbeit ausfindig machen.
- Da der alte Quellcode zu einigen Problemen mit moderner Technik führte, haben die Entwickler ihre Datenbank und ihre Grafiken genommen und das Ganze in ihre aktuelle Spielversion übertragen.
- Probleme wie beispielsweise falsche Bäume oder unter Wasser vorhandene Lagerfeuer wurden im Laufe der Zeit durch den modernen Editor für BfA behoben-
- Ein weiteres Problem stellte die Datenspeicherung dar. Da die Entwickler immer gleichzeitig an mehreren Updates für WoW arbeiten, sorgt ein automatisch agierendes System dafür, dass zu einem Patch hinzugefügte Grafikassets oder Umgebungsdateien auch in späteren Updates auftauchen. Hätten die Entwickler einfach so den Patch für Classic in diese moderne Entwicklung aufgenommen, dann hätten die alten Inhalte eine Reihe von Neuerungen überschrieben und Fehler in BfA verursacht. Um dieses Problem zu lösen, mussten sie die Daten von 1.12 in ein neues Projekt kopieren und ihren Tools beibringen, dass Classic und BfA nicht zusammen gehören. In Zukunft kann nun allerdings Classic unabhängig von BFa gepachted werden.
- Die Entwickler haben sowohl die klassischen Charaktermodelle als auch die klassischen Animationen wiederhergestellt. Dabei sind sie auf viele Fehler und Probleme gestoßen, die erst einmal korrigiert werden mussten.
- Für die spielbaren Klassen mussten die Entwickler gelegentlich ihren alten Code zurückbringen. Der Jäger verwendete in Classic beispielsweise viele Mechaniken (Begleiterzufriedenheit, Fern- und Nahkampfwaffe etc.), die kein modernes Gegenstück besitzen und aus diesem Grund durch alten Code wiederhergestellt werden mussten.
- Die Waffenfertigkeit ist zurück. Auch in diesem Punkt mussten die Entwickler ihren alten Code verwenden.
- Die Entwickler haben viel Arbeit und Zeit in die Rekonstruktion des klassischen Charakterbildschirms investiert.
- Um die klassische Beleuchtung zurückzubringen, mussten die Entwickler viele im Laufe der Jahre durchgeführte Änderungen rückgängig machen und die alten Beleuchtungsdaten wiederherstellen.
- Wenn die Entwickler einfach nur ihren Referenz-Client aktualisieren würden, dann müssten sie einer Vielzahl von unsichtbaren Änderungen und Problemen nachjagen. Dazu gehören beispielsweise ausnutzbare Fehler oder erst bei Millionen von gleichzeitig aktiven Spielern auftretende Bugs.
- Die Arbeit ist noch lange nicht abgeschlossen. Die Entwickler müssen noch viele Features in den Hauptstädten überarbeiten, alle Dungeons und Raids von Classic testen und das alte PvP-System überprüfen.
- In Classic werden unter anderem der Dungeonbrowser, realmübergreifende Gruppen, das Erfolgssystem, zusammengefasste Auktionshäuser und das Fliegen fehlen.
- Classic verwendet eine Höchstgrenze von 16 gleichzeitig auf einem Ziel aktiven Schwächungseffekten.
- Die Verzögerung beim Versenden von Post zwischen Gildenmitgliedern kehrt zurück. Das automatische Vervollständigung von Namen und das schnelle Leeren eines Briefkastens bleiben im Spiel vorhanden.
- Spieler werden von Bossen erbeutete Gegenstände auch in Classic einige Zeit lang miteinander handeln können. Auf diese Weise wollen die Entwickler unnötige Kundendiensttickets vermeiden.
- Die Energieregeneration von Schurken und ähnlichen Spielweisen wird sich wieder am „Puls“ des Servers orientieren und alle 2 Sekunden 20 Energie erzeugen.
- Die Entwickler wissen noch nicht genau, wie sie mit Addons umgehen möchten. Im Moment steht allerdings bereits fest, dass sie nicht zum Addon-API von Patch 1.12 zurückkehren werden.
- Auch wenn Classic WoW zu Beginn bereits alle Inhalte von Patch 1.12 beinhalten wird, so möchten die Entwickler bestimmte Spielinhalte aber erst nach einiger Zeit aktivieren. Im Moment sind folgende vier Phasen geplant:
- Phase 1: Der Geschmolzene Kern, Onyxia, Düsterbruch, Kazzak, Azuregos
- Phase 2: Pechschwingenhort, Belohnungen für Schlachtfelder und PvP, Zul’Gurub
- Phase 3: Ahn’Qiraj (inklusive Eröffnungsereignis), Schlachtzugsstufe 0,5, Inhalte aus Silithus, Grüne Drachen
- Phase 4: Schlachtzug Naxxramas, Invasion der Geißel
Zusammenfassung der Podiumsdiskussion „Die Zeit zurückdrehen: Wie World of Warcraft: Classic entsteht“
Das heiß ersehnte World of Warcraft: Classic ist schon seit geraumer Zeit ein viel diskutiertes Thema in der Community. Um den Spielern zu verdeutlichen, was es wirklich bedeutet, einem Spiel in hochwertiger Blizzard-Qualität Leben einzuhauchen, haben Programmierer Brian Birmingham und Omar Gonzales gemeinsam mit Game Director Ion Hazzikostas auf der Bühne einige Einblicke gewährt.
Die Puzzleteile zusammensuchen
Für einen einfachen Überblick darüber, wie ein Spiel entsteht, hat Omar den Prozess auf drei grundlegende Faktoren heruntergebrochen: Datenbankdaten, Grafikassets und Quellcode.
- Die Datenbankdaten beinhalten die Gesundheit einer Kreatur, die Menge an Ausdauer, die ein Gegenstand gewährt, Erscheinungspunkte überall in der Spielwelt sowie Millionen anderer Daten.
- Grafikassets beinhalten alles vom Aussehen eines Nachtelfen beim Einsatz von Schattenmimik über das Geräusch eines Pyroschlags bis hin zu der Bewegung, wenn ein Orc seine Axt schwingt.
- Der Quellcode enthält die Anweisungen, wie das Spiel angezeigt wird, Eingaben verarbeitet und Spieler miteinander verbunden werden.
Zunächst mussten wir herausfinden, wie weit der Quellcode zurückreicht. Dabei haben wir entdeckt, dass unser Archiv bis ins Jahr 1997 zurückreicht, lange bevor World of Warcraft entwickelt wurde.
Das war schon mal ein guter Anfang, aber es gab Probleme damit, wie das Spiel früher mit Updates bei den Datenbankdaten umging. Unser Code beinhaltete viele verschiedene Teile des Spiels, die einzeln bearbeitet und entwickelt werden konnten. Unsere frühesten Datenbankdaten hingegen wurden mit jedem neuen Update überschrieben. Gott sei Dank konnten wir dieses Problem schon bald nach der Veröffentlichung beheben. Bei unserer Suche stießen wir auf Daten von Version 1.12 und sogar noch früher.
Schließlich haben wir auf alten Bandlaufwerken unsere Grafikassets gefunden, die wir den aufbewahrten Datenbankdaten zuordnen konnten.
Nachdem wir dann alle drei Komponenten hatten, konnten wir einen Test durchführen und uns im Spiel einloggen, neue Charaktere erstellen, Eber töten und ein paar Quests abschließen.
Klassisches Gameplay in einer modernen Welt
Jetzt hatten wir zwar eine funktionierende Version des Spiels, aber es gab noch viele andere Hürden zu überwinden. Die zugrundeliegende Technologie hat sich seit der Veröffentlichung stark weiterentwickelt und beinhaltet jetzt Dinge wie Cloud-Unterstützung, Integration in Battle.net, Kundendienst-Funktionen und eine ganze Reihe an längst behobenen Fehlern.
Um diese Hürden zu überwinden, haben wir uns erst einmal angesehen, was uns gefiel (Grafik und Daten) und was nicht (der Code). Wir wollten herausfinden, ob wir die klassischen Grafikassets und Daten sinnvoll in unseren modernen Code integrieren konnten. Es hat nicht sofort geklappt, aber nach einigem Herumprobieren konnten wir beweisen, dass es möglich ist. Jetzt wussten wir, wie wir es schaffen konnten, dass alles richtig ineinander greift und spielbar ist. Das hat uns in dem Glauben bestärkt, dass wir innerhalb unserer modernen Plattform eine Spielerfahrung in gewohnter Blizzard-Qualität erschaffen konnten.
Vom Prototyp zur Demo
Unsere Bausteine – die Datenbankdaten, der Quellcode und die Grafikassets – erschaffen im Zusammenspiel die Features, die der Spieler dann vor sich sieht, wie etwa Umgebung, Gameplay, Animationen und Beleuchtung. Für verschiedene Features müssen die Bausteine auf vielerlei Art und Weise zusammenarbeiten.
Ein gutes Beispiel für diese Interaktion ist die Umgebung. Dazu gehört die Lage von Hügeln und Tälern, Bäumen, Gebäuden und mehr. Als wir die alten Umgebungsdaten in unser modernes Spielsystem gespeist haben, haben wir festgestellt, dass das System die Form der Daten anders interpretierte. Das Resultat davon, dass das aktuelle System und die klassischen Daten nicht zusammenpassten, waren dann Dinge wie Lagerfeuer der Kolkar unter Wasser oder ausgebrannte Bäume aus der Zeit von Cataclysm.
1.12 Umgebungsdaten |
1.12 Engine |
Moderne Engine |
|||||||||||||||
|
|
|
Zum Glück kann unser moderner Editor einige dieser Daten umrechnen. Die Umgebungsdaten können wir mit demselben Editor umrechnen, den wir für Battle for Azeroth verwenden. Der moderne Editor kann das alte Umgebungsformat laden, es in das neue Format umwandeln und in unsere neue Engine exportieren. Dadurch konnten wir solche Fehler wie verschobene Lagerfeuer und das Aussehen der Bäume beheben.
Eine weitere Hürde, die wir genommen haben, ist die Art und Weise, wie wir unsere Daten speichern und zusammenführen. Für World of Warcraft sind immer mehrere Patches gleichzeitig in der Entwicklung, denn jeder Patch befindet sich in einem anderen Entwicklungsstadium. Wenn wir einem Patch ein Grafikasset oder eine Umgebungsdatei hinzufügen, wollten wir, dass es automatisch auch in den späteren Patches auftaucht. In 14 Jahren Entwicklung wurde das immer in einer festgelegten linearen Abfolge durchgeführt. Hätten wir einfach nur unseren neuen Patch für Classic in unsere momentane Entwicklung aufgenommen, hätten wir dabei Dinge wie den jetzigen Damm in Loch Modan mit der wiederhergestellten Version von damals überschrieben. Das hätte dann Fehler in Battle for Azeroth zur Folge.
Um das zu vermeiden, haben wir unseren Tools einige neue Tricks beigebracht, sodass wir Patches für Classic aufspielen konnten, ohne die aktuelle Version des Spiels zu ändern. Wir haben die Daten von 1.12 in ein neues Projekt kopiert und unsere Tools so konfiguriert, dass sie den Unterschied erkennen. Spielen wir jetzt einen Patch auf, bleiben die Änderungen auf Classic beschränkt und die Patches der aktuellen Version bleiben davon unberührt. Das mag zwar einfach klingen – so einfach wie das Kopieren eines Verzeichnisses – aber das Schwierige daran ist, das unseren Tools begreiflich zu machen, sodass sie die Änderungen automatisch durchführen können. Unsere internen Tools verwenden zu können, ist ein riesiger Vorteil. Wir wollten sicherstellen, dass Classic auf unsere gesamte Infrastruktur und all unsere Daten zurückgreifen kann.
Klassische Modelle und Animationen
Wir haben uns außerdem die Zeit genommen, die klassischen Charaktermodelle vollständig wiederherzustellen. Dabei haben wir aber einige Modelle entdeckt, die fehlerhaft waren. In manchen Fällen fehlten einige Texturen, also mussten wir herausfinden, wie diese Modelle auszusehen hatten und sie innerhalb unseres Systems korrigieren.
Die ursprünglichen Animationen wurden ebenfalls wiederhergestellt, aber unser Animationssystem ist eng mit unserem Code für das Gameplay verbunden. Wir mussten sowohl an den Daten als auch am Code Änderungen vornehmen, um die Animationen wieder in ihre Ursprungsform von Patch 1.12 zurückzuversetzen. Dabei sind wir auf einige Fehler gestoßen, wie zum Beispiel Modelle, die aufrecht angezeigt wurden, wenn sie liegen sollten (oder umgekehrt), aber das konnten wir ohne größere Probleme beheben.
Wiederherstellung der Klassensysteme
Wir haben alleine mit der Umwandlung von Daten zu Code viele Fortschritte gemacht, aber für einige Systeme gibt es kein modernes Gegenstück. Die Klasse der Jäger ist davon wahrscheinlich am stärksten betroffen. Die Begleiterzufriedenheit- und Treuesysteme wurden ebenso entfernt wie die Begleiterausbildung und die Fähigkeit, gleichzeitig eine Fern- und Nahkampfwaffe zu verwenden. In diesen Fällen würde die Umwandlung von alten Daten zum neuen System nicht funktionieren, weil es für sie ganz einfach kein neues System gibt. Deshalb mussten wir den alten Code zurückbringen – und genau das haben wir gemacht. Zum Glück ist die Wiederherstellung glattgegangen. Einige Leute waren allerdings überrascht, dass sie wieder Pfeile kaufen oder ihre Begleiter füttern mussten.
Das war aber nicht ausschließlich ein Jäger-Problem. Für Combopunkte von Schurken mussten wir ebenfalls den Code anpassen. Unser modernes Ressourcensystem kann zwar Combopunkte erhalten und verbrauchen, weiß aber nicht, wie es sie beim Wechseln zwischen Zielen wieder verlieren kann. Außerdem müssen wir die älteren Kampfformeln berücksichtigen. In diesem Fall haben wir den Code für die älteren Kampfformeln mit kritischen Treffern und Zerschmetternden Schlägen zurückgebracht. Ihre Auslösungschance wird ebenfalls vom Unterschied zwischen der Verteidigung des Verteidigers und der Waffenfertigkeit des Angreifers beeinflusst. Richtig gelesen, die Waffenfertigkeit ist zurück. Wir hatten die Daten dafür, mussten aber den Code wiederherstellen, der bei Einsatz eure Fertigkeiten erhöht hat und durch den eure Fertigkeitsstufe die Chance auf Treffer oder Streifschläge beeinflusste.
Benutzeroberfläche und Beleuchtung
Der Charakterbildschirm ist ein hervorragendes Beispiel für eine unverwechselbare Benutzeroberfläche, die wir auf jeden Fall wiederherstellen mussten. Dabei wollten wir mit viel Aufwand sicherstellen, dass sich bis hin zu den Bildschirmeffekten und der Beleuchtung hinter dem Charakter alles richtig anfühlt. Wir wollen euch zwar nicht Perfektion versprechen, aber wir können versprechen, dass wir die alte und neue Version miteinander vergleichen und unser Bestes geben, um euch die authentische Erfahrung zu bieten.
Für ein anderes Beispiel zur Beleuchtung haben wir uns den Wald von Elwynn angesehen. In der Geschichte von Warcraft gab es eine Phase, zu der wir alle Beleuchtungsgleichungen geändert hatten und deshalb unsere Künstler die Beleuchtung in allen Zonen verbessern und die neuen Gleichungen nutzen mussten. Um die ursprüngliche Erfahrung wiederherzustellen, mussten wir diese Änderungen rückgängig machen. Zunächst haben wir die alten Beleuchtungsdaten wiederhergestellt. Dadurch konnten wir der ursprünglichen Beleuchtung viel näherkommen und nach ein paar weiteren Anpassungen der Entfernungs- und Nebelformeln sowie einigen Änderungen an Schatten waren wir schon viel näher an der ursprünglichen Beleuchtung.
Seid ihr mal langsam fertig?
Bei all dieser Arbeit fragt ihr euch bestimmt, ob wir schon fertig sind oder ob es nicht viel einfacher wäre, den Referenz-Client zu aktualisieren.
Nach dem letzten Jahr voller Arbeit an diesem Projekt und voller verschiedener Probleme und Herausforderungen ist der Unterschied zwischen dem, was wir haben und dem, was wir wollen, immer noch klar sichtbar. Wenn wir uns das heutige World of Warcraft ansehen, fallen uns die Unterschiede zu Classic auf. Würden wir versuchen, den Referenz-Client zu aktualisieren, müssten wir haufenweise unsichtbaren Änderungen nachjagen. Dazu gehören ausnutzbare Fehler, Abstürze, die erst bei Millionen von gleichzeitig spielenden Spielern auftreten, und vieles mehr. Wir wollten das Problem auf eine Weise angehen, durch die unsere Aufgabe klar und offensichtlich erscheint und nicht schwierig und kaum einzugrenzen.
Wir sind noch nicht fertig und müssen uns noch viele Features in Hauptstädten wie Banken und Auktionshäuser vornehmen. Wir müssen unsere Dungeons und Schlachtzüge testen und sicherstellen, dass die Fähigkeiten der Bosse immer noch wie vorgesehen funktionieren – und wir müssen alle unsere PvP-Systeme überprüfen.
Philosophie und Zukunftspläne
Mit der Wiederherstellung von World of Warcraft Classic wollten wir eine authentische Spielerfahrung bieten, in der sich auch Spieler zurechtfinden würden, die das Spiel seit der Veröffentlichung nicht mehr gespielt haben. Vielleicht läuft jetzt alles etwas glatter, und ihr habt bessere Hardware. Das Spiel sollte sich aber immer noch so anfühlen, als würdet ihr im Jahr 2006 World of Warcraft spielen. Ein großer Teil davon sind nicht nur die Kampfgleichungen und eure Fertigkeiten, sondern auch die soziale Dynamik und dass ihr euch in Dungeons oder in anderen Kämpfen auf andere Spieler verlassen müsst. Außerdem wollten wir sicherstellen, dass wir nicht die Daten von 1.12 und dadurch die daraus resultierende Spielerfahrung ändern.
Viele Entscheidungen waren ziemlich einfach zu treffen. Dinge wie der Dungeonbrowser waren ein klares „Nein“. Außerdem mussten wir realmübergreifende Gruppen, das Erfolgssystem, zusammengefasste Auktionshäuser und – jetzt kommt’s – das Fliegen außen vor lassen.
Andere Entscheidungen haben sich etwas schwieriger gestaltet. Es gab einmal eine Höchstgrenze von 8 Schwächungseffekten. Diese Grenze wurde später auf 16 angehoben, und heute gibt es gar keine Begrenzung für Schwächungseffekte mehr. Diese Änderung hat die Klassenbalance und die Strategien von Spielern beim Einsatz dieser Schwächungseffekte in Kämpfen merklich geändert. Um nicht auf die Daten von 1.12 zugreifen zu müssen, haben wir uns für Classic für eine Höchstgrenze von 16 Schwächungseffekten entschieden.
Im Spiel wird heute Post zwischen Gildenmitgliedern sofort zugestellt, aber in der Vergangenheit gab es wie bei Post zwischen Fremden eine einstündige Verzögerung. Die Änderung zu sofort zugestellter Post machte zwar alles einfacher, aber dadurch fiel die soziale Interaktion weg, für die man jemanden für einen Handel treffen musste, wenn man etwas früher haben wollte. Aus diesem Grund haben wir die Verzögerung wieder eingeführt. Andere Annehmlichkeiten wie die automatische Vervollständigung von Namen oder das schnelle Leeren eines Briefkastens ließen wir im Spiel. Diese Entscheidung fiel uns ziemlich leicht, weil Spieler ohne viel Aufwand mit einem Addon dasselbe erreichen könnten und wir das Entfernen dieser Annehmlichkeiten nicht sinnvoll fanden.
In der Vergangenheit wurde beim Beutetausch oft der Kundendienst zu Hilfe gerufen, wenn jemand versehentlich etwas geplündert hatte. Beim moderneren System haben Spieler ein gewisses Zeitfenster, in dem sie Beute mit anderen Spielern tauschen können. Diese Annehmlichkeit wollten wir für Classic beibehalten, um nicht haufenweise für das Spielerlebnis absolut unnötige Kundendiensttickets zu erhalten. (Tut uns leid, Ninja-Plünderer!)
Für Klassen wie Schurken, die sich auf Energieregeneration verlassen, haben sich seit dem ursprünglichen Spiel ebenfalls einige Dinge geändert. Die Regeneration passierte je nach „Puls“ des Servers in bestimmten Mengen. Zum Beispiel dauerte es zwei volle Sekunden, um 20 Energie zu erhalten. Heute ist das System ausgeglichen, sodass ihr jede Zehntelsekunde 1 Energie regeneriert. Dieser Unterschied hat sich auf die Abstände ausgewirkt, zu denen ihr bestimmte Fähigkeiten einsetzen konntet. Was heute wie eine kleine Annehmlichkeit wirkt, hat sich damals merklich auf den Kampfrhythmus und das Potenzial für Sofortschaden im Gameplay des ursprünglichen Spiels ausgewirkt. Das wollten wir zurückbringen, um euch eine authentische Spielerfahrung zu bieten.
Im Laufe der Jahre wurden Addons immer tiefgreifender und komplexer, weil ihre Ersteller auf jahrelange Erfahrung zurückgreifen konnten. Wir haben uns noch nicht hundertprozentig festgelegt, was das für Classic bedeuten wird. Wir wissen aber, dass wir nicht zur Addon-API von 1.12 zurückkehren wollen. Das würde die Tore zu beinahe vollständiger Automatisierung von Entscheidungen in Kämpfen öffnen und nahezu „Bot“-Verhalten ermöglichen, was der Spielerfahrung von WoW widerspricht. Das wollen wir ganz sicher nicht. Andererseits bietet die moderne API einige zusätzliche Funktionen für soziale Features, die ebenfalls die authentische Spielerfahrung von Classic untergraben könnten. Wir feilen immer noch an den Details und suchen nach einem vernünftigen Mittelweg. Wir werden das Feedback der Community und der Ersteller von Addons genau beobachten und anhand dessen bestimmen, wo wir diese Grenzen setzen wollen.
Zeitplan für die Veröffentlichung von Inhalten
Wir beginnen zwar mit Version 1.12, aber wir wollen trotzdem sicherstellen, dass wir unseren Spielern die Reise durch das Spiel bieten können, die sie erwarten. Um euch einen Überblick geben zu können, haben wir vier weitere Phasen geplant, die wir im Laufe der Zeit ins Spiel integrieren wollen.
- Phase 1: Der Geschmolzene Kern, Onyxia, Düsterbruch, Kazzak, Azuregos
- Phase 2: Pechschwingenhort, Belohnungen für Schlachtfelder und PvP, Zul’Gurub
- Phase 3: Ahn’Qiraj (inklusive Eröffnungsereignis), Schlachtzugsstufe 0,5, Inhalte aus Silithus, Grüne Drachen
- Phase 4: Schlachtzug Naxxramas, Invasion der Geißel
Diese Pläne sind noch nicht in Stein gemeißelt, aber wir wollten euch einen kleinen Blick in die Zukunft werfen lassen. Wir freuen uns auf euer weiteres Feedback und wissen, dass noch viel Arbeit vor uns liegt.
Besucher der BlizzCon und Besitzer des virtuellen Tickets zur BlizzCon 2018 können die Classic-Demo heute ausprobieren! Weitere Informationen findet ihr in unserem neuesten Artikel Auf einen Kaffee mit den Devs und im Forumbeitrag zu Zeitlimits für die Demo.