
これは、AIを使用して新しいランダムポケモンカードを生成するPythonスクリプトです。 6つの要素と1種類のクリーチャーから選択し、ランダムは1-2の能力を生成します。
次に、OpenAIを使用してポケモン名と説明を生成し、MidJourneyのプロンプト(手動で使用する必要があります)を作成します。
次に、個別のコマンドを使用して、ポケモンデータと生成されたアートワークを組み合わせて新しいポケモンカードを作成できます。
YouTubeでビデオをご覧ください!
完成した生成されたカードには、名前、説明、カードのアートワークがあります。
| 説明 | カード画像 |
|---|---|
| イグナックスは、致命的な暗いxを振り回す砂漠のような地域で見られるbeltする熱いポケモンです。激しい態度とイグニッションサージ能力で知られています。これは、激しい、a敬の念を起こさせる戦いで有利になります。 | ![]() |
スクリプトは、互いに進化する一連のカードを生成することもできます。
| フォーム1 | フォーム2 | フォーム3 |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
完全な例コレクションについては、ギャラリーを参照してください。
出力は/outputフォルダー内にあり、空のフォルダーがカードアートワークを入力するための空のフォルダーがあります。
[project root]
├───output
├───cards
├───images
カードにはこのようなJSONがあります:
{
"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 :srcOpenAIを使用して名前と説明を生成する場合は、OpenAIでアカウントを設定する必要があります。
次に、APIキーをプロジェクトのルートにある.envというファイルに入れます。
# In your .env file
OPENAI_API_KEY= " sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "AIで生成されたアートワークが必要な場合は、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 | Toucan | スフィンクス |
|---|---|---|
![]() | ![]() | ![]() |
image_prompt使用して、MidJourneyでカードアートワークを生成できます。画像プロンプトは、各カードのjsonファイル(およびoutputフォルダーのimage_prompts.txt )にあります。
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ボタンの1つを押すと、アップスケールできます。
画像をダウンロードして、 output/pokemon-classic/imagesフォルダーに保存します。次に、 jsonファイルのimage_fileに一致するようにファイルを変更します(例: 001_chippo.png )。

render_cards.pyスクリプトを使用して、カードをpngファイルにレンダリングできます。 output/pokemon-classic/rendersフォルダーになります。
python src/render_cards.py output/pokemon-classic/imagesフォルダーに画像ファイルがあるカードがレンダリングされます。画像が見つからない場合、空白のカードがレンダリングされます。
| 火 | 水 | 草 | 電気 | サイキック | ファインティング | 中性 |
|---|---|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
空白のカードテンプレートについては、Theducktamerblanksに感謝します。