
Ini adalah skrip Python yang menggunakan AI untuk menghasilkan kartu Pokemon acak baru. Ini memilih dari 6 elemen dan jenis makhluk, dan acak menghasilkan kemampuan 1-2.
Ini kemudian menggunakan OpenAi untuk menghasilkan nama Pokemon dan deskripsi, dan menciptakan prompt untuk midjourney (yang perlu digunakan secara manual).
Kemudian perintah terpisah dapat digunakan untuk menggabungkan data Pokemon dengan karya seni yang dihasilkan untuk membuat kartu Pokemon baru.
Tonton videonya di YouTube!
Kartu yang dihasilkan selesai akan memiliki nama, deskripsi, dan karya seni kartu.
| Keterangan | Gambar kartu |
|---|---|
| IGNAX adalah pokemon panas terik yang ditemukan di daerah seperti gurun yang mengacungkan kapak gelap yang mematikan. Ia dikenal karena sikapnya yang sengit dan kemampuan lonjakan pengapiannya, yang menggunakan keuntungan dalam pertempuran yang sengit dan menakjubkan. | ![]() |
Skrip juga dapat menghasilkan serangkaian kartu yang berevolusi satu sama lain.
| Formulir 1 | Formulir 2 | Formulir 3 |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Untuk koleksi contoh lengkap, lihat galeri.
Output akan berada di folder /output , dengan folder kosong untuk Anda masukkan ke dalam karya seni kartu.
[project root]
├───output
├───cards
├───images
Kartu akan memiliki JSON seperti ini:
{
"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 "
} Anda dapat menggunakan image_prompt untuk menghasilkan karya seni kartu dengan midjourney.
Pasang Python 3.10 (atau lebih tinggi)
Instal dependensi dengan pip install -r requirements.txt
Atur pythonpath Anda ke src sehingga modul dapat diimpor.
# For bash, you can use:
export PYTHONPATH= $PYTHONPATH :srcJika Anda ingin menggunakan OpenAi untuk menghasilkan nama dan deskripsi, Anda harus mengatur akun dengan OpenAi.
Kemudian masukkan kunci API Anda ke dalam file yang disebut .env di root proyek.
# In your .env file
OPENAI_API_KEY= " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "Jika Anda ingin karya seni yang dihasilkan AI, Anda juga perlu membuat akun (cukup bergabung dengan perselisihan mereka) dengan midjourney.
Menjalankan ini akan menghasilkan koleksi pokemon ke folder output . PERINGATAN! Setiap kali Anda menjalankan ini, itu akan menimpa file yang ada di folder output .
python src/generate.py Ini akan menghasilkan file json kartu, 1 seri kartu (antara 1-3 kartu) untuk setiap elemen. Kelangkaan, jenis makhluk, dan jumlah evolusi kartu akan acak.
Anda akan melihat ringkasan seri kartu yang dihasilkan:
Chippo (Neutral)
HP: 30
Rarity: ★ (common)
Abilities:
Slash (Neutral)
Cost: ● ●
Power: 20
Description: [...]
Image Prompt: [...]
python src/generate.py -n 10python src/generate.py -e fire Ini hanya akan menghasilkan kartu untuk elemen fire . Elemen yang tersedia adalah: fire , water , grass , electric , psychic , neutral .
Anda juga dapat menentukan tipe makhluk tertentu (subjek) untuk menghasilkan kartu untuk. Ini akan mengesampingkan pemilihan subjek default (yang acak).
python src/generate.py -e grass --subject pumpkinAnda benar -benar dapat meletakkan apa pun di sini! Bersenang -senang dengan itu?
| Pumkpin | Toucan | Sphinx |
|---|---|---|
![]() | ![]() | ![]() |
Anda dapat menggunakan image_prompt untuk menghasilkan karya seni kartu dengan midjourney. Prompt gambar akan berada di file json untuk setiap kartu (dan juga di image_prompts.txt di folder 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
Salin ini ke Midjourney /image Prompt. Ini akan menghasilkan 4 variasi gambar. Anda kemudian dapat meningkatkannya dengan menekan salah satu tombol U pada bot.
Unduh dan simpan gambar ke dalam folder output/pokemon-classic/images . Kemudian ganti nama file untuk mencocokkan image_file di file json (misalnya 001_chippo.png ).

Anda dapat menggunakan skrip render_cards.py untuk membuat kartu ke dalam file png. Ini akan masuk ke folder output/pokemon-classic/renders Anda.
python src/render_cards.py Kartu apa pun yang memiliki file gambar di folder output/pokemon-classic/images akan diterjemahkan. Jika tidak ada gambar yang ditemukan, itu akan membuat kartu kosong.
| api | air | rumput | listrik | cenayang | berkelahi | netral |
|---|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Terima kasih kepada Theducktamerblanks untuk template kartu kosong.