Auf der GDC Europe erklärte Matthew Steinke, Senior Gameplay Designer von The Witcher 3, dass eines der Kernsysteme des Spiels Monate vor der Veröffentlichung kaum existierte: Wirtschaft, Handwerk und Inventar waren „fragmentiert und unvollständig“, so sehr, dass „im Projekt keine Zeit mehr blieb, um alles bis zum Abgabetermin zu erledigen“.
Steinke ging von einem Zustandsdiagramm des „Ausgabenkreislaufs“ aus – Beute finanziert bessere Ausrüstung, bessere Ausrüstung ermöglicht härtere Kämpfe und mehr Beute. Das Schätzen von Preisen für Kräuter, Plunder und Bücher per Hand scheiterte schnell, also baute er eine Formel, die die Kampfattribute jedes Gegenstands zu einer Gesamtbewertung zusammenfasste, ordnete die Gegenstände in neun verallgemeinerte Kategorien ein und verwendete Polynome nach der Methode der kleinsten Quadrate, um den Preisverlauf jeder Kategorie gegen die Qualität aufzutragen.
Die ersten Kurven passten nicht zum geerdeten Ton des Spiels: Am unteren Ende ließ ein kleiner Qualitätszuwachs den Preis in die Höhe schnellen. Er stimmte die Kurven neu ab, sodass sie bis zum Endspiel langsam anstiegen, damit sich das letzte Reliktschwert wie ein echtes Vermögen anfühlte. Dann kam der praktische Kniff: Indem er die Koeffizienten vorab berechnete und in Tabellen speicherte, konnten die Preise zur Laufzeit prozedural erzeugt werden – eine unendliche Menge von Punkten, die exakt auf der Kurve liegen, mit entfernten fest codierten Werten und einer ganzen Klasse von Fehlern, die beseitigt wurde.
Den Preisverlauf jeder Gegenstandskategorie mit Polynomen nach der Methode der kleinsten Quadrate auftragen und dann die Koeffizienten in Tabellen speichern, sodass sich die Preise zur Laufzeit selbst erzeugen.
Es blieb keine Zeit mehr, um Tausende von Gegenständen in einer riesigen offenen Welt per Hand zu bepreisen.
Geschätzte Preise erzeugten unzusammenhängende Beziehungen zwischen den Gegenstandskategorien.
Kurven drückten die Designabsicht direkt aus: Knappheit im frühen Spiel, Reichtum im späten Spiel.
Die Erzeugung zur Laufzeit bedeutete, dass neue oder modifizierte Gegenstände sich selbst konsistent bepreisten.
Wenn man ein System nicht rechtzeitig per Hand abstimmen kann, modelliert man es als Kurve und liefert die Koeffizienten aus – die Mathematik erzeugt unbegrenzten Inhalt und löscht die fest codierten Werte, die Fehler verursachen.
The Witcher 3 erschien im Mai 2015 mit der kurvengesteuerten Wirtschaft, die seine Handwerks-, Inventar- und Beutesysteme miteinander verband, und Steinkes Vortrag auf der GDC Europe wurde zum öffentlichen Bericht darüber, wie die Panik vor dem Abgabetermin die Methode hervorbrachte.
DEN BELEGEN FOLGEN
Die Quellen
- How The Witcher 3's economy was saved by polynomial least squares Ars Technica · arstechnica.com ·