Génération de mon propre Pokémon dans le monde
juillet 2026
Résumé
À partir des six mots saisis en cours de jeu, l'IA génère un nouveau type de Pokémon. Quelques minutes plus tard, ce nouveau Pokémon apparaît dans les herbes, et le joueur peut le rencontrer, le capturer et lui donner un surnom. Nous avons créé un prototype de recherche qui assemble sur place non seulement l'apparence et le nom, mais aussi le type, les valeurs de base, les techniques et les données utilisées dans le jeu.
Dans le prototype, la conversation, la saisie de mots, la génération en arrière-plan, les rencontres dans la nature, la capture et la nomination ont été reliées en une seule expérience sans arrêter le jeu. Les nouvelles espèces sont enregistrées non pas comme de simples images, mais comme des races que le système de jeu existant peut gérer.
Ce sur quoi nous nous sommes concentrés dans cette initiative n'est pas le modèle génératif lui-même. Il s'agit d'un « cadre de génération » dans lequel les humains conçoivent les conditions pour maintenir l'équilibre du jeu et la cohérence visuelle, et ne laissent l'IA explorer que dans cette limite. De plus, nous avons examiné préalablement, en jouant nous-mêmes, si l'attachement se développerait vraiment pour une création exclusive.
Question — Si c'est unique en son genre, un attachement naîtra-t-il ?
Les jeux offrent le plaisir de choisir un personnage, de le développer et de lui donner un nom pour en faire une « existence qui vous est propre ». Cependant, ce point de départ se trouve parmi les choix préparés par les développeurs. Si, grâce à l'IA générative, il était possible de créer une existence spécifique au joueur dès le point de départ, l'attachement deviendrait-il encore plus fort ?
Pour vérifier cette question, il ne suffit pas de générer une seule image. Il est nécessaire que l'entité générée entre dans le monde du jeu, rencontre, capture et continue à être utile par la suite. Ainsi, nous avons préparé deux points d'entrée différents, impliquant le joueur de manière différente. En parlant au grand-père, la génération se fait sans aucune entrée, et en parlant à la grand-mère, le joueur choisit six mots. Le côté auquel on parle en premier détermine la méthode de génération pour cette partie.
Le but de ce prototype n'est pas de tirer des conclusions sur l'attachement. Il s'agit de créer une base pour intégrer les produits dans une expérience de jeu normale et de trouver des conditions comparables pour l'avenir.
Déroulement du jeu
Voici le déroulement de la « génération par engagement » où le joueur choisit des mots. On parle à une grand-mère dans la forêt de Touka, puis on choisit six mots avec la « conversation facile » déjà présente dans le jeu. La génération progresse pendant que l'on continue à jouer et, lorsque tout est prêt, on entend un cri. En entrant dans les hautes herbes, une nouvelle espèce apparaît et peut être capturée avec les mêmes manipulations que pour un Pokémon sauvage normal. Le nom, le type, les valeurs de base, les capacités, les sprites de combat avant et arrière, ainsi que l'icône du Pokémon tenu sont générés à chaque exécution. L'ensemble de ces actions peut également être vérifié dans Vidéo de démonstration.
Problème de conception — Si vous générez librement, le jeu se casse
Le fait qu'une IA puisse imaginer un nouveau personnage et le fait que ce personnage fonctionne dans un jeu sont deux problèmes différents. Si ses capacités sont trop élevées, la difficulté s'effondre, et s'il y a un mauvais alignement entre le type et les compétences, il devient difficile à entraîner. Si son apparence est trop complexe, il devient impossible de discerner sa forme lorsqu'on la convertit en sprite de 64×64 pixels.
D'autre part, si tout est fixé, il n'y a aucun sens à ce que des choses différentes apparaissent à chaque exécution. Ce qui est nécessaire, ce n'est pas de supprimer la liberté de l'IA, mais de distinguer les parties à protéger en tant que jeu et les parties à laisser varier.
Ainsi, l'objet du design a été déplacé d'un seul Pokémon vers un espace capable de générer des Pokémon. L'humain définit les objectifs, les contraintes, les interdictions et les méthodes de vérification, et l'IA concrétise les candidats à l'intérieur de ce cadre. Il s'agit d'un essai de design contraint Ma philosophie de design en tant que prototype fonctionnel.
Approche — concevoir les conditions de génération plutôt que le produit généré
On ne fait pas écrire de texte libre au LLM, mais on le fait remplir uniquement les éléments définis tels que le nom, le type, les valeurs de base, les techniques, la morphologie et la couleur. La sortie n'est pas adoptée telle quelle, mais vérifiée par un validateur. En cas de violation, on renvoie au modèle la règle enfreinte et on régénère jusqu'à ce que les conditions soient remplies.
- Les humains déterminent les frontières. Faites des règles inspectables concernant l'équilibre du jeu, la forme lisible à l'écran et les expressions à éviter.
- L'IA concrétise les propositions. Proposer des valeurs d'éléments autorisés en se basant sur les mots du joueur.
- La machine vérifie les règles. Évaluer automatiquement les valeurs numériques, les combinaisons de techniques et les expressions interdites.
- Ne faire un retour que sur les violations. Les candidats qui ne remplissent pas les conditions sont renvoyés avec les raisons et régénérés.
Des contraintes pour protéger le jeu. Le total des valeurs de base est compris entre 280 et 360, et des limites supérieures et inférieures ont été imposées à chaque capacité. Les techniques ont été extraites des sources du jeu, en se concentrant sur le type de la famille ou le type normal. De plus, les attaques One-Hit KO, l'explosion, les dégâts fixes et les techniques trop puissantes ont été exclues, et le nombre d'attaques ainsi que la présence de techniques correspondant au type ont également été vérifiés. Le taux de capture et la vitesse de croissance ont été fixés afin que les différences dues à la génération puissent rester dans une plage comparable.
Une contrainte pour préserver l'apparence. La morphologie a été choisie parmi les candidats qui permettent même à un petit sprite de conserver ses contours, et le vocabulaire des couleurs et des caractéristiques a également été limité. Les traits humains, le sang, les armes et les caractères ont été exclus. Enfin, les conditions pour éviter les anomalies, telles que « un seul corps », « corps entier » et « ne pas créer de membres supplémentaires », doivent absolument être ajoutées aux instructions de génération d'images.
Selon un enregistrement, le modèle a d'abord proposé un plan avec une somme de valeurs de race de 380. Le cadre détectait les violations et incitait à la régénération, convergeant finalement vers une spécification de 320. L'important n'est pas que de bons résultats surviennent par hasard, mais que le processus ait été conçu de manière à ne pas adopter de résultats en dehors du cadre.
Terminer l'expérience à l'intérieur du jeu
Ce que le joueur touche, ce sont seulement les conversations dans le jeu, le choix des mots et les rencontres dans les herbes hautes. Il n'est pas nécessaire d'ouvrir un autre écran pour la génération. Par ailleurs, les traitements à forte charge de calcul sont pris en charge par un processus Python sur le PC, qui communique avec le jeu via des fichiers. Un script Lua sur mGBA fait le lien entre les deux, séparant ainsi la sensation de jeu existante des traitements de l'IA externe.
- Créer des spécifications. Le modèle de langue local convertit six mots en données ethniques vérifiées.
- Former une figure. Le modèle d'image dessine une illustration de référence, puis génère des icônes de face, de dos et de main de manière cohérente.
- Convertir en données pour le jeu. Réduire l'image à 15 couleurs, puis la convertir et la compresser en sprites et palettes pouvant être utilisés par la GBA.
- Appliquer au jeu en cours d'exécution. Écrire des données dans la zone réservée et faire apparaître une nouvelle espèce sans redémarrer le jeu.
Comme les mêmes données sont également écrites sur le disque, les races reflétées restent même après avoir rechargé le jeu. La génération se fait une seule fois et ne peut pas être annulée. Si vous fuyez la rencontre ou êtes vaincu, elles restent dans le monde, mais si vous les battez, elles ne réapparaîtront jamais. Cette irréversibilité est également un design destiné à donner à l'expérience le sens de "seul un exemplaire dans le monde".
Ce qui a pu être confirmé avec le prototype
Ceci est une vérification de faisabilité réalisée seul, et non pas un jeu complet ou une expérience utilisateur. Les points atteints et les parties non vérifiées sont séparés comme suit.
- Portée dans laquelle le fonctionnement a été vérifié. Nous avons vérifié de bout en bout sur mGBA la conversation dans le jeu, la saisie des six mots, la génération de l’arrière-plan, la réflexion dans le jeu en cours d’exécution, les rencontres dans la nature, la capture et la saisie des surnoms.
- Ce qui a été implémenté pour comparaison. Nous avons préparé deux points d'entrée : la « génération passive » sans saisie et la « génération participative » où l'on choisit les mots, afin de pouvoir enregistrer des conversations, des rencontres et des captures.
- Il existe une base, mais la portée n'a pas été testée dans son ensemble. La montée de niveau après la capture, l'apprentissage des techniques, les combats, la sauvegarde dans la boîte et l'utilisation continue après la sauvegarde sont connectés au système existant, mais une vérification à travers de longues sessions de jeu n'a pas été effectuée.
- Portée non implémentée. La fonction de générer l'évolution sur place et l'expérience comparative de l'attachement par plusieurs participants ont été laissées comme des tâches futures.
Le résultat de mon propre essai — être unique en son genre ne suffisait pas à susciter de l'attachement.
D'après mon propre essai du prototype, je n'ai pas développé un attachement fort pour les Pokémon générés. Il s'agit du ressenti personnel de l'implémenteur lui-même et ce n'est pas un résultat expérimental généralisable. Cependant, cela m'a donné un indice sur ce qu'il conviendrait de changer ensuite pour comparer.
Il y a deux conditions qui semblent influencer l'attachement.
- La qualité du produit généré. Si l'apparence et les paramètres ne franchissent pas un certain seuil de charme, l'attachement ne peut pas être soutenu uniquement par la rareté de « l'unique dans le monde ».
- Profondeur de l'engagement. Choisir seulement six mots m'a fait sentir le résultat plus comme « reçu » que « créé par moi-même ». On peut penser que ce qui engendre un sentiment d'implication n'est pas la quantité d'entrées, mais la qualité du processus de création, comme re-sélectionner, comparer, réviser et assumer la responsabilité du résultat.
En contraste, il y a « Hanagitsune », créé non pas par génération automatique pour les jeux, mais en combinant dialogues avec plusieurs intelligences artificielles génératives et travail manuel. J'ai de l'affection pour ce personnage, car j'ai comparé les propositions, les corrigé et travaillé jusqu'à obtenir une forme satisfaisante. Je pense que c'est parce qu'il y avait à la fois une qualité suffisante et un engagement incluant des essais et erreurs.
Ce prototype ne répond pas à la question « Est-ce que le contenu généré suscite de l'attachement ? ». La question floue a été divisée en deux éléments, la qualité du contenu généré et la profondeur de l'engagement, qui peuvent être modifiés intentionnellement. Lors de la prochaine vérification, il sera nécessaire d'intégrer des choix, des comparaisons et des corrections dans le processus de création, et d'aligner la qualité du contenu généré à un certain niveau, avant de procéder à des comparaisons par plusieurs participants.
implémentation
Le pipeline de génération, le cadre des contraintes et de la validation, la conversion des données pour la GBA et les modifications du côté du jeu sont publiés sur Dépôt GitHub.
pret/pokeemerald Basé sur le décompilage, cela a été réalisé en tant que recherche personnelle. Aucun des éléments suivants n'est distribué : ROM, patch de ROM, ou les assets du jeu. Tous les sprites publiés ici sont des créations originales générées par l'IA. Pokémon est une marque déposée de Nintendo, de Creatures Inc. et de Game Freak Inc., et ce projet n'a aucun lien avec ces entreprises et n'a obtenu aucune approbation de leur part.