kenogadget’s blog

kenogadgetです。ケノ。

生成AIを用いた僕なりのゲーム製作方法<完全無料>

どうも!kenoです。

 

皆さん、ゲーム制作はかどってますかっ?

 

僕は引き続きゲームを作る練習を頑張ってます。

現在はC++とDXライブラリを用いてシューティングゲームを作ろうと頑張っているんです。ベーシックなシューティングゲームを作ろうと思って。

 

さて、ここで一つ問題が出てきます。

それが、「イラストどうするの」問題です。

 

皆さんはどうでしょうか。フリーの素材とか使ってますか?僕もそれなりに調べたりするんですが、やっぱりどうも、しっくりくるものがなかったり、いいものであっても購入しなければ使えないとか。

 

それなりに収入のある皆さんはぜひそういったサービスを使っていただきたいんですが、僕は金欠大学生。できれば無料で済ませたい。

 

ということで、今回はゲーム制作における「お金をかけないで出来る生成AIの活用方法」について、僕なりの手段を語っていこうと思います。

 

といっても僕もいろいろ試行錯誤中なのでより良い手段があったら是非教えてください。

 

 

その1:イラスト生成

ゲームを作るには十中八九必要になるのがイラストですよね。

今ではたくさんの画像生成AIが登場して、いくらでも無料で使えるものがあります。

僕がメインで使っているのは

  • ChatGPT
  • Gemini
  • Copilot(ほぼ使ってないけど)

この3つになります。ただ、僕の現状のおすすめは「Gemini」です。

結構思った通りの画像が生成されるし、少しずつ修正もきくので重宝しています。

 

ChatGPTも結構よいイラストを提供してくれるのですが、僕はこれをよりよいコードを考えるための道具として活用しているので、あまり画像生成では使わないですね。

 

Copilotは僕の所感でしかないですが、ちょっと融通が利かないような気がしています。

 

この2つを踏まえたうえで一番デメリットがないのがGeminiかなと感じています。

 

ただ、ここで重要なのは「100%理想の画像ではない」というところですね。

結構妥協も必要で、例えば以下の画像を見てほしいんですが...

シューティングゲームで使う敵の画像(UFO)

一見、かわいいUFOのドット絵だと思うじゃないですか。

これを拡大してみましょう。

ドット絵...?

じつはよく見るとぜんぜんドット絵じゃなかったりします。

最初のUFOの画像は少し上下をトリムしてますが、実際には「2048×2048」の解像度で提出されます。

 

まぁ、この程度のゆがみとかは許容範囲内ですかね。小さくすれば見えないし。

 

ちなみに先ほどのUFOの画像を生成したときのプロンプトは以下の通りです。Geminiをつかって生成しました。

ドット絵のUFOの画像を生成して。背景は完全に白。

 

僕がこの画像をゲームに組み込むまでの流れはこんな感じになってます。

こんな感じ。意外と使えるんですよ。

以下はいま作ってるゲームの画面ですが、表示されている画像はすべて生成したものになってます。

 

 

その2:良いコードを書くためのAI

僕はまだプロのゲームプログラマーではないのでいろいろ勉強中なんですが、その中でも今一番力を入れているのが「デザインパターン」なんですね。

 

より効率的にプログラムを組んで、後から簡単に処理を追加できたり必要な部分だけ変更しても大丈夫なように作るためには、やはりデザインパターンが欠かせません(よくわかってないけど)

 

ゲームって制作段階が進むほど身動きがとりづらくなって、可動性がなくなっていくじゃないですか。

そうならないために、僕は今AIをつかってデザインパターンを勉強している最中です。

ここでは2つのAIを用いて制作をしています。

  • Gemini:全体的なコードの構成を考えてもらう。
  • ChatGPT:細かい処理のわからない部分などを教えてもらう。

Geminiは制限とかなく使えるので、ある程度の記憶をしてもらうことができます。だから、ゲーム全体の構成やデータを覚えていてもらって、都度質問をしたりしています。

具体的には、どのようなデザインパターンがあるかとか、じゃあそのパターンをどのように今回作りたいゲームに適応できるのかとか。そういったのはGeminiに任せています。

 

逆にChatGPTはGeminiより(無料のバージョンでは)頭がいいなと感じているので、細かなプログラムのエラーや仕様を教えてもらっています。

例えば、スマートポインタを使った処理があったとして、ここのプログラムでエラーがでているな、となった場合はAIがわかるようにそこの部分と必要な変数とかを切り出してAIにおしえます。

そしてなんでエラーになるかを聞けば、まぁ正確な答えは得られずとも解決のヒントがもらえたりします。

 

まとめ

とまぁ、こんな感じで僕はAIを使っていたのでした。

参考になる方はあまり多くないと思いますが、一つのやり方として役に立てば幸いです。

今はもう就活真っただ中ですから、なるべくAIをつかって学習時間を短くできるならそうしたいところです。

今作ってるゲームも完成したらお見せしたいところです。

以上、kenoでした。またね