Hüpft künftig vielleicht auch durch KI-generierte Levels: Super Mario.

Foto: Super Mario

Wer sich an selbst gebastelten Herausforderungen für "Super Mario" versuchen möchte, für den hat Nintendo den "Super Mario Maker" bereit gestellt. Wer lieber neue Levels spielen möchte und sich an den Kreationen anderer Fans schon sattgesehen hat, der könnte sich vielleicht künftig mit einer Künstlichen Intelligenz behelfen.

Forschende der IT-Universität der dänischen Hauptstadt Kopenhagen haben dem neuralen Netzwerk GPT 2 – Vorgänger des aktuellen GPT 3 und seiner Konversationsspezialisierung ChatGPT – nämlich beigebracht, auf Kommando neue Levels zu erstellen.

Originallevels und Wegfindung

Um der KI Daten und das grundlegende Konzept solcher Karten beizubringen, wertete sie 37 Levels aus den beiden Klassikern "Super Mario Bros." und "Super Mario Bros.: The Lost Levels" aus, die im offenen "Video Game Level Corpus"-Datensatz zu finden sind. Die Karten wurden dafür in ein riesiges Gesamtlevel kombiniert und die möglichen Bewegungspfade gekennzeichnet.

Gleichzeitig wurden die Bewegungsparameter der Spielfigur – insbesondere Sprunghöhe und -weite – mit dem Algorithmus "A*" verknüpft, der in der Spieleentwicklung gerne zur Umsetzung einfacher Wegfindung eingesetzt wird. Dies diente zur Verifizierung, ob ein generiertes Level überhaupt zu Ende gespielt werden kann und floss mit der Ermittlung möglicher Durchquerungspfade auch in die Bewertung des Abwechslungsreichstums zwischen den Abschnitten ein.

Nutzer erstellen keine grafische Vorlage für Level, sondern geben einfache Befehle, in denen sie ausführen, welche Elemente sie in welcher Häufigkeit in der fertigen Spielwelt sehen wollen. Solche Kommandos können etwa lauten "viele Röhren, viele Gegner, kleine Blöcke, niedrig" oder auch "keine Röhren, keine Gegner, viele Blöcke".

Level-Beispiele mit unterschiedlichen Kommandos.
Foto: IT University Copenhagen

Endlos-Levels mit Abwechslung

Neben abgeschlossenen Karten kann MarioGPT auch unendlich fortlaufende Levels generieren. Dabei kommt ein "Vielfalts-Algorithmus" namens "Novelty Search" zum Einsatz. Dieser sorgt dafür, dass sich Levelabschnitte in Sachen Layout und Bewegungsmustern möglichst abwechslungsreich gestalten sollen.

Insgesamt operiert die KI mit 12 Blocktypen, wobei 4 davon (Seitenteil links und rechts, Endteil links und rechts) zur Erstellung von Röhren notwendig sind, einer die Platzierung von Münzen beschreibt und einer der Platzierung von Gegnern dient. Darüber hinaus gibt es noch zwei Kanonenblöcke, leeren Hintergrund, zerstörbare und unzerstörbare Boden bzw. Hindernisse sowie "?"-Blöcke. Generiert werden jeweils 50 Blöcke breite Abschnitte. Ein eigenes Vorhersagemodell namens "MarioBert" – im Prinzip eine kleine KI innerhalb der KI – ändert dann den Grenzbereich des vorhergehenden Blocks, um beide auf spielbare Art und Weise zu verbinden.

Insgesamt durfte die KI sich anhand von 200.000 Level-Generierungen verbessern, ehe die Forscher ihre Erfolge und Misserfolge in Zahlen fassten. Über 88 Prozent der erstellten Level wurden mittels A*-Pfadermittlung als spielbar identifiziert.

Defizite

Allerdings hat MarioGPT auch noch ein paar Defizite. Gelegentlich etwa ignoriert die KI Teile von Befehlen und baut in Level, für die man sich eigentlich "keine Gegner" gewünscht hat, doch Widersacher ein. Zudem kennt es keine verschiedenen Gegnertypen, sondern platziert Goombas, Koopas und andere Feinde nach zufälliger Auswahl, was der Spielbarkeit zuwider laufen kann. Auch mit Röhren erreichbare Untergrundabschnitte gibt es noch nicht.

Das Forscherteam hat seine Arbeit in einem auf Arxiv veröffentlichten Paper (PDF) vorgestellt und will die KI nun mithilfe von menschlicher Bewertung ihres Outputs weiter verbessern und auch ihre Fähigkeiten erweitern. Es ist durchaus denkbar, dass Games wie "Super Mario" in Zukunft die Option bieten, mittels KI neue Levels erstellen zu lassen, die dann auch interessant zu spielen sind. (gpi, 18.2.23)