Entwicklung der Schadenszahlen in Diablo III

Entwicklung der Schadenszahlen in Diablo III

Wer sich mit Softwareentwicklung beschäftigt – ob beruflich, zum Spaß oder für seinen Lieblingsspieleentwickler – weiß, dass es für einfache Probleme nicht immer einfache Lösungen gibt. Kurzum, Spiele zu entwickeln, ist eine komplizierte Angelegenheit. Es gibt Tausende von beweglichen Stellschrauben, bei denen auch nur die kleinste Änderung Wochen an Umkehrungen und Rücksetzungen nach sich ziehen kann. Wenn man als Außenstehender auf das Produkt schaut, ist man schnell mit der Frage bei der Hand: „Warum behebt ihr den Fehler nicht einfach?“ Das ist ein bisschen so, als würde man einen Bäcker fragen, warum er nicht einfach Zucker mit Sucralose ersetzt. Seine Antwort würde in etwa gleich ausfallen: „So einfach ist das nicht.“


Zahlen – Wie funktionieren sie eigentlich?

In Diablo III erlebt der Spieler eine Flut von Informationen. Lasst uns also über die Zahlen sprechen. Sie sind einfach überall! Ihr findet sie an eurer Ausrüstung, in eurem Charakterprofil, und sie schwirren um euren Nephalem, wenn ihr euch im Kampf befindet. Hinter jeder dieser Zahlen verbirgt sich eine gewaltige Menge an Technik, die dafür sorgt, dass sich diese Zahlen so verhalten, wie sie es eben tun.

Oft lautete hier das Feedback der Spieler, dass die Kampfzahlen im Spielgeschehen überhand nahmen oder im Eifer des Gefechts immer schwerer zu verstehen waren. Früher war es immer etwas Aufregendes, die hohen Zahlen zu sehen, da sie aus den restlichen Informationen hervorstachen. Wie schaffen wir es, diese Wirkung zurückzubringen, ohne Spielern den Eindruck zu geben, sie seien schwächer geworden?

Patch 2.4.0 enthält einige neue Features, die genau diesen Punkt behandeln. Erstens haben wir eine neue Spieloption hinzugefügt, mit der Zahlen in abgekürzter Form dargestellt werden können. Zweitens haben wir ein ganz neues Feature hinzugefügt, durch das einige euer höchsten Schadenszahlen in einer neuen Farbe erscheinen. Diese beiden Neuerungen haben bei der Implementierung ihre eigenen Herausforderungen mit sich gebracht; manches davon waren Designfragen, bei anderen ging es um Lokalisierungsprobleme – und als Ergebnis all dieser Entscheidungen sollte etwas herauskommen, das einfach gut aussieht.

Unser ursprünglicher Plan war es, die obersten 5 % der Zahlen hervorzuheben, die in den letzten paar Sekunden generiert wurden. Das erste Problem bei dieser Idee war, dass jede Charakteraufstellung anders funktioniert, vor allem wenn es darum geht, wie Schaden ausgeteilt wird. Der eine Charakter verursacht über Zeit kurze Stöße an Schadenszahlen, während beim anderen der Bildschirm mit einem konstanten Strom an Informationen gefüllt ist. Ein anderes Problem bei unserem ersten Anlauf war, dass Schwankungen in der ausgeteilten Schadensmenge nicht berücksichtigt werden konnten. Nehmen wir zum Beispiel einen Pylon der Macht, der euren Schaden kurzzeitig erhöht. Nachdem der Effekt des Pylonen endet, wollt ihr immer noch wissen, wenn ihr besonders großen Schaden zufügt.

Mit der Zeit haben wir unseren Algorithmus entsprechend angepasst, um diese Ausnahmen miteinzubeziehen. Schließlich haben wir folgende Regeln dafür festgelegt, welche Zahlen in Orange erscheinen:

  • Schadenszahlen müssen über 10.000 liegen, um in Betracht gezogen zu werden
  • Wenn die Schadenszahl höher ist als die letzte Zahl, die in Orange angezeigt wurde, wird diese neue Zahl auch in Orange angezeigt
  • Der Wert der Höchstzahl verfällt mit jeder verstreichenden Sekunde um 3 %
    • Hierdurch wird die Wahrscheinlichkeit verringert, dass es zu lange dauert, bis erneut eine hervorgehobene Zahl auftaucht
  • Die ersten 10 hohen Zahlen werden ignoriert
    • Hierdurch kann sich das System selbst kalibrieren
  • Wird 10 Sekunden lang kein Schaden zugefügt, wird das System zurückgesetzt


Wo sind meine Milliarden? – Herausforderungen der Lokalisierung

Wenn ihr den neuesten Patch gespielt habt, habt ihr unsere neuen Schadensabkürzungen vielleicht schon gesehen. Vor allem von unseren Spielern aus englischsprachigen Ländern wurden wir sehr oft gefragt, warum wir in Millionen rechnen, aber die Milliarde überspringen.

Dafür gibt es mehrere Gründe, einer der wichtigsten liegt jedoch in der Lokalisierung. Diablo III wird weltweit gespielt und existiert in 13 verschiedenen Sprachen. Wenn wir also eine Designentscheidung treffen, die das geschriebene Wort (oder, in diesem Fall, die geschriebene Zahl) betrifft, müssen wir uns darüber im Klaren sein, was diese Änderung in jeder der verschiedenen Spielversionen bedeutet. Man könnte meinen, von allen Spielinhalten seien Zahlen am allereinfachsten zu übersetzen, doch weit gefehlt.


Links: Englische Zahlen. Rechts: Koreanische Zahlen.

Dieses Beispiel soll veranschaulichen, dass eine vermeintlich einfache Übersetzung sich als recht kompliziert entpuppen kann. Einige Sprachen, wie Spanisch oder Französisch, verwenden für gewöhnlich nicht einmal ein spezielles Zahlwort für „Milliarde“. So wird diese Zahl dort als „eintausend Millionen“ bezeichnet, anstatt dafür ein eigenes Wort zu verwenden. Dies lässt sich darauf zurückführen, dass sowohl im Amerikanischen Englisch als auch im Britischen Englisch das Wort „Billion“ durchgesetzt hat, um „eintausend Millionen“ und nicht mehr „eine Million Millionen“ zu bezeichnen, wie es ursprünglich der Fall war.

Wenn wir zu Sprachen wie Koreanisch oder Chinesisch kommen, wird es noch komplizierter, da diese Sprachen hohe Zahlen anders gruppieren. Im Englischen und Deutschen ändert sich die Bezeichnung dieser Zahlen mit jeder dritten Stelle: Tausend, Million, Milliarde usw. Im Koreanischen ändert sich die Bezeichnung von Zahlen jedoch mit jeder vierten Stelle nach der Methode Myriade hoch zwei. Das liegt daran, dass Zahlen im Koreanischen nach dem Multiplikator Zehntausend gruppiert sind und nicht nach dem Multiplikator Tausend.

Dieses Problem wird durch die Zeichensetzung bei Zahlen noch weiter verkompliziert. Im Englischen werden die Tausenderstellen in Zahlen mit Kommas markiert. In anderen europäischen Sprachen, wie auch im Deutschen, werden hingegen Punkte verwendet, während wieder andere Sprachen hier überhaupt keine Einteilungszeichen setzen.


Links: Koreanische Goldmenge. Rechts: Französische Goldmenge.

Als die Zahlen in Diablo III größer und größer wurden und wir entschieden, Zeichensetzung bei den Zahlen zu verwenden, mussten wir einen Weg finden, diese Zeichensetzung auf eine elegante Art und Weise in alle andere Sprachen zu übersetzen. Unser Code enthält eine Programmbibliothek namens ICU, oder International Components for Unicode, die eine große Menge an Unterstützungsmöglichkeiten für die Lokalisierung von Software enthält. ICU bietet verschiedene Einsatzmöglichkeiten; für die genannte Problematik haben wir jedoch eine Funktion genutzt, bei der man eine Zahl und eine Sprachregion (z.B. Amerikanisches Englisch, Französisch oder Koreanisch) eingibt, woraufhin die Software eine korrekt formatierte Zahl mitsamt richtiger Zeichensetzung für die gewünschte Region ausspuckt. Unser Lokalisierungsteam verfügt zudem über eine Tabelle, der zu entnehmen ist, welche Zahlen in welcher Region auf welche Weise dargestellt werden.


Ein Beispiel aus einer unserer Lokalisierungstabellen, das zeigt, wie die Zahlen in den einzelnen Sprachen abgekürzt werden.

Bei einigen Lokalisierungen wird mehr abgekürzt, bei anderen weniger, meistens aufgrund von kulturellen Gewohnheiten. Hinter der Zufriedenheit der Spieler in Bezug auf die Länge der Zahlen, die sie sehen, verbirgt sich einiges an Psychologie, und die Vorlieben der Spieler unterscheiden sich sowohl auf persönlicher als auch auf kultureller Ebene. So haben wir zum Beispiel im Englischen die niedrigen Millionenstellen nicht abgekürzt, da es sehr viel zufriedenstellender ist, „1,000,000“ zu sehen als „1M“. Die Milliardenstelle zu überspringen, hat dabei ebenfalls geholfen, da sich „1,000M“ aufregender liest als „1B“ (1 billion = 1 Milliarde). Natürlich ist die Länge der Zahlen nicht der einzige Faktor: Die visuelle Darstellung sowie die Farben und Animationen spielen ebenfalls eine zentrale Rolle.


Zahlen wirken lassen – die visuelle Darstellung

Wenn Spieler eine Zahl sehen, ist es wichtig, dass sie die Möglichkeit haben, schnell zu erfassen, was diese Zahl bedeutet und warum sie diese Zahl zu diesem Zeitpunkt sehen. Es war unser Ziel, mit dem Patch 2.4.0 noch mehr Kampfinformationen zur Verfügung zu stellen als bisher. An diesem Punkt kommt die Hervorhebung der kritischen Trefferzahlen ins Spiel.

Seht euch diesen bildschönen kritischen Treffer an!

Die einfache Änderung der Textfarbe war eine von vielen verschiedenen Möglichkeiten, diese Information hervorzuheben. Wir haben lange überlegt, was der beste Weg wäre, diese mächtigen Treffer kenntlich zu machen. Sollten wir die Zahlen vergrößern? Sollten sie anders über den Bildschirm gehen? Sollten wir sie aufblinken lassen? Sollten sie länger sichtbar bleiben? Oder geben wir ihnen einfach eine andere Farbe? Wie entscheidet man, welche dieser Optionen die richtige ist?

Wir haben uns schließlich für die Farboption entschlossen, weil wir die neuen Informationen so auf eine Art und Weise präsentieren können, die sie deutlich hervorhebt, gleichzeitig aber keine Einschränkungen der Barrierefreiheit mit sich bringt. Orangefarbene Zahlen stechen deutlich hervor; man ist einfach nicht an diese Darstellung gewöhnt, sodass man sie unterbewusst genauer wahrnimmt.

Die Farbe Orange besteht zudem auch den Test für eine farbenblind-freundliche Darstellung. Wenn ihr euch einen Farbkreis anseht, werdet ihr feststellen, dass sich Orange in einem anderen Spektrum befindet, als die anderen Farben, mit denen wir zur Zeit andere Informationen darstellen. Das bedeutet, dass auch farbenblinde Spieler sofort merken, dass sich etwas verändert hat!

Wenn wir uns daran setzen, die Farben unseres Interfaces zu ändern, gibt es dafür drei Möglichkeiten zur Abstufung: Farbwert, Farbsättigung und Helligkeit. Diese sind Bestandteile des sogenannten HSL-Farbraums, eine digitale Standardversion des Farbkreises.  Jeder der drei Aspekte spielt eine zentrale Rolle dabei, unterschiedliche emotionale Wirkungen und Reaktionen der Spieler hervorzurufen. Wollen wir die Stimmung ändern? Dann passen wir den Farbwert an. Wenn wir eine knallige Grafik matter machen wollen, dann passen wir die Sättigung an. Und wenn wir Aufmerksamkeit erregen oder zerstreuen wollen? Da kommt die Helligkeit ins Spiel.

Zum Beispiel drehen sich einige der wichtigsten Informationsanzeigen im Spiel darum, wie viel Heilung ihr erhaltet. Die Heilung sichert im Spiel euer Überleben und wir wollen sie so gut sichtbar wie möglich machen. Deswegen scheinen heilungsbezogene Informationen im Spiel mit am hellsten auf. Wir wollten die Information über kritische Treffer ebenfalls sehr gut sichtbar machen. Daher haben wir viel mit der Helligkeit experimentiert, um sicherzustellen, dass ihr immer Bescheid wisst, wenn ihr euch beim Schaden selbst übertrefft.


Das Gesamtbild

Wenn wir über unser Diablo III-Team sprechen, denkt man leicht zuerst an unsere Entwickler, die die Funktionsweise einer Klasse oder eines Gegenstands anpassen oder coole, neue Features bereitstellen, die ihr ausprobieren könnt. Mit diesen Bereichen habt Ihr einen direkteren Kontakt und erinnert euch deswegen auch lebhafter an sie. Doch hinter den Kulissen wird abseits von der Ausrüstung eures Helden an so viel mehr getüftelt – unsere Artists, Engineers, Lokalisierungsexperten und unzählige andere Fachleute arbeiten daran, dass alle Puzzleteile ein stimmiges Gesamtbild für unsere Spieler auf der ganzen Welt ergeben.

Wir hoffen, ihr hattet Freude an diesem ausgiebigen Blick hinter die Kulissen eines kleines Features, das sich bei näherer Betrachtung doch als wahrer Eisberg entpuppt! Es ist wahrlich eine Ehre, jeden Tag an diesem Spiel arbeiten zu können, selbst wenn es um die kleinen Details geht. Vielen Dank fürs Lesen!