gitkadoの気まぐれ日記

島根在住エンジニアが何かに興味を持ったらブログを更新します

色んな画像生成AIにスイカゲームの画像を書かせてみた

最近流行り?の「スイカゲーム」について生成AIで遊んでみました。
実は「スイカゲーム」がリリースされたのは 2年前の 2021/12/9 らしいです。
※ 本ブログ投稿日(2023/12/3)時点の情報を元に作成しています。

生成AIを使って画像生成のpromptを作成する

以下のWikiと公式サイトに記載されいてるスイカゲームに関する説明を元にPromptを作成する。

スイカゲーム - Wikipedia store-jp.nintendo.com

Input(ChatGPT4)

The following are pages describing a game called "Watermelon Game".
Based on this description, please generate a prompt to draw a picture of the game screen.
The generated prompts will be run on a separate service.

###pages
- https://store-jp.nintendo.com/list/software/70010000043363.html
- https://ja.m.wikipedia.org/wiki/スイカゲーム

Output

Based on the description of the "Watermelon Game" from the provided sources, here is a detailed prompt to create an image of the game screen:

"Imagine a vibrant and colorful game screen from a puzzle game called 'Watermelon Game', which combines elements of falling-block and merging gameplay. In the center of the screen, there's a box filled with a variety of fruits in different stages of merging, arranged in a visually appealing manner. The fruits include cherries, strawberries, grapes, dekopons, persimmons, apples, pears, peaches, pineapples, and melons, with the ultimate goal being to create the largest watermelon. The fruits are depicted using physics-based animations, suggesting they can roll and interact with each other. The game interface should be intuitive, showing scores and perhaps an indicator of the next fruit to drop. The background and overall aesthetic of the game are playful and engaging, appealing to a broad audience. Include subtle hints that the game has no time limit but requires thoughtful placement of the fruits."

各画像生成AIに同じpromptを投げてみる

DALLE3

openai.com

Input(ChatGPT4)

Please generate images based on the following description: "Imagine a vibrant and colorful game screen from a puzzle game called 'Watermelon Game', which combines elements of falling-block and merging gameplay. In the center of the screen, there's a box filled with a variety of fruits in different stages of merging, arranged in a visually appealing manner. The fruits include cherries, strawberries, grapes, dekopons, persimmons, apples, pears, peaches, pineapples, and melons, with the ultimate goal being to create the largest watermelon. The fruits are depicted using physics-based animations, suggesting they can roll and interact with each other. The game interface should be intuitive, showing scores and perhaps an indicator of the next fruit to drop. The background and overall aesthetic of the game are playful and engaging, appealing to a broad audience. Include subtle hints that the game has no time limit but requires thoughtful placement of the fruits."

Output

DALLE3

Youtubeとかの広告で出てきそうなタッチの絵。
フルーツたくさんでゲーム感はあるけど、どういうゲームなのか...

DALLE2

openai.com

Input(OpenAI API)

from langchain.utilities.dalle_image_generator import DallEAPIWrapper

dalle = DallEAPIWrapper() # model="dall-e-2"
image_url = dalle.run("Please generate images based on the following description: `Imagine a vibrant and colorful game screen from a puzzle game called 'Watermelon Game', which combines elements of falling-block and merging gameplay. In the center of the screen, there's a box filled with a variety of fruits in different stages of merging, arranged in a visually appealing manner. The fruits include cherries, strawberries, grapes, dekopons, persimmons, apples, pears, peaches, pineapples, and melons, with the ultimate goal being to create the largest watermelon. The fruits are depicted using physics-based animations, suggesting they can roll and interact with each other. The game interface should be intuitive, showing scores and perhaps an indicator of the next fruit to drop. The background and overall aesthetic of the game are playful and engaging, appealing to a broad audience. Include subtle hints that the game has no time limit but requires thoughtful placement of the fruits.`")

from google.colab.patches import cv2_imshow  # for image display
from skimage import io

image = io.imread(image_url)
cv2_imshow(image)

Output

DALLE2

ホラーな画像になった。DALLE2は全般こんな画像になるので、正直使い物にならない...

Stability AI SDXL 1.0

ja.stability.ai

Input(Amazon Bedrock)

Input_SDXL1.0

Output

SDXL1.0

ボンバーマン感あるのができた。
ゲームのタイトルが「スイカゲーム」であることは伝えておりスイカが出てくることもPromptに書いてるのに、スイカが無いのは攻めてるなと思った。
Promptに箱があるという表現を入れていたので、それを強く受け止めてくれたのかな?

Stability AI SDXL 0.8

Input(Amazon Bedrock)

Input_SDXL0.8

Output

SDXL0.8

絵のタッチは個人的に一番オシャレで好き。
パズルゲーム要素は何処へ

Amazon Titan Image Generator G1 Preview

aws.amazon.com

Input(Amazon Bedrock)

Input_Titan

Output

Titan

イカ・いちご・さくらんぼは分かるけど、他が色付きの丸というのは残念だった。
Promptの前半はしっかり読んでくれてるけど、後半(特にゲーム要素のあるスコアや次に落ちてくるフルーツ)のPromptが読まれてない?と思った。

料金

Amazonの料金ページ(日本語)がアップデートされてなくてクソ焦った。
SDXL1.0がプロビジョンドスループットしか記載なくて、月契約での請求と書いてあったので、その通りなら 5,446,596 JPY 請求されて終わるところだった。
実際はオンデマンド料金が存在していてImage単位で課金されるものなので 0.04 USD で済むはず。

まとめ

画像生成AIの選択肢も広がっており、どれも手を伸ばしたらスグに使えるところにある。
料金面ではTitanが安いし、遅れて出てきたモデルということもあってか精度もre:Inventの発表を見た感じだと良さそうだった。あと、DALLE2からDALLE3の進化が優秀すぎると感じました。

どの画像が「スイカゲーム」っぽいのかを知人に聞いてみた結果は以下のようになりました。

Titan > SDXL 1.0 >> DALLE3 > SDXL 0.8 >>>> DALLE2

ChatGPT Plus なので、DALLE3でもう少しPrompt工夫しながら、スイカゲーム作ってみます。

※ 今回は細かい特徴や機能比較まで行っていません。ご了承ください。