👏

ChatGPTでゲーム作ってみた

2024/10/29に公開

GPT-4oが出力する結果だけでテトリスを作ってみた

私は普段Flutterを中心にモバイルアプリ開発を行なっているのですが今回は気分転換にPythonを使用しました。今更GPTでゲーム制作とかみんなやり終えてるしおせぇよって声も聞こえてきそうですが気にせず続けます。
使用したライブラリはTkinterでGUIを実装しました。
TkinterでGUIアプリを作成したことはほとんどないどころかPython自体も大学の授業で触るまで基本構文くらいしか知らない状態です。
今回はプロンプトを複数回に分けてデバッグをしながらやりました。

プロンプトについて

最初にテトリスを作成すること、Tkinterを使用することや背景色、テトリミノの色などの基本情報を与えました。この時点でテトリスゲームとしてはほぼ完成したと言っても過言ではありません。

次に、ポイントシステムを追加してゲームに楽しさを加えました。その次にCSVを使用して上位3つを保存することと、ゲームオーバーおよびリセットの処理を追加するよう指示しました。また、次のテトリミノを表示できるようにしてもらいます。さらに、テトリミノの落下位置を表示できるようにしてもらいました。

細かいバグを見つけた際には、それに対して指示をすれば適切に対処してくれました。これで一応実行して遊ぶことはできますが、遊びたい時にすぐに起動できるように、py2appでMacアプリ化できるようにしてもらえば完成です。

遊び方

・スペースでハードドロップ
・矢印キーで移動と回転
・スコアはミノの生成で100,ライン削除で500追加されます
・high_scores.csvに上位3つが保存されます
・enterでスタート

感想

全体で約1時間程度だったと思います。つまり、1時間程度でMacアプリのテトリスを自動生成できることに驚きました。彼らのコード生成の精度向上の速さには言葉を失いますね。ただ、今回はTkinterやCSVなどの具体的な使用を指示したため、精度が高かったと言えるかもしれません。

以前(生成AIが登場する前)にJavaでテトリスゲームを作成した経験があるので、CSVで保存するなどの指示ができたわけですが、もしその知識がなかったら精度が落ちると感じました。Tkinterに関してはpythonでGUIを作る方法を調べたことがあったため知識として知っていたので指示ができました。
ChatGPTの生成精度は日々向上していますが、何も知らない人がコードを生成してもらった場合、同じ結果を得られるかは難しいかもしれません。つまりAIが人間のエンジニアに完全に取って代わってアプリを作成する時代はまだ先かもしれません。

おまけ

py2appでアプリを作成してもらうに際にアイコンを作成したいと思いこのアイコンもChatGPTに生成してもらいました。

スクリーンショット

Discussion