MarioGPT fait allusion à un avenir glorieux généré par l’IA où nous jouerons tous à Nintendo pour toujours

Il ne peut jamais y avoir trop de Mario dans le monde. Bien sûr, cela fait probablement un moment que vous n’avez pas joué à l’un des jeux NES originaux, mais probablement parce qu’ils sont si familiers. Et si je vous disais que des chercheurs ont créé un moyen de générer des niveaux Mario infinis pour pouvoir en jouer une toute nouvelle tous les jours jusqu’à ce que le soleil s’éteigne ?

Une équipe de l’IT University of Copenhagen vient de publier un article (pré-pub) et une page GitHub montrant une nouvelle méthode d’encodage et de génération de niveaux Super Mario Bros, qu’ils appellent MarioGPT. (Quelque part à Redmond, un avocat sirote son café et commence à taper.)

MarioGPT est basé sur GPT-2, et non sur l’une de ces IA conversationnelles dernier cri. Ces grands modèles de langage ne se contentent pas de prendre des mots dans des phrases comme celles-ci et d’en produire d’autres comme eux – ce sont des machines de reconnaissance et de réplication de formes à usage général.

« Honnêtement, nous avons juste choisi le plus petit pour voir s’il fonctionnait ! » a déclaré Shyam Sudhakaran, auteur principal de l’article, dans un e-mail à TechCrunch. « Je pense qu’avec de petits ensembles de données en général, GPT2 est mieux adapté que GPT3, tout en étant beaucoup plus léger et plus facile à former. Cependant, à l’avenir, avec des ensembles de données plus volumineux et des invites plus compliquées, nous devrons peut-être utiliser un modèle plus sophistiqué comme GPT3.

Même un très grand LLM ne comprendra pas les niveaux de Mario de manière native, donc les chercheurs ont d’abord dû en rendre un ensemble sous forme de texte, produisant une sorte de version Dwarf Fortress de Mario que, honnêtement, je jouerais :

Chaque tuile est rendue sous la forme d’un personnage différent. Crédits image : Université informatique de Copenhague

Vous voulez gagner de l’argent ? Mario dans le terminal. Juste dire.

Une fois que le niveau est représenté comme une série de caractères ordinaires, il peut être ingéré par le modèle comme n’importe quelle autre série de caractères, qu’il s’agisse de langage écrit ou de code. Et une fois qu’il comprend les modèles qui correspondent aux caractéristiques, il peut les reproduire.

Sa sortie comprend un « chemin » représenté par des x minuscules, montrant essentiellement que le niveau est techniquement jouable. Ils ont constaté que sur 250 niveaux, neuf sur 10 pouvaient être complétés par l’agent logiciel de jeu A*.

Bien sûr, cela ne serait pas un grand succès si les niveaux étaient simplement plats avec des tuyaux occasionnels à nettoyer. Mais ils ont inclus quelques fonctions pour mesurer la simplicité du chemin et le comparer également aux niveaux de l’ensemble de données. Une nouveauté élevée et des trajectoires de chemin «intéressantes» signifient des niveaux réalisables qui ne ressemblent pas à ceux existants, mais ne laissent pas le joueur se contenter de traverser.

L’entrée étiquetée a également fait en sorte que le modèle puisse comprendre les invites en langage naturel, comme lui demander de créer un niveau avec «beaucoup de tuyaux et beaucoup d’ennemis» ou «beaucoup de blocs, haute altitude, pas d’ennemis».

Exemples de niveaux créés par des invites textuelles. Crédits image : Université informatique de Copenhague

Une limitation est qu’en raison de la façon dont leurs données source dans le corpus de niveau de jeu vidéo sont encodées, il n’y a qu’un seul symbole pour « ennemi », au lieu d’un pour chacun des goombas, des koopas, etc. Mais cela peut être modifié si nécessaire – le Le concept qui devait être prouvé était plus que de bons niveaux pouvaient être générés. (Malheureusement, les niveaux d’eau ne sont pas non plus actuellement possibles car ils ne sont pas représentés dans l’ensemble de données.)

« Dans les travaux futurs, nous allons explorer des ensembles de données plus riches ! » dit Sudhakaran.

Par coïncidence, Julian Togelius de NYU GameLab et son groupe viennent d’écrire un article montrant un processus similaire pour les « sokoban » ou les jeux de puzzle à blocs. Les principes sont similaires, mais vous pouvez lire les différences ici.

Le fait que ces approches aient fonctionné pour deux genres différents suggère que cela pourrait fonctionner pour d’autres de complexité similaire – ne générant pas tout à fait un Chrono Trigger infini, mais un Sonic 2D alimenté par l’IA n’est pas hors de question.

Il faut dire que ce n’est pas le premier générateur de Mario que nous ayons vu, mais d’autres ont tendance à ne pas s’appuyer sur une IA générative mais sur l’assemblage de niveaux à partir de jeux de tuiles et de séquences pré-créés. Ainsi, vous pouvez obtenir une nouvelle séquence, mais elle ne sera pas originale mosaïque par mosaïque, mais écran par écran.

En tant que première version de MarioGPT, celle-ci est purement expérimentale et, espérons-le, évitera le regard de type Sauron de Nintendo, qui est connu pour marteler des projets de fans impliquant ses propriétés. Mais bien sûr, alors que Mario infini semble amusant, le charme des jeux originaux réside dans leur difficulté et leurs thèmes fabriqués à la main – quelque chose qui n’est pas si facile à recréer.

Source-146