2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Q CLI でパズルゲーム作ってみた

Posted at

0. はじめに

Amazonのサービスを便利に使ってますか?きっと使っていることかと思います(そういうことにしておきます)。

かくいう自分は、モバイルアプリの開発が中心で、インフラ側を触ることが少なくなっている日常です。昔はAWSの資格を取ったりもしてたんですけどね。

そんな中、同僚にAWSで下記のキャンペーンをやってるよ!と教えてもらったので、久しぶりにAWSのサービスに少し触ってみることにしました。

1. Amazon Q CLI を使用する準備

1.1. AWS Builder ID を取得

まず AWS Builder ID というのを取得する必要があります。久しぶりに触った人(自分)から見ると「なにそれ?」という感じですが、AmazonQを使用するのに必要なものらしいので、とりあえず取得しましょう。

下記のリンクから、取得できます。

1.2. Amazon Q CLI をインストール

Macを使用しているので、Macの場合の説明になります。

下記リンクに、Amazon Q CLI をインストールするファイル(.dmg)のリンクがあるので、クリックしてダウンロードします。ダウンロードしたら、ファイルを実行してインストールします。

1.3. Amazon Q CLI を起動

インストールしたアプリケーションを起動し、先ほど作成した AWS Builder ID を使ってログインします。ここまで来たら、準備完了と言えるでしょう。

ターミナルを起動して、q chatと入力してみてください。AmazonQとのチャットが開始されます。

% q chat

    ⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
 ⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
 ⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
 ⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
 ⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
 ⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧


╭─────────────────────────────── Did you know? ────────────────────────────────╮
│                                                                              │
│      /usage shows you a visual breakdown of your current context window      │
│                                    usage                                     │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

/help all commands  ****  ctrl + j new lines  ****  ctrl + s fuzzy search

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ちなみに、チャットを終了するときは /q です。

> /q

2. ゲームを作ってみよう(テトリス編)

2.1. Amazon Q 編

まずは難しく考えず、簡単な命令だけで動いてくれるかを試してみます。「テトリスを作ってください」 と命令してみます。

% q chat

...(省略)...

> pygameでテトリスを作ってください

Thinking... と表示されるので、しばらく待ちます。

2〜3分待つと、tetris.pyを生成できたので実行してみてください。 と表示されました。
早速、実行してみます。

% python tetris.py

スクリーンショット 2025-06-03 22.54.04.png

Mac上にアプリを起動し、画面が表示されました。
どう見てもテトリスです。本当にありがとうございました。

2.2. Gemini 編

いや言うても、これぐらいなら他のAIもやってくれるでしょ。と思ったので、試しにGemini(2.5 flash)へ同じ命令をしてみます。

すると、同じく tetris.py を生成してくれました。こちらも実行してみます。

スクリーンショット 2025-06-04 23.04.15.png

Mac上にアプリを起動し、画面が表示されました。

たしかにテトリス・・・ですね。ただ、本当に最低限の機能と言った感じで、Amazon Q で作成したテトリスと比較すると物足りなさを感じます。

ゲーム作成に関しては、Amazon Q に軍配が上がりそうです。

3. ゲームを作ってみよう(パズルゲーム編)

3.1. Python編

オリジナルで、ちょっとしたパズルゲームを考えてみました。AIに流すことを考えて、下記にまとめてみました。

ゲーム仕様
パズルゲームを作成してください。

- pygameを使用してください。
- 使用するライブラリはrequirements.txtで管理してください。

# タイトル
  Attack15

# メイン画面
  - スタートボタンを押して、ゲームを開始します。
  - 終了ボタンを押して、アプリを終了します。

# ゲームについて
  - 1〜9のランダムな数字が書かれた9枚のパネルがあります。
  - 2枚以上のパネルを選択し、合計15になるようにする。
  - 選択したパネルを選択すると、非選択状態になる。
  - 合計15になったら、選択したパネルは削除されて、新たな数字がセットされたパネルがセットされる
  - 制限時間は1分
  - 各パネルは15秒経つとリセットされ、新しく1〜9のランダムな数字が書かれたパネルがセットされる

# ポイントについて
  - 合計15になるパネルを選択して、パネルを消すと、15ポイントプラスされる
  - パネルが15秒経ち、リセットされると10ポイントマイナスされる

ざっくり説明すると、
1〜9の数字が書かれたパネルから、合計15になるようにパネルを選択していくゲームです。

早速、Amazon Q CLI に流して、作ってもらいましょう。q chatでチャットを起動して、上記をコピペしてみます。

すると、テトリスの時と同様に、2〜3分ほどで作ってくれました。起動して遊んでみます。

output.gif

想定通り、もしくはそれ以上のゲームを作ってくれました。各パネルの制限時間のゲージなど、伝えていない部分も察して作ってくれています。

自分で作っておいてなんですが、動画の動きが雑魚すぎるのは無視してください。(泣)

3.2. web編

pythonを使ってゲームを作ることはできましたが、他の言語だとどうでしょうか。今度は同様のブラウザゲームを作ることが出来ないか試してみます。

先ほど作成したゲーム仕様で、3〜4行のpythonを使用する文言を削除して、下記を追記してみます。

ゲーム仕様(追記部分)
- ブラウザで動作させたい。

これで、q chatでチャットを起動して、同じように作ってみます。

しばらくすると、index.html, style.css, script.js を作成してくれました。
作成されたhtmlファイルをブラウザで起動してみます。

output1.gif

こちらも、ちゃんと動いています。ブラウザで動かすゲームも簡単に作ってくれそうですね。

ただこちらはゲージを実装してくれませんでした。まあ、仕様に書いてないので、問題はないですが、実装の度にどういったゲームが出来るかは多少ムラがありそうです。

3.3. Flutter編

さらにハードルを上げて、モバイルアプリを作ってもらいましょう。
果たしてできるのか・・・、再度ゲーム仕様の頭の部分を変更して、試してみます。

ゲーム仕様(追記部分)
- Flutterでモバイルアプリを作成してください。

ゲーム仕様を変更したら、Amazon Q CLI で命令してみます。

🛠️  Using tool: execute_bash
 ⋮ 
 ● I will run the following shell command: 
mkdir -p attack15 && cd attack15 && flutter create .
 ⋮ 
 ↳ Purpose: Creating a new Flutter project named attack15

おおお!flutter createしてFlutterプロジェクトを作ろうとしている!!

bash: flutter: command not found

 ⋮ 
 ● Completed in 0.18s
It seems Flutter is not installed or not in the PATH. Let's check if we can create the project structure manually:

orz

いや、flutterコマンドがないはずはないし、PATHも通ってると思うが・・・、なんか制限かけられてる??そもそもどんな環境で実行されてる??

なんとかしたら出来そうな気がしないでもないですが、一旦ここで諦めます。このメッセージの後に、頑張ってmain.dartだけでも作ろうとしていました。

4. まとめ

なんやかんや、いろいろ試してみましたが、Amazon Q CLI を用いて簡単にゲームを作れることは間違いなかったです。

こちらからの質問は、日本語を対応してくれているとはいえ、返答はまだ英語がメインっぽく見えました。たまに日本語で返ってくることもありましたが、このあたりは曖昧でした。

作成したパズルゲームは、GitHubに公開してます。ぜひ遊んでみてください。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?