ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

Amazon Q Developer CLI で漁師が戦うゲームを作ってみた(Windows 版)

こんにちは、こんばんわ!クラウドインテグレーション事業部の魚介系エンジニア松尾です。

今回は Amazon Q Developer CLI のみを使ったゲーム開発にチャレンジしてみましたので、ゲーム完成までの軌跡を投稿させていただきます。

開発に至る経緯

2025/5/21に AWS Community Builders 向けの Slack ワークスペースで、アジア圏在住の人を対象に以下の記事が紹介されました。

community.aws

記事の内容として Amazon Q Developer CLI を用いたゲーム開発を行うというもので、完成したゲームをブログ、SNS で紹介したり Github でソースを公開すると Amazon Q Tシャツをいただけるというものです。

日本の AWS ブログでも数日遅れでこのイベントが紹介されておりました。 aws.amazon.com

特に私自身 T シャツに惹かれたわけではないのですが、ゲーム開発になんとなく憧れをもっていたこともあり、コーディング技術が無くても Amazon Q が頑張ってくれるようでしたので、いい機会なので実践してみることにしました。

どうでもいい話ですが、私が子供の頃は初代プレステが全盛で、ポリゴンの FF やドラクエが飛ぶように売れてましたので IT 業界といえばゲーム開発というイメージが強かったです。
当時は FF、ドラクエ以外の名作 RPG も次々にリリースされ、人を感動させるゲーム開発に少し憧れていたのかもしれません。(ちなみに私は幻想水滸伝派でした)

Amazon Q Developer CLI とは

Amazon Q Developer 自体は以前から Agent 型の生成 AI サービスとしてコード生成のみならず、コード変換、コードレビュー、ドキュメント生成など SDLC(Software Development Life Cycle) を効率化するための機能を提供しておりました。

Amazon Q Developer CLI も Agent 型の生成 AI サービスですが、これまで IDE のみにあった強力なエージェント機能がターミナル上で利用できるようになったものとなります。
これによって、より動的でインタラクティブなコーディングが行えるようになりました。

コマンドラインがメインの環境においても Amazon Q Developer が利用できるようになり、活用範囲がさらに広がった形となります。

Amazon Q Developer CLI のインストール方法

上記イベント記事で以下の手順が紹介されています。

また、ゲームライブラリとして Pygame が紹介されており、私も Pygame を使って開発をすることとしました。 www.pygame.org

各サイトで手順は細かく紹介されておりますが、Windows ユーザ向けに私が少しだけハマった部分を紹介させていただこうかと思います。

Windows 利用者向けの手順「The essential guide to installing Amazon Q Developer CLI on Window」を見てみると、Windows ネイティブなインストールはできないようで Linux 環境を準備するために Windows Subsystem for Linux(WSL) の構築方法が記載されています。
私は WSL をまだインストールしてなかったため、手順に従い「Set up a WSL development environment」を実行しようとしますが wsl --install 後に手順記載の Ubuntu が起動しませんでした。
Ubuntu がデフォルトで起動する旨の記載がありましたが、再起動をしても起動しません。

実際にインストールされているか確認するため wsl --list --verbose を実行すると、どうやら Ubuntu がインストールされていないようで、以下のメッセージが出力されました。

Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。
この問題を解決するには、以下の手順に従ってディストリビューションをインストールしてください:

'wsl.exe --list --online' を使用して利用可能な配布を一覧表示する
および 'wsl.exe --install <Distro>' を使用してインストールしてください。

wsl.exe --list --online をまず実行すると、以下のような結果が得られます。

NAME                   FRIENDLY NAME
AlmaLinux-8            AlmaLinux OS 8
AlmaLinux-9            AlmaLinux OS 9
AlmaLinux-Kitten-10    AlmaLinux OS Kitten 10
Debian                 Debian GNU/Linux
FedoraLinux-42         Fedora Linux 42
Ubuntu                 Ubuntu
Ubuntu-24.04           Ubuntu 24.04 LTS
kali-linux             Kali Linux Rolling
openSUSE-Tumbleweed    openSUSE Tumbleweed
openSUSE-Leap-15.6     openSUSE Leap 15.6
Ubuntu-18.04           Ubuntu 18.04 LTS
Ubuntu-20.04           Ubuntu 20.04 LTS
Ubuntu-22.04           Ubuntu 22.04 LTS

AWS より提供されている手順内では Ubuntu をインストールしていたため wsl.exe --install Ubuntu-22.04 で Ubuntu をインストールしました。
※最新をインストールしたと思っていたら、中段に 24.04 があることに後で気づきました・・・(笑)

これでインストールは無事に完了し、ユーザ名とパスワードを設定後に Ubuntu を利用することができました。

また、その後の手順の中でインストーラーのダウンロードおよび実行する部分がありますが、またここで失敗してしまいます。。。

./install.sh
/home/matsuo/.local/bin/q: cannot execute binary file: Exec format error

これは詰んでるんじゃないか・・・と思いましたが、よくよくダウンロードしたコマンドを確認すると「q-x86_64-linux-musl.zip」となっており x86_64 用のパッケージでした。
ここで引っかかる方は少ないかもしれませんが、私の PC は ARM64 Base のためインストーラーが動きません。。。

どうしようかと思っていましたが、しっかり ARM64 利用者向けの手順が公式ドキュメントに記載がありました。 docs.aws.amazon.com やはり公式ドキュメント大事ですね!!

これで無事にインストーラーの実行でき、q chat コマンドを入力して、ようやく Amazon Q Developer CLI の始動です!!

ちなみに Tips として Amazon Q Developer CLI 起動前に作業用のディレクトリの作成をお勧めします。
手順の流れだとこのままゲームを続ける形となりますが、ホームディレクトリがかなり散らかることになります。
そのまま Github に Push するような状態ではなくなるため、「先に作業ディレクトリを作って移動しておく」または「先にディレクトリを作って Q に作業ディレクトリを指示する」ようにしておくと、後でファイルを移動したりなどの面倒がかかることはありません。

ゲームの概要

まずはどういったゲームを開発するかですが、私自身が魚の神経締めができる「魚介系エンジニア」を自称しておりますので、魚にまつわるゲームにしたいと考えました。

とはいえ、あまり凝った内容は難しそうな気がしたので、以下のようなポイントで現実的に開発が可能そうな範囲で考えてみました。

  • 漁師が銛で魚を突く
  • シューティングゲーム風にする
  • 全10ステージとする
  • 巨大魚のようなボスを各ステージに登場させる

あとは作りながら考えようということで、さっそく Amazon Q Developer CLI に指示を出すことにしました。

ゲーム完成までの流れ

まずは初めに以下のようなざっくりした内容を指示してみました。

pygameを使ってゲームを作成します。迫りくる魚たちを銛で撃ち落とすシューティングゲームを作成したいです。

早速ゲーム開発を開始してくれます。

コードの生成が完了するとAllow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]: と出力されるので、t を押下しゲームを保存します。 この説明を見た限り6~7割くらいやりたいことができてそうだな、と感心しつつ python3 fish_shooter.py で実際にゲームを起動すると・・・

ビジュアルは完全にお魚シューティングじゃない・・・。
画像などは生成できないため仕方がないですね。。。

ここで驚いたのは suggestion の内容です。
特に細かいゲーム仕様の話などはしていないですが、かなり具体的にアイデアを出してくれます。
Q もかなりやる気のようだったので2回目のプロンプトで一気に畳みかけてみました。

さすがに要望が多すぎて「落ち着け、段階的に実装しよう」と諭されます。 一通りの要望を実装した画面がこちら。

通常ステージ
ボスステージ

お!!魚になった!!
下の空気入れみたいなのが漁師・・・?

ボスは中央にたたずむだけの木偶の坊と化している状態でしたが、この時点で自分がやりたいことはこれで7~8割くらいできているような気がします。
たった数回のプロンプトでここまでのゲームができるって、Amazon Q Developer CLI 恐るべし・・・。

機能面でのゴールまでもう少しという感じでしたが、私はついついビジュアルにもこだわりたくなりました。
イベントのコンセプト的にフリーの画像を持ってくのも違う気がして、画像も生成 AI に作成してもらって、それをアセットとしてゲームに組み込むことにしました。

画像生成はもちろん「Amazon Titan Image Generator」です!!
魚やらボスやら漁師やらを作成してもらいました。

ボスの生成画像

ゲーム開始画面から終了画面まで一通りの画像を生成し、パワーアップアイテムやら難易度の調整やら敵の弾のアレンジやらも改善してもらいつつ完成したゲーム画面はこちら!!

赤枠で囲ってますが、下の人間っぽいのが漁師で、巨大ガニに向かって中央に3本飛んでいるのが銛です。
左上にスコアと現在のステージ、右上にライフとパワーアップアイテムの効果が表示されるようにもなっています。
最初に自分が想像してた以上に良い出来のゲームができて非常に満足です!!
ちなみに画像アセットも Q の指示通りの保管場所に保管しただけなので、コードには手を入れていません。

最後に README も作ってもらいました。

完成品

ゲームの完成品は以下です!! github.com

詳細は README に記載してますが、ゲームはステージごとに徐々に難易度が上がっていく仕様になっているので、なかなかプレイしがいのある内容になったのではないかと思います。

プレイする上でのアドバイスですが、強化アイテムを取ると一気に難易度が下がるため、スリリングなプレイを楽しまれたい方は強化アイテムを取らないことをおススメします!

Amazon Q Developer CLI を触った所感

初めの指示からほとんど時間もかからずゲームの基盤は出来上がったので、走り出しはすごく早く感じました。
また、suggestion の内容が的確でインタラクティブにサクサク機能を追加していけるので、コードが書けない私でも簡単にゲームを作ることができました。
細かい修正を指示した場合なども自動でデバッグしてテストを行ってくれるので、ゲームの起動ができなくなるなどのバグもほぼなく、非常に安心感も覚えました。

気になった点として、細かい修正が続くと1回の指示で30分以上生成に時間がかかることがあったり、急にアセットの情報やコードが先祖返りしたりすることもありましたので、ゼロからの生成は得意でも改修などは現状さほど得意ではないのかもしれません。(とはいっても人がやるよりは十分速いのですが・・・)

ただ、会話をするようにインタラクティブにゲームを開発していくのは非常に簡単で楽しく行えたので、今後も継続的に利用していきたいと思います!!
今後 Titan や他の生成 AI サービスと連携して、アセットの画像、音楽も含めて生成できるようになると、よりゲーム開発が進展しそうなのでその辺のアップデートに期待したいです!!

さいごに

今回は Amazon Q Developer CLI を使ったゲーム開発のご紹介をさせていただきました。

恐らく今回のイベント開催が無ければ Amazon Q Developer CLI を触るのはしばらく先になりそうだったので、本当にいい機会をいただきました!!

今回の記事でご紹介している通り、私のようなコーディングを日頃やっていないエンジニアでも簡単にゲーム開発を行うことができ、ついつい時間を忘れて没頭してしまいました。(笑)

イベントは6/20まで行われているようですので、ぜひコーディングできる人もできない人もチャレンジしてみてはいかがでしょうか?

それでは次回の投稿もお楽しみに!!