Es kann nie genug Mario auf der Welt geben. Sicher, es ist wahrscheinlich schon eine Weile her, dass Sie eines der ursprünglichen NES-Spiele gespielt haben, aber wahrscheinlich, weil sie so vertraut sind. Was wäre, wenn ich Ihnen sagen würde, dass Forscher einen Weg gefunden haben Generieren Sie unendliche Mario-Levels damit Sie jeden Tag ein brandneues spielen können, bis die Sonne ausbrennt?
Ein Team der IT University of Copenhagen hat gerade a veröffentlicht (vorveröffentlichtes) Papier Und GitHub Seite mit einer neuen Methode zum Codieren und Generieren von Super Mario Bros-Levels, die sie MarioGPT nennen. (Irgendwo in Redmond nippt ein Anwalt an seinem Kaffee und beginnt zu tippen.)
MarioGPT basiert auf GPT-2, nicht einer dieser neumodischen Konversations-KIs. Diese großen Sprachmodelle sind gut darin, nicht nur Wörter in Sätzen wie diesen aufzunehmen und mehr davon auszugeben – sie sind allgemeine Mustererkennungs- und Replikationsmaschinen.
„Wir haben ehrlich gesagt nur das kleinere ausgewählt, um zu sehen, ob es funktioniert!“ sagte Shyam Sudhakaran, Hauptautor des Papiers, in einer E-Mail an Tech. „Ich denke, bei kleinen Datensätzen im Allgemeinen ist GPT2 besser geeignet als GPT3, während es auch viel leichter und einfacher zu trainieren ist. In Zukunft müssen wir jedoch mit größeren Datensätzen und komplizierteren Eingabeaufforderungen möglicherweise ein ausgefeilteres Modell wie GPT3 verwenden.“
Selbst ein sehr großes LLM wird Mario-Levels nicht nativ verstehen, also mussten die Forscher zuerst einen Satz davon als Text rendern, um eine Art Zwergenfestungsversion von Mario zu produzieren, die ich ehrlich gesagt spielen würde:
Willst du Geld verdienen? Mario im Terminal. Sag nur.
Sobald die Ebene als eine Reihe gewöhnlicher Zeichen dargestellt ist, kann sie vom Modell ähnlich wie jede andere Reihe von Zeichen aufgenommen werden, sei es in geschriebener Sprache oder Code. Und sobald es die Muster versteht, die mit Merkmalen korrelieren, kann es sie reproduzieren.
Seine Ausgabe enthält einen „Pfad“, der als x in Kleinbuchstaben dargestellt wird und im Wesentlichen zeigt, dass das Level technisch spielbar ist. Sie fanden heraus, dass von 250 Levels neun von 10 von dem Spielsoftware-Agenten A* abgeschlossen werden konnten.
Natürlich wäre das kein großer Erfolg, wenn die Levels nur flach wären und gelegentlich Rohre zu räumen wären. Sie enthielten jedoch einige Funktionen, um zu messen, wie einfach der Pfad ist, und um ihn auch mit Ebenen aus dem Datensatz zu vergleichen. Hohe Neuheit und „interessante“ Pfadbahnen bedeuten machbare Levels, die nicht bestehenden ähneln, aber den Spieler nicht einfach durchgehen lassen.
Die beschriftete Eingabe sorgte auch dafür, dass das Modell Eingabeaufforderungen in natürlicher Sprache verstehen konnte, z. B. die Aufforderung, ein Level mit „vielen Rohren und vielen Feinden“ oder „vielen Blöcken, großer Höhe, keinen Feinden“ zu erstellen.
Eine Einschränkung besteht darin, dass es aufgrund der Art und Weise, wie ihre Quelldaten im Videospiel-Level-Korpus codiert sind, nur ein Symbol für „Feind“ gibt, anstatt jeweils eines für Goombas, Koopas usw. Dies kann jedoch bei Bedarf geändert werden – das Konzept, das bewiesen werden musste, war eher, dass überhaupt gute Pegel erzeugt werden können. (Leider sind Wasserstände derzeit auch nicht möglich, da sie nicht im Datensatz dargestellt werden.)
„In der zukünftigen Arbeit werden wir einige reichhaltigere Datensätze untersuchen!“ sagte Sudhakaran.
Zufällig Julian Togelius vom NYU GameLab und seine Gruppe habe gerade eine Arbeit geschrieben zeigt einen ähnlichen Prozess für „Sokoban“ oder Block-Pushing-Puzzlespiele. Die Prinzipien sind ähnlich, aber Sie können über die Unterschiede lesen Hier.
Dass diese Ansätze für zwei verschiedene Genres funktionierten, deutet darauf hin, dass sie für andere mit ähnlicher Komplexität funktionieren könnten – nicht ganz unendliche Chrono-Trigger erzeugen, aber ein KI-betriebener 2D-Sonic ist nicht ausgeschlossen.
Es sollte gesagt werden, dass dies nicht der erste Mario-Generator ist, den wir gesehen haben, aber andere verlassen sich eher nicht auf eine generative KI, sondern darauf, Levels aus vorgefertigten Tilesets und Sequenzen zusammenzustellen. Sie erhalten also möglicherweise eine neue Sequenz, die jedoch nicht Kachel für Kachel original ist, sondern nur Bildschirm für Bildschirm.
Als erste Version von MarioGPT ist dies rein experimentell und wird hoffentlich den Sauron-ähnlichen Blick von Nintendo vermeiden, der dafür bekannt ist, Fan-Projekte mit seinen Eigenschaften zu hämmern. Aber natürlich, während unendliches Mario nach Spaß klingt, liegt der Charme der Originalspiele in ihren handgefertigten Schwierigkeitsgraden und Themen – etwas, das nicht ganz so einfach nachzubilden ist.