Amazon Q CLI でゲームを作ってみた

# はじめに
Amazon Q CLIでゲームを作成すると記念品(Tシャツ)がもらえるキャンペーンが開催されています。この記事はその内容をブログにしました。

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

英語版
https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt

## 作成したキッカケ
JAWS-UG 茨城支部でイベントを開催しました。
どのようなゲームを作るか事前に案を考えたり、その場で何を作るか決める人もいて、即興でゲームを作っていくのは楽しかったです！
https://jawsug-ibaraki.connpass.com/event/356490/

# 環境設定
- AWS Builer IDの作成
    - https://docs.aws.amazon.com/ja_jp/signin/latest/userguide/create-aws_builder_id.html
- Amazon Q Developer CLIのインストール
    - https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html
- pygameのインストール
    - https://www.pygame.org/wiki/GettingStarted

詳細な設定手順は省略しますが、以下の状態になればゲーム作りの環境が整っています。

```
% python3 -m pip install -U pygame --user
Collecting pygame
  Downloading pygame-2.6.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (12 kB)
Downloading pygame-2.6.1-cp312-cp312-macosx_11_0_arm64.whl (12.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.4/12.4 MB 2.6 MB/s eta 0:00:00
Installing collected packages: pygame
Successfully installed pygame-2.6.1
```
```
% q chat               
To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html


    ⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
 ⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
 ⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
 ⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
 ⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
 ⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧

╭─────────────────────────────── Did you know? ────────────────────────────────╮
│                                                                              │
│         Use /model to select the model to use for this conversation          │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

/help all commands  •  ctrl + j new lines  •  ctrl + s fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🤖 You are chatting with claude-3.7-sonnet

> 

```


# ゲーム作成
Amazon Q Developer CLIとのチャットのみで作成します。
繰り返し指示を出すことで、いい感じに動くようになりました。

```
(例)
>草原の中で肉を焼くゲームを作ってください

...

Updating: meat_cooking_game_gui_en.py

 ⋮ 
 ● Completed in 0.0s!

...

## How to Run the Updated Game:
python3 /Users/chinone/meat_cooking_game_gui_en.py

or
/Users/chinone/meat_cooking_game_gui_en.py
```

## ゲーム開始
ゲームを開始するため、pythonを実行します。
すると、グラフィックウィンドウが立ち上がり、ゲームをすることができるようになりました。操作方法はスタート画面に表示し、ゲーム中もわかるようになっています。

`python3 /Users/chinone/meat_cooking_game_gui_en.py`

![スタート画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253885/8e0c5f3d-b5bc-4a92-bc1d-8ca5377e3546.png)

![ゲーム中.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253885/64a18df0-61bc-4594-a1bb-7b83f7984e85.png)

![完成画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253885/64afa50d-0f16-4623-863d-55a3f9338ca0.png)

# 最後に
Amazon Q CLIを使ってゲーム作成体験ができました。簡単なゲームですが、雑な指示をしても意図を汲み取ってたり、数分でコードを作成してくれAIの進化が改めて凄いなと思いました。