Amazon Q CLI でアキネーター風ゲーム作ってみた!
Amazon Q CLI でゲーム作ってみた!アキネーター風食べ物当てゲーム
AWS公式ブログで「Amazon Q CLI でゲームを作ろう Tシャツキャンペーン」というキャンペーンを見つけました!Amazon Q CLIでゲームを作ってブログ投稿すると、Tシャツがもらえるそうです!
みなさんは、何が食べたいかよく分からないけど何か食べたいって時ありますよね?私はあります。なので、今回はアキネーター風にいくつかの質問に答えると自分が今食べたいものをあててくれるゲームを作ってみました!
実際にAmazon Q CLIでゲームを作ってみたので、その体験をレポートします。
🛠️ 環境構築:WSLにAmazon Q CLIをセットアップ
まずはWindows環境のWSL(Ubuntu)にAmazon Q CLIをインストールします。
参考にしたのは「The essential guide to installing Amazon Q Developer CLI on Windows」の記事です。
必要なツールをインストール
sudo apt update
sudo apt install unzip
Amazon Q CLIをダウンロード&インストール
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
インストール中に「シェル設定を自動で修正しますか?」のようなことを聞かれるので、「Yes」と答えます。これでパスが通るようになります。
設定を反映させるために、シェルを再起動:
bash
🐍 PyGameの準備
WSLのUbuntuにはPythonが最初から入っていましたが、pipが入っていませんでした。今回はpipを使わずに対応しました:
sudo apt update
sudo apt install python3-pygame
🔑 Amazon Q CLIにログイン
q login
「Use for Free with Builder ID」を選択すると、AWSアカウントがなくても、AWS Builder IDがあれば利用できます!
🎯 いざ、ゲーム開発!
Amazon Q CLIを起動して、早速ゲーム作りを依頼してみました:
> pyGameを利用して、アキネーター風の「今私が何を食べたいか当てる(必ずしも私が明確に想像できているとは限らない)ゲーム」を作って。
😅 最初の課題
最初は「pipが必要です」と言われましたが、「aptでインストール済みです」と伝えると対応してもらえました。
そして一番最初に表示されたゲーム画面がこちらです:
全て「?」マークで文字化けが発生していました。
「文字化けしているので、日本語フォントに対応させてください」と依頼して、WSLからWindowsのフォントを参照するように修正してもらい、日本語が正しく表示されるようになりました。
🎨 UI改善とキャラクター追加
シンプルすぎる画面だったため、画像を配置してみます。画像はいらすとやさんからくまさんの画像をお借りしました。
pythonファイルと同じディレクトリに画像を配置して、Amazon Q CLIに画像の配置を依頼すると、ゲーム画面に配置してくれました。画像の配置に合わせてボタン位置なども自動で調整してくれました。
🎮 完成したゲーム画面がこちら!
タイトル画面
可愛いくまさんシェフが登場しています。コック帽をかぶってフライパンを持っており、食べ物ゲームにピッタリのキャラクターです。
🎮 プレイ動画
実際のゲームプレイの様子です。質問に答えていくと、くまさんが食べたいものを当ててくれます。
私はミネストローネが食べたかったようです。
くまさんが「やったー!」と喜ぶ演出が表示されます。
🤖 外れた場合の自己学習機能
ここで驚いたのが、指示していないのに自己学習機能を実装してくれていたことです。
ゲームが外れた場合に「実際に何が食べたかったか」をユーザーに入力してもらい、JSONファイルに保存する機能が自発的に追加されていました。次回以降の質問精度向上に活用される仕組みです。
💭 開発してみた感想
✅ 560行のコードが勝手にできた
Amazon Q CLIでゲームを作ってみて、まず驚いたのは少ないやりとりだけでちゃんと動くものができてしまうことでした。
やりとりにかかったのは1時間弱くらいでしたが、最終的に560行程度のPythonスクリプトが作成されました。
UI構築、画像の読み込みと配置、ボタンの調整、ゲームロジック、自己学習まで含まれていて、自分ではコードを1行も書いていません。
🍜 データベースまで自動で作ってくれた
もうひとつ感動したのが、「データベースを作って」とも「自己学習を入れて」とも言っていないのに、それらが自然に実装されていたことです。
ゲームで使う食べ物データは、名前と特徴がまとめられたJSONとして自動生成されていて、「温かい」「麺類」「和食」といった属性を元に候補を絞り込む構造になっていました。
たとえばこんな感じのデータが入っています:
{
"name": "ラーメン",
"attributes": {
"hot": true,
"savory": true,
"japanese": true,
"noodle": true,
"soup": true,
"quick": true
}
}
さらに、ゲームの予想が外れたときに「本当は何が食べたかったか」を記録し、次回以降にその情報を反映させる自己学習機能まで自動で組み込まれていました。
こちらが細かく指定していないにもかかわらず、必要そうな仕組みをうまく補ってくれるところに、ツールとしての完成度の高さを感じました。
💡 スクリプト作成にも使えそう
今回はアキネーター風のゲームを作ってみましたが、この「対話だけで作れる」体験は、ちょっとしたスクリプトやツールの作成にも応用できそうだと感じました。
たとえば、「CSVを読み込んでグラフにする」といった処理や、簡単なGUIアプリケーションも、Amazon Q CLIなら自然な会話だけで作れてしまいそうな雰囲気があります。
📝 まとめ
- 自然な指示だけで約560行のPythonコードが完成
- データベースや自己学習機能も、こちらが言う前に自動で組み込まれていた
- 幅広い用途にも展開できそうな柔軟さがある
Amazon Q CLIは、「こういうの作れないかな」をそのまま形にしてくれる心強い相棒のような存在でした。また何かアイディアが思いついたら、気軽に使ってみたくなるツールです。
ぜひ皆さんもAmazon Q CLIでのゲーム開発に挑戦してみてください!🎮✨
Discussion