Amazon Q CLI で素人がゲームを作ってみた記録
はじめに
話題のAIアシスタント 「Amazon Q」 を使って、ゲーム作成に挑戦してみることにしました。
決して以下のAWS Japan の記事の「Tシャツがもらえる」に釣られたわけではありません。本当に。
以下は英語記事です。
今回は、WSL (Windows Subsystem for Linux) の上で、PythonのライブラリPygame
を使い、AIに質問しながら簡単な「2048を作るゲーム」の作成を目指します。
今回の相棒:Amazon Q CLI とは?
今回メインで使うのが Amazon Q CLI
です。
一言でいうと、**「黒い画面(CLI)上で、自然言語(日本語)でAIに質問できるツール」**です。
今回は汎用的なプログラミングの質問に答えてくれる q chat
という機能を使っていきます。
これを使えば、ブラウザで検索エンジンとにらめっこしなくても、ターミナルから一歩も動かずに開発が進められるのでは?と期待しています。
準備編:環境構築
まずは開発環境の準備です。今回はWSL (Ubuntu) を使っていきます。
WSL自体のインストール方法は以下を参照しました。
1. AWS CLI のインストールと設定
Amazon Q を使うには、まずAWS CLIが必要です。以下のコマンドでインストールと初期設定を済ませます。
2. Amazon Q CLI のインストール
次に、本日の主役であるAmazon Qをインストールします。以下のコマンドを実行するだけです。
詳細は以下を
aws q install
インストール後、ターミナルを再起動するか、source ~/.bashrc などを実行して設定を反映させて、ログインします。
aws q login
ブラウザが起動して認証を求められるので、ポチポチ進めていけば完了です。
3. ゲームの考案
簡単なスライドパズルゲームを目標にします。
段階的に難しいゲームにしていくので、ベースは簡単なものにしてつくっていきます。
実践編:AIとペアプロでゲーム作り
ここからは、 q chat
コマンドを使って、AIと対話しながらゲームを組み立てていきます。
1回目の入力と出力
入力
Markdownに入力内容をまとめて読み込ませようと思います。
# Amazon Q Develper で作成するゲームメモ
## ゲーム概要
* 5×5のスライドパズルで、AWSマネージドサービスのアイコンをパネルにしたゲームです。
* webブラウザから起動できるゲームです。
## 作成要件
* 5×5のエリア上に、24枚のAWSマネージドサービスのアイコンパネルがランダムに配置されるところからスタートします。
* 中央3×3のエリアに、指定された並べ方でパネルを配置できたら勝利です。
* パネル移動は、空いている領域に隣接しているパネルだけが可能です。
* 24枚のパネル、3×3の並べ方は毎回ランダムに指定されます。
出力
1回目で生成されたゲーム画面が以下です。
おお~。思った以上にデザインが凝ったものが出てきました。
ただやはりアイコン画像が使用はされていませんね。
Amazon Qは以下のように理解したようです。
dev_game_withQ.mdの仕様に基づいたAWSスライドパズルゲームを作成しました!
ゲームの特徴:
🎯 ゲーム仕様(仕様書通り):
• 5×5のスライドパズル
• 24枚のAWSマネージドサービスアイコンパネル
• 中央3×3エリアに指定された配置で勝利
• 空いている領域に隣接するパネルのみ移動可能
• 毎回ランダムな24枚のパネルと3×3の目標配置
🎨 デザイン:
• AWSブランドカラー(オレンジ&ダークブルー)を使用
• 中央3×3エリアをオレンジ枠でハイライト
• 30種類のAWSサービス名を収録
⚡ ゲーム機能:
• 移動回数カウンター
• プレイ時間タイマー
• 勝利時の結果表示
• 新しいゲーム機能
• シャッフル機能
🔧 技術実装:
• レスポンシブデザイン
• スムーズなアニメーション
• クリック操作でパネル移動
• 勝利条件の自動判定
収録AWSサービス(30種類):
EC2, S3, RDS, Lambda, DynamoDB, CloudFront, Route53, VPC, IAM, CloudWatch, SNS, SQS, API Gateway, ELB, Auto Scaling, CloudFormation,
CodePipeline, CodeBuild, CodeDeploy, ECS, EKS, Fargate, Kinesis, Redshift, ElastiCache, SageMaker, Rekognition, Comprehend,
Translate, Polly
テストプレイでめちゃくちゃ時間がかかりました笑
「クリア画面を作ってください」、や
「新しいゲームボタンを配置してください」など
「入力として最初に提示しなかった仕様でも、ゲームの体として必要なもの」 を
認識して生成されるのは驚きました。
最終的な出力
出力
最終的な結果とした画面です。
アイコン画像指定がうまくいきませんでした。
このあたりは、正しいファイル指定を入れないといけませんね。
伸びしろがありそうです。
まとめ:コード生成の入口として、とてもよい
今回、Amazon Q CLIを相棒にゲーム開発に挑戦してみて、 「プログラミング初心者の学習パートナーになるなぁ」 と感じました。
良かった点 👍
-
文脈を理解してくれる: 「さっきのコードに機能を追加して」という指示で通じるので、会話がスムーズ。
-
エラー解決が速い: エラーメッセージを投げるとすぐ解決策をくれるので、挫折しにくい。また、途中で発生するエラーは自動で対処
-
集中力が途切れない: ブラウザを行き来する必要がなく、ターミナル内で完結するのが快適だった。
注意点 🤔
-
正しくないコードも返す: AIも完璧ではないので、生成されたコードがそのままでは動かないこともある。最終的には自分でコードを読んで理解しようとする姿勢は必要。
-
あくまでアシスタント: AIは魔法の杖ではないことを認識する。最終的な意思決定や、コードを組み合わせて一つのアプリケーションにするのは自分自身の役目。
コーディング経験がほとんどない私でも、AIと対話しながら、半日ほどで簡単なゲームを完成させることができました。
「プログラミングに挑戦したいけど、何だか難しそう…」と感じている方は、ぜひAmazon QのようなAIアシスタントを相棒に、Vibe Codingで一歩を踏み出しましょう。
Discussion