〰️

Amazon Q CLIでゲームを作る

に公開

概要

Tシャツが欲しかったので、流行りに乗ってやってみました。
とても簡単にアプリケーションがアプリケーションが作れて楽しかったです。
1時間前くらいになんとなくやろうかなぁと思ったら30分くらいでできたので、あと10日ほどしかないですが、やってみるのをお勧めします。

https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/

環境構築

Pythonはすでにインストール済です。
ちなみにamazon-qさえ入れたら、環境構築も一緒にやってくれるらしいですね。

brew install amazon-q
python -m pip install pygame

このコマンドを打った後に、AmazonQをApplicationsから起動したのち、ログインやアクセス権の許可等を行い、CLIでqコマンドが使用できるようになります。
以下の記事を参考にさせていただきました。

https://dev.classmethod.jp/articles/amazon-q-cli-command-not-found-q-with-brew-install/

ゲームを作る

AWSのクイズに答えたらAWSサービスがゲットできるゲームを作ってもらいました。
大体30秒くらいで作ってくれて、細々とした修正をしてもらいました。
コマンドを実行する際や、pythonファイルを作成する際は、毎回許可が求められます。tを選択すると、常に許可になるようです。

🛠️  Using tool: execute_bash
 ⋮ 
 ● I will run the following shell command: 
cd /Users/hogefuga && python aws_quiz_gacha_game.py
 ⋮ 
 ↳ Purpose: AWSクイズガチャゲームを実行


Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

とても面白かったのは、AWSのサービスのアイコンを使ってもらうところで、以下のサイトからAWSのアイコンをダウンロードしてきて、以下のプロンプトを打ってみたところ、自分でフォルダを見に行って、ファイルが見つかるまで探索してくれました。

https://aws.amazon.com/jp/architecture/icons/

実際に出来上がったpythonスクリプトでは、ファイルをちゃんと読み込んで表示してくれて、これがvibe codingかぁと思いました。

> /Users/hogefuga/Downloads/aws-iconsというところにawsのiconを入れてみたよ、ここから画像を読み込んで、awsサービスは画像で表示して欲しいな
🛠️  Using tool: fs_read (trusted)
 ⋮ 
 ● Reading directory: /Users/hogefuga/Downloads/aws-icons/Architecture-Service-Icons_02072025/Arch_Compute/64 with maximum depth of 0
 ⋮ 
 ● Completed in 0.0s

EC2とLambdaのアイコンが見つかりました!他のサービスも確認してみましょう:


🛠️  Using tool: fs_read (trusted)
 ⋮ 
 ● Reading directory: /Users/hogefuga/Downloads/aws-icons/Architecture-Service-Icons_02072025/Arch_Storage/64 with maximum depth of 0
 ⋮ 
 ● Completed in 0.0s

S3のアイコンも見つかりました!他のサービスも確認してみましょう:


🛠️  Using tool: fs_read (trusted)
 ⋮ 
 ● Reading directory: /Users/hogefuga/Downloads/aws-icons/Architecture-Service-Icons_02072025/Arch_Database/64 with maximum depth of 0
 ⋮ 
 ● Completed in 0.0s

素晴らしい!RDS、DynamoDB、ElastiCacheなどのアイコンも見つかりました。では、実際のAWSアイコンを使用するようにゲームを更新しましょう:

そのほかにも文字化け対応や、ガチャのコレクション機能、連続でクイズに解けるようにして欲しい等の要望をしてみましたが、どれも的確にタスクを遂行してくれました。
特に、フォントについては、pygameで利用可能なフォントと、ローカルで利用可能なフォントをpythonスクリプトを作成・実行して調べてくれてとても感動しました。

素晴らしい!arialunicodeフォントが利用可能です。これはUnicode文字をサポートしているので、文字化けを防げるはずです。フォント選択を最適化しましょう:

完成品

やり始めると、楽しくなり、いろいろなことを依頼してみました。
デザインについては、なかなか思うように修正されずもどかしかったです。

ホーム画面

pygameらしいレトロなデザインで、個人的には好きです。

クイズ画面

オーソドックスでシンプルなクイズを作ってくれました。難易度別にして、超難しいモードを作っても良かったなぁ。

ガチャ画面

コードを見てみたらちゃんとレアリティを反映した抽選処理が実装されていました。普通にEpic出にくくて、出た時は嬉しかったです。

まとめ

とても簡単にゲームを作ることができました。
Cursor等のAIコーディングエージェントは使ってみたものの、なかなか慣れずにいたんですが、AmazonQでは、何も考えず楽しめました。
特に、ファイルを作成したり、ファイルを探索したり、pythonコマンドでスクリプトを実行する様子はとても新鮮で、すごいなぁと思いました。

なんといってもとても簡単に始められるので、ぜひ皆さんもこの機会に触れてみてください。

Discussion