はじめに
はじめまして、新卒エンジニアもどき(研修期間中)のIchiです。
今回はこのキャンペーンに乗じてAmazon Q CLIのみでゲームを作ってみました。(6/20まで)
初投稿なので少々拙いですがよろしければ御覧ください。
インストール
まずはQ CLIのインストールをしていきます。
こちらの記事がかなり参考になりました。
細かい方法はこちらで参照していただくとしてここではざっくりと解説します。
0. WSLのインストール
wsl --install
すでにWSLをインストールされている場合は不要です。
1. WSLでUbuntuを起動(コマンドプロンプト)
cmd
wsl -d Ubuntu
2. 必要なパッケージをインストール
bash
cd
sudo apt install unzip
3. Amazon Q Developer CLIをダウンロード・インストール
bash
curl --proto '=https' --tlsv1.2 -sSf https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/q-x86_64-linux-musl.zip -o q.zip
unzip q.zip
cd q
chmod +x install.sh
./install.sh
bash
4. ログイン
bash
q login
- 「Use for Free with Builder ID」を選択
- ブラウザでBuilder IDにログイン
これでインストールは完了です
使用方法
cmd
wsl -d Ubuntu # WSLに入る
q chat # チャット開始
⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
⠀⠀ ⠀⣾⡿⢻⣿⡆⠀⠀ ⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
⠀ ⠀⣼⣿⠇⠀⣿⣿⡄⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
⠀ ⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀ ⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀ ⠀⣿⣿⡇ ⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
⠚⠛⠋⠀ ⠀⠀ ⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧
╭─────────────────────────────── 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
q chat
を入力するとこんな感じの表示になります。
これで準備が整いました。
どんなゲームを作るか
まずはどんなゲームを作るか決めないといくら高性能なAIでもゲームは作れません(多分)
そこで条件を考えました
- なるべく単純なゲーム
- Amazonに関連している
この2つから導き出されたのは
「指定された物を運ぶゲーム」 です
Amazonの倉庫にはロボットがいるという話を聞いたのでそれをゲームにしたらいいのでは!?と
作ってみよう
とりあえず上記のプロンプトのみで指定してみました
結果がこちら
...?
よくわからないのでガチャガチャしてると
ゲーム画面のようなものに入れました
どうやら青色が自機
水色がオブジェクトを持って行く場所のようです
そして特に指定していないのに
方向キーで移動
スペースキーでオブジェクトを掴んだり離したりできます
すごい(小並感)
とはいえこのままだとまともに遊べないのでQに直してもらいましょう
「文字化けしているので直してほしい」的なことを入力し、しばらく待つと...
こんな感じになりました
シンプルですね
勝手にファイルを修正してくれる&修正箇所を表示してくれるのでだいぶ楽です
これで完成でも良かったのですが流石に雑すぎたのでいい感じに修正してもらいましょう
ちょっとしたコツ
Qに限った話ではないですが細かくプロンプトを指定するとより良い感じになります。
例えば、単に「APIを作って」と指示するよりも、「Node.jsでExpressを使用し、認証機能付きのREST APIを作成。エラーハンドリングとロギングも含めて、OpenAPI仕様書も生成してください」みたいな感じで事細かく指定することで、より実用的で完成度の高いコードが生成されます。ということで
今回は
- タイトル名の修正
- 自機の形の修正
- オブジェクトを指定の順番で運ばないとクリア不可
- 四角だけじゃ物足りないのでオブジェクトの形を変える
それとその他諸々を指定すると...
最終的にはこんな感じになりました
プレイ動画
いい感じですね
得点の計算方法とかは謎ですがプロンプトで指定した通りの機能が実装されています。
まともに動けるようになりちゃんと遊べるのでこれで良しとしましょう(妥協)
まとめ
今回はAmazon Q CLIのみで簡易的なゲームを作ってみました。
生成AIを使った開発は初めてではないですが、ふわっとしたプロンプトでもこのくらいのゲームなら数分で作れてしまうということに驚きました。
しかもゲーム本体だけでなくREADMEも合わせて作ってくれるというホスピタリティの良さ
こんな感じで↓
Pygameを使用した倉庫作業シミュレーションゲームです。指定されたエリアから指定されたアイテムを順番に集めて配送場所に運ぶゲームです。
## ゲーム概要
あなたはAmazon倉庫の作業員です。画面右上に表示される指示に従って、指定されたエリアから指定されたアイテムを見つけ、中央の配送場所まで運びましょう。アイテムは必ず指示された順番通りに運ばなければなりません。
## 必要なもの
- Python 3.6以上
- Pygame
## インストール方法
1. Pythonをインストール(https://www.python.org/downloads/)
2. Pygameをインストール
Amazon Q 恐るべし。
↑よろしければどうぞ