GitHub Copilotを利用する その2(短時間でゲームの生成)
はじめに
今回はGitHub Copilotを利用してゲームを作成してみました。
5か月程前に取り組んでいたことですが、AIハッカソンの前にGitHub Copilotでどれだけ早く開発できるか試していました。今年のAIハッカソンではバイブコーディングで開発しているチームがほとんどだった印象です。これを活用できるかどうかで、開発速度が大きく変わりそうです。
▼GitHub CopilotをVS Codeに導入したときの記事はこちら
▼以前の記事はこちら
開発前の準備
AIが開発してくれるとはいえ、コードの管理やPythonの仮想環境の作成は事前に行っておきました。最初にGitHubのリポジトリを作成しました。
▼以下のリポジトリです。
https://github.com/404background/python-simple-games
▼Git/GitHubの利用については、こちらの記事でも紹介しています。
GitHub Desktopでリポジトリをクローンし、VS Codeで開きました。
▼まだ何もない状態です。

▼今回はEditモードでo3-miniを利用しました。

ターミナルでコマンドを実行し、Pythonの仮想環境を作成しておきます。以下のコマンドを実行しました。
py -3.10 -m venv pyenv
cd .\pyenv\
.\Scripts\activate
ゲームを作成してみる
今回は題材として、シューティングゲームを作成してもらうことにしました。以下の質問から始めました。
Python 3.10で実行できる、シューティングゲームを作成してください。
実際にGitHub Copilotと相談しながらシューティングゲームを作成している様子を録画してみました。
▼動画はこちら
最初は最低限の機能しかなかったのですが、どんどん機能を追加していくことができました。だいたい16分ぐらいでできたという感じです。
▼ゲームっぽくなりました。

今回作成したゲームをGitHubのリポジトリにアップロードするにあたって、READMEもGitHub Copilotに書いてもらいました。日本語と英語の両方で書いてもらっています。ドキュメントの作成も自動化できるのは便利ですね。
最後に
Pythonでシューティングゲームを作るのは、大学のプログラミングの授業で取り組みたい人だけの課題という扱いになっていました。ChatGPTが流行する少し前の授業だったのですが、今では簡単に終わってしまうのだろうなと思います。多少のコーディング能力は必要ですが、コードの管理や実行環境の整備などの実践的なスキルこそ学びたいものです。
なお今回ぐらいのファイル数なら大丈夫なのですが、もっと大きなプロジェクトを開発するために試行錯誤中です。