
Это сценарий Python, который использует ИИ для генерации новых, случайных карт Pokemon. Он выбирает из 6 элементов и типа существа, и случайный генерирует 1-2 способностя.
Затем он использует OpenAI для генерации названия покемонов и описания, и создает подсказку для Midjourney (которое нужно использовать вручную).
Тогда отдельная команда может использоваться для объединения данных Pokemon с генерируемым произведением искусства для создания новой карты Pokemon.
Посмотрите видео на YouTube!
Заготовленная сгенерированная карта будет иметь название, описание и карты.
| Описание | Карт изображение |
|---|---|
| Ignax-это дурацкий горячий покемон, найденный в пустынных регионах, которые размахивают смертельным темным топором. Он известен своим жестким поведением и способностью к всплеску зажигания, которую он использует в жестких, внушающих страх битвах. | ![]() |
Сценарий также может генерировать серию карт, которые развиваются друг от друга.
| Форма 1 | Форма 2 | Форма 3 |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Для получения полной коллекции, см. Галерею.
Вывод будет в папке /output , с пустыми папками, которые вы можете поместить карты.
[project root]
├───output
├───cards
├───images
У карт будет так:
{
"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 "
} Вы можете использовать image_prompt для создания карты с помощью Midjourney.
Установите Python 3.10 (или выше)
Установите зависимости с помощью pip install -r requirements.txt
Установите свой PythonPath в src , чтобы модули могли быть импортированы.
# For bash, you can use:
export PYTHONPATH= $PYTHONPATH :srcЕсли вы хотите использовать OpenAI для генерации имен и описаний, вам нужно будет настроить учетную запись с OpenAI.
Затем поместите свой ключ API в файл с именем .env в корне проекта.
# In your .env file
OPENAI_API_KEY= " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "Если вы хотите создать искусство искусства, вам также нужно будет настроить учетную запись (просто присоединиться к их Discord) с Midjourney.
output ПРЕДУПРЕЖДЕНИЕ! Каждый раз, когда вы запускаете это, он перезаписывает существующие файлы в output .
python src/generate.py Это будет генерировать карты json файлы, 1 серию карт (от 1 до 3 карт) для каждого элемента. Редкость, тип существ и количество эволюций карт будут случайными.
Вы увидите резюме сгенерированной серии карт:
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 Это будет генерировать только карты для элемента fire . Доступными элементами: fire , water , grass , electric , psychic , neutral .
Вы также можете указать конкретный тип существа (субъект) для создания карт. Это переоценит выбор субъекта по умолчанию (что является случайным).
python src/generate.py -e grass --subject pumpkinВы можете буквально поставить здесь что угодно! Развлечься с этим?
| Pumkpin | Тукан | Сфинкс |
|---|---|---|
![]() | ![]() | ![]() |
Вы можете использовать image_prompt для создания карты с помощью Midjourney. Приглашение изображения будет находиться в файле json для каждой карты (а также в image_prompts.txt в 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
Скопируйте это в подсказку Midjourney /image . Это генерирует 4 вариации изображения. Затем вы можете увеличить его, нажав одну из кнопок U на боте.
Загрузите и сохраните изображение в папку output/pokemon-classic/images . Затем переименование файла в соответствии с image_file в файле json (например, 001_chippo.png ).

Вы можете использовать сценарий render_cards.py , чтобы отобрать карты в файл PNG. Он перейдет в вашу папку output/pokemon-classic/renders .
python src/render_cards.py Будут отображаться любые карты, имеющие файл изображения в папке output/pokemon-classic/images . Если изображение не найдено, оно сделает пустую карту.
| огонь | вода | трава | электрический | экстрасенс | боевой | нейтральный |
|---|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Спасибо Theducktamerblanks за пустую карту шаблон.