Este es un script de Python que usa AI para generar nuevas tarjetas de Pokémon aleatorias. Elige de 6 elementos y un tipo de criatura, y el azar genera 1-2 habilidades.
Luego usa OpenAI para generar un nombre de Pokémon y una descripción, y crea un aviso para MidJourney (que debe usarse manualmente).
Luego, se puede usar un comando separado para combinar los datos de Pokémon con la obra de arte generada para crear una nueva tarjeta Pokemon.
¡Mira el video en YouTube!
La tarjeta generada terminada tendrá un nombre, descripción y obras de arte de tarjetas.
Descripción | Imagen de la tarjeta |
---|---|
Ignax es un pokemon caliente y sofocante que se encuentra en regiones similares al desierto que blande un hacha oscura mortal. Es conocido por su comportamiento feroz y su habilidad de aumento de encendido, que utiliza la ventaja de toits en batallas feroces e impresionantes. | ![]() |
El guión también puede generar una serie de cartas que evolucionan entre sí.
Formulario 1 | Formulario 2 | Formulario 3 |
---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Para la colección de ejemplo completa, vea la galería.
La salida estará en la carpeta /output
, con carpetas vacías para que pueda poner obras de arte de tarjetas.
[project root]
├───output
├───cards
├───images
Las cartas tendrán JSON así:
{
"index" : 26 ,
"name" : " Flamo " ,
"description" : " ... " ,
"element" : " Fire " ,
"rarity" : " common " ,
"rarity_index" : 0 ,
"hp" : 50 ,
"abilities" : [
{
"name" : " Scorch " ,
"element" : " Fire " ,
"cost" : 2 ,
"is_mixed_element" : false ,
"power" : 40
}
],
"image_prompt" : " a chibi young fire-type parrot pokemon, in a volcano environment, lava texture background, anime chibi drawing style, pastel background --niji --ar 3:2 " ,
"image_file" : " 026_flamo.png "
}
Puede usar el image_prompt
para generar la obra de arte de la tarjeta con MidJourney.
Instale Python 3.10 (o superior)
Instale las dependencias con pip install -r requirements.txt
Establezca su pythonpath en el src
para que los módulos puedan importarse.
# For bash, you can use:
export PYTHONPATH= $PYTHONPATH :src
Si desea usar OpenAI para generar nombres y descripciones, deberá configurar una cuenta con OpenAI.
Luego coloque su clave API en un archivo llamado .env
en la raíz del proyecto.
# In your .env file
OPENAI_API_KEY= " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "
Si desea obras de arte generadas por AI, también deberá configurar una cuenta (solo unirse a su discordia) con MidJourney.
Ejecutar esto generará una colección de Pokémon en la carpeta output
. ¡ADVERTENCIA! Cada vez que ejecute esto, sobrescribirá los archivos existentes en la carpeta output
.
python src/generate.py
Esto generará archivos json
de tarjetas, 1 serie de tarjetas (entre 1-3 tarjetas) para cada elemento. La rareza, el tipo de criatura y el número de evoluciones de las tarjetas serán aleatorias.
Verá el resumen de la serie de tarjetas generada:
Chippo (Neutral)
HP: 30
Rarity: ★ (common)
Abilities:
Slash (Neutral)
Cost: ● ●
Power: 20
Description: [...]
Image Prompt: [...]
python src/generate.py -n 10
python src/generate.py -e fire
Esto solo generará cartas para el elemento fire
. Los elementos disponibles son: fire
, water
, grass
, electric
, psychic
, neutral
.
También puede especificar un tipo de criatura específico (sujeto) para generar tarjetas para. Esto anulará la selección de sujeto predeterminada (que es aleatoria).
python src/generate.py -e grass --subject pumpkin
¡Literalmente puedes poner cualquier cosa aquí! ¿Diviértete con eso?
Pumkpin | Tucán | Esfinge |
---|---|---|
![]() | ![]() | ![]() |
Puede usar el image_prompt
para generar la obra de arte de la tarjeta con MidJourney. La solicitud de imagen estará en el archivo json
para cada tarjeta (y también en el image_prompts.txt
en la carpeta output
).
Chippo::0 a chibi young neutral-type toucan pokemon, in a village environment, bright lighting, anime chibi drawing style, pastel background --niji --ar 3:2
Copie esto en el indicador de la imagen /image
. Generará 4 variaciones de la imagen. Luego puede mejorarlo presionando uno de los botones U
en el bot.
Descargue y guarde la imagen en la carpeta output/pokemon-classic/images
. Luego cambie el nombre del archivo para que coincida con el image_file
en el archivo json
(p. 001_chippo.png
).
Puede usar el script render_cards.py
para convertir las tarjetas en un archivo PNG. Entrará en su carpeta output/pokemon-classic/renders
.
python src/render_cards.py
Cualquier tarjetas que tenga un archivo de imagen en la carpeta output/pokemon-classic/images
se representará. Si no se encuentra ninguna imagen, hará una tarjeta en blanco.
fuego | agua | césped | eléctrico | psíquico | lucha | neutral |
---|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Gracias a Theducktamerblanks por la plantilla de tarjeta en blanco.