Amazon Q CLIでゲーム開発に挑戦!〜Tシャツを目指して〜

Build Games with Amazon Q CLI and Score a T-Shirt というキャンペーンに参加してみました。

この記事では、Amazon Q CLI を使って Pygame で 6x6 のマルバツゲームを作るまでの流れと所感をまとめています。

✅ 環境準備はとても簡単!

Amazon Q CLI を使うには、以下の作業だけで済みます。

  • amazon-q CLI のインストール

  • シェル統合(最初に GUI で Amazon Q を一度起動しておく必要あり)

日本語のプロンプトでも問題なく対応してくれるのがありがたいポイントです。

▶ Q CLI によるプロンプト例

以下のように Q に話しかけるだけで、既存のディレクトリの内容をもとに、良き感じでプロジェクトを読み込んでくれます。

% q
> 6x6のマルバツゲームをpygameで生成してください。

Q は 前に一度Qを利用して作成した、 tic_tac_toe_6x6_en.py という既存ファイルを見つけて、それをもとに作業を進めてくれました。ちなみに Completed in 0.0s と表示されても、裏では Thinking... の時間が少し長い印象があります。

🎮 ゲームの特徴

最終的に作られた 6x6 のマルバツゲーム(Tic Tac Toe)は以下のような機能を備えています:

  • 6x6のボード: 通常の3x3より戦略性が高い

  • 6つ並べると勝利: 縦・横・斜めのいずれか

  • 引き分け検出アルゴリズム: 勝利不可能な状況を早期に判定

  • パーティクルエフェクト: マークを置いた時の演出

  • アニメーション付きタイトル画面

  • リスタート機能

🔧 ゲームの実行方法

以下のコマンドでゲームを起動できます:

python tic_tac_toe_6x6_jp.py

🕹 ゲームの操作方法

  • タイトル画面で「スタート」をクリックしてゲーム開始

  • プレイヤーの番では空いているマスをクリック → ○を配置

  • コンピュータが自動で × を配置

  • 6つ並べたら勝利

  • ゲーム終了後、「リスタート」で再プレイ可能

🤖 引き分け判定の仕組み

単にボードが埋まったかどうかだけでなく、「勝利の可能性がない状況」も検出する高度なロジックが組み込まれています。

  • 全ての勝利ライン(縦・横・斜め)をチェック

  • それぞれのラインにおいて、プレイヤーとCPUの両方のマークが混在していないか確認

  • 全ラインがブロック(両方のマークがある)されていたら引き分けと判定

このおかげで、無駄にマスを埋め続ける必要がありません。

💡 Qの賢さを感じた場面

  • 「かっこいいオープニング画面をつけて」といった要望にも対応可能

  • ゲーム中の日本語フォントが文字化けしたため、英語に戻して対応

  • デバッグ中は Python を起動してエラー原因を探ってくれる

  • 最初はすべてのマスが埋まらないと終了しなかったが、「途中でも勝敗判定できるように」と指示したら対応してくれた

とにかく Q が優秀で、プロンプトだけでかなりのところまで進められました。

📦 成果物

作成したプロジェクトは以下のGitHubリポジトリにアップロードしています。

👉 https://github.com/m120/amazon-q-cli-game-challenge/tree/main

コードの中身は見ていませんが、意図どおり動作していることを確認済みです。

📝 感想まとめ

  • Amazon Q CLI、思っていた以上に賢くて使いやすい

  • 日本語でもかなり自然に指示を理解してくれる

  • 実行時間は少し長めに感じるが、それに見合う結果を出してくれる

  • 開発がとてもスムーズに感じた

簡単にチャレンジできて、Tシャツも狙える! 興味のある方はぜひ試してみてください!