Die zweite Staffel von Season of Discovery (SoD) des WoW-Klassikers ist live – und die Ebenen spielen erneut, dieses Mal im Schlingendorntal (STV). Für die Uneingeweihten: Diese Saison bringt Blood Moons auf STV: 30-minütige PvP-Schlägereien, die etwa alle drei Stunden stattfinden. Das Hauptproblem? Die Türsteher an der Tür machen ihren Job nicht besonders gut.
Die Server-Infrastruktur von SoD läuft auf Schichten, die dazu gedacht sind, die Serverlast zu reduzieren und dafür zu sorgen, dass alles reibungslos läuft. Im Idealfall würden sich Spieler, die an diesen großen PvP-Events teilnehmen, durch das Ebenensystem an einen Ort mit einer ausgewogenen Anzahl von Spielern platzieren lassen.
In Wirklichkeit wurden sie durch die Gruppierung absichtlich in verschiedene Ebenen verschoben, was zu dem führte, was ein Entwickler als „ekliges“ Benutzererlebnis bezeichnete. Leitender Spieleproduzent Tom Ellis ging zu Twitter um dieses Wochenende die technischen Details durchzugehen (Danke, WoWHead). Wie er anmerkt, hat das Layering tatsächlich seine Wurzeln in einem System, das World of Warcraft vor zehn Jahren aus dem Feuer geholt hat, obwohl SoD jetzt in heißem Wasser steckt.
Wo alles begann
„Es gab einmal eine Zeit, in der ein Reich eine Kopie jeder Zone lokal auf seiner eigenen Hardware ausführte … alles lief am selben Ort, man konnte Mobs über Zonen hinweg schicken, Begleitquests führten NPCs über Zonengrenzen hinweg“, schreibt Ellis. „Da sich die Hardware verbesserte und Leistungsverbesserungen vorgenommen wurden, erhöhten wir mit jeder Erweiterung die Obergrenze für die Anzahl der gleichzeitigen Spieler, die sich anmelden durften.“
Dies verursachte jedoch große Probleme, da die CPU-Kerne unter hoher Last zu kämpfen begannen. „Das alles erreichte in Warlords of Draenor seinen Höhepunkt, als die Startzonen in WoD trotz eines sehr erfolgreichen Starts völlig überfordert waren, die Belastung zu bewältigen, der sie ausgesetzt waren.“ Ellis beschreibt, wie ein ehemaliger Blizzard-Entwickler „drei Tage und Nächte (wir dulden so ein Verhalten nicht mehr!)“ damit verbrachte, etwas zu entwickeln, das heute als Sharding-Technologie bekannt ist.
„Das Spiel fühlte sich dadurch weniger zusammenhängend an, aber es bedeutete, dass die Reichsobergrenze und die Zonenkapazität nun völlig voneinander getrennt waren. Außerdem hatten wir dadurch die Möglichkeit, spezifische Werte für bestimmte Zonen festzulegen.“ Ellis sagt, dass das Team nicht die Absicht hatte, Sharding im klassischen Spiel zu verwenden, aber „wir mussten einen Weg finden, Realm-Caps in moderner Größe zu verwenden, ohne die Zonen mit Spielern zu überlasten.“
Das Hauptproblem? Sharding-Chaos mit klassischen Vibes. Damals war es den Spielern nicht gestattet, Mobs zu kiten oder sich im zonenübergreifenden PvP gegenseitig zu jagen: „Beide Leute sollten sich weiterhin gegenseitig in die neue Zone jagen, und in einer geteilten Welt könnten sie auf unterschiedlichen Ziel-Shards landen.“
Vom Sharding zum Layering
Stattdessen wurde die Sharding-Technologie von Omar Gonzalez neu erfunden, einem Entwickler, der sich offenbar „wochenlang weggesperrt“ hatte, um Classic zum Laufen zu bringen Interview mit Ion Hazzikostas im Jahr 2019. Ellis sagt: „Er begann mit der Scherbenbildung und fing an, die Scherben zu etwas zusammenzunähen, das als Schichten bekannt wurde. Ja, eine Schicht besteht eigentlich nur aus Scherben mit viel Klebeband.“
Dies löste ein gewaltiges Problem für Classic, aber die technischen Schulden würden in Season of Discovery erneut ihr hässliches Gesicht zeigen. „Das größte Problem, auf das wir im Moment stoßen, ist, dass einige frühe Codeannahmen für Layering jetzt sehr problematisch sind. Alle Zonen in einem Layer haben die gleiche Anzahl an Spielern, die in der Zone sein können. Wir können zum Beispiel nicht sagen, 500.“ Menschen in Ashenvale, 1.000 Menschen in Orgrimmar, sie alle verwenden den gleichen Wert. Das ist ein Albtraum, wenn Zonen sehr unterschiedlich funktionieren, je nachdem, was die Spieler tun.“
Wie Ellis betont, verursacht Layering nicht nur Probleme für die Zone, in der es stattfindet. „Wenn der gesamte Server während des Blutmondes auf STV umschaltet, hochfahren wir ganze Layer, um den zusätzlichen STV zu bewältigen, sodass wir möglicherweise 16 leer laufen lassen.“ Kopien jeder anderen Zone, nur weil wir brutto 16 STVs brauchen.
In einem zweiter Thread, taucht Ellis tiefer in die Nöte von Season of Discovery ein. „Da jeder Fünfergruppen bildet und in der Regel eine Person vor den anderen ankommt, wird der Maximalwert für die Zone erreicht und der Rest Ihrer Gruppe kann nicht in die gleiche Kopie kommen … Denken Sie darüber nach, wenn die Zone kann mit 500 Leuten umgehen und lässt sie alle rein, dann lädt jeder 4 weitere Leute ein, ach Mist, wir werden abstürzen. Also müssen wir irgendwo eine harte Grenze haben.“
Es lohnt sich auf jeden Fall, den gesamten Thread zu lesen, wenn Sie sich für so etwas interessieren, aber um es hier kurz zu halten: „Die TL;DR?-Gruppen sind für das Layering-System schwer zu handhaben, und sobald eine Zone voll ist, werden die Gruppen nur schwer zu handhaben [user experience] an diesem Punkt ist ekelhaft. Wie das Classic-Team bereits erwähnt hat, stehen Änderungen an, um das zu verbessern.“