Comment j'ai généré mes premières cartes Pokemon avec l'IA
On peut en faire des choses sympas avec l’IA ! Notamment avec GPT-3.5 et surtout Midjourney qui est capable de faire de jolies images dans le style de votre choix. Et si je vous disais q’un furieux prénommé Jack a mis au point tout un script en Python qui permet de générer des cartes Pokemon qui n’existent pas en vrai, mais qui sont tout aussi réalistes. Et surtout des pokemons avec leurs évolutions qui sont cohérentes entre elles.
Le projet est libre et dispo sur Github et voici comment faire ça chez vous, à la maison.
Étape 1: Installation de Python 3.10 (ou supérieur)
Assurez-vous que Python 3.10 (ou une version plus récente) est bien installé sur votre ordinateur ^^. Vous pouvez vérifier si Python est déjà installé en tapant la commande suivante dans votre terminal:
python --version
Si vous ne disposez pas de Python, vous pouvez le télécharger depuis le site officiel de Python.
Étape 2: Installation des dépendances
Téléchargez le script Python du générateur de cartes Pokemon AI à partir de GitHub comme ceci :
git clone https://github.com/pixegami/pokemon-card-generator.git
Et placez-vous dans le dossier :
cd pokemon-card-generator
Puis installez les dépendances en tapant la commande suivante dans votre terminal :
pip install -r requirements.txt
Étape 3: Configuration de l’environnement
Ajoutez le chemin d’accès de votre dossier source au PYTHONPATH en tapant la commande suivante dans votre terminal bash :
export PYTHONPATH=$PYTHONPATH:src
Étape 4: Configuration d’OpenAI et de Midjourney
Si vous souhaitez utiliser OpenAI (GPT-3.5) pour générer des noms et des descriptions, vous devez créer un compte OpenAI et récupérer votre clé API.
Ensuite, vous pouvez ajouter votre clé API dans un fichier .env dans le dossier racine du projet.
nano .env
Et collez ceci dedans :
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Pour utiliser Midjourney pour générer des images de cartes, vous devez également créer un compte et rejoindre leur Discord.
Étape 5: Générer des cartes Pokemon
Ensuite, pour générer des cartes Pokemon, ouvrez votre terminal et tapez la commande suivante:
python src/generate.py
Cela va générer un ou plusieurs fichiers JSON contenant une série de cartes (entre 1 et 3 cartes) pour chaque élément (feu, eau…etc). La rareté, le type de créature et le nombre d’évolutions des cartes seront aléatoires.
Si vous voulez générer des cartes pour un élément spécifique, vous pouvez utiliser l’option -e (par exemple, pour générer des cartes pour l’élément feu):
python src/generate.py -n 10
Vous pouvez également préciser un type de Pokemon spécifique à générer en utilisant l’option –subject (par exemple, pour générer des cartes de Pokemon Citrouilles, pumpkin en anglais) :
python src/generate.py -e grass --subject pumpkin
Étape 6: Générer des images de cartes avec Midjourney
Dans le fichier JSON, vous trouverez un prompt pour générer l’image qui va bien dans Midjourney ainsi que le nom du fichier. Donc copiez le prompt d’image de chaque carte dans le bot Midjourney (à voir si ça peut aussi s’automatiser). Vous obtiendrez alors 4 images différentes. Choisissez celle qui vous plait le plus et faites en un agrandissement.
Ensuite, téléchargez l’image et sauvegardez-la dans le dossier “images” du dossier “output”. N’oubliez pas de renommer l’image pour qu’elle corresponde à l’image file dans le fichier JSON (par exemple, 001_chippo.png).
Notez que si vous n’avez pas Midjourney, vous pouvez également utiliser Stable Diffusion. Avec un peu d’entraînement, vous arriverez à des résultats du même niveau, comme ce qu’arrive à faire NickOlas.
La preuve :
Étape 7: Générer le rendu final des cartes
À présent, vous pouvez utiliser le script “render_cards.py” pour générer un rendu PNG des cartes.
Toutes les cartes qui pour lesquelles vous avez généré une image avec Midjourney seront correctement finalisées. Pour exécuter le script, tapez la commande suivante dans votre terminal:
python src/render_cards.py
Les cartes finales seront alors sauvegardées dans le dossier “renders”.
Et voilà ! Vous avez maintenant généré des cartes Pokemon aléatoires à l’aide d’IA en utilisant Python !
Ce qui pourrait être sympa évidemment, ce serait de franciser tout ça pour avoir des cartes Pokemon en français.