10
6

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で植物育成ゲームを作ってみた!

Last updated at Posted at 2025-06-27

この記事は「Build Games with Amazon Q CLI and score a T shirt」についてのアウトプットです。

私はほとんどプログラミング経験のないエンジニアです。近年の生成AIの発展に救われ、世界が広がっているのを感じています。

もし、この記事を読んでいる方の中に、プログラミングができない自分ではアプリケーションを作ることができないと思っている方がいるならば、私の体験談を読んでみてほしいです。

参加しようと思った理由と、テーマ選定について

Amazon Q CLIを業務の場面で使うようになりましたが、正直、ゲームを作るということにはハードルを感じていました。そこで、Amazon Q CLIでどこまでのものが作れるのか試してみたくて、「Build Games with Amazon Q CLI」チャレンジに参加することにしました。

先人たちが投稿したゲームを見ると、スタイリッシュでクールな、パズル要素やクイズ要素のあるゲームが多いように見えました。そこで、あまり他の人が作っていなさそうな 「可愛い」「ポップ」「育成」 をテーマにすることにしました。

完成したゲームについて

完成したゲームはこちらです

ユーザーは育てる植物を一つ選び、その植物に合った世話をしながら、20ターン以内にその植物に花を咲かせ、果実を実らせることで育成を成功させることができます。
植物の育成ですから、当然思い通りにいくことばかりではありません、天候不良のようなアクシデントに見舞われても、乗り越えていく必要があるのです。

さらに、植物には育成難易度があり、上級や超上級は普通に育てていても20ターンでは果実を実らせることは到底無理です。

そこで、難易度の低い植物の果実を何度も収穫することでお金を貯め、ショップで便利なアイテムを購入することで、ターンを無視してお世話をしたり、健康度を回復したりすることで、成長を早め、20ターン以内のクリアを目指すなどの戦略を練る必要が出てくるのです。

図鑑機能や実績機能のようなコンプリート要素もあるため、工夫して、何度も挑戦し、図鑑を埋めていく達成感を得ることができるようになっています。

開発にかかった時間は約10~15時間でした。そのうち半分以上の時間はデバッグを行っていたような気がします。

開発の流れ

まずはClaude 4 Sonnetに要件定義を手伝ってもらいました。Claudeと対話しながら要件定義書を作成し、

最終的にこの要件定義書をAmazon Q Developerに渡して実装してもらうので、それに最適化したプロンプトとして出力してください。

と指示してプロンプトにしました。

それをAmazon Q CLIに渡し、最初のアプリを作成してもらいました。

ちなみに、要件定義には以下のような内容が含まれていました。

  • ゲームシステム:ターン制(30ターンで終了)、複数の植物(難易度別)、経済システム、天候などのランダムイベント、図鑑と実績システム
  • UI/UXコンセプト:絵本のような可愛らしいビジュアル、パステルカラーを基調とした優しい色合い、癒しを感じさせるデザイン、モバイル対応

Amazon Q CLIが最初に生成したものは、まるでCSSの読み込みに失敗したWebサイトのような、黒い線と黒い文字だけで表現された無機質な画面でした。本当にできあがるのかと不安に感じたのを覚えています。

そこからは一つ一つ段階的に機能の拡充と改善を進めました。

例えば、

  • 「見た目をもっと可愛らしくしてください」
  • 「植物が成長するアニメーションを追加してください」
  • 「ターン数が進まなかったり、30ターンが経過してもゲームが終わらなかったりします。30ターンで必ずゲームが終了するように修正してください」(バグ報告)
  • 「ボタンを押しても反応がないです」(バグ報告)

途中、視覚的な問題をAmazon Q CLIにどうやって説明するか困ったこともありました。例えば、画像の位置ずれやボタンの位置、枠の大きさなどです。

そこで、試しにDebug用のフォルダを作り、そこにスクリーンショットを配置して、Amazon Q CLIにそのスクリーンショットを見るように指示しつつ、説明の補助として使うことで、Amazon Q CLIは的確に指示を理解してくれるようになりました。

開発効率を上げる工夫

今回のゲームは、AWS Amplifyでホスティングしているのですが、Amazon Q CLIが生成したコードをデプロイすると、コードの不備でたびたびエラーになってしまっていました。そのたびにAmazon Q CLIに修正を指示し、再度デプロイするのは地味に手間でした。

そこで、Q CLIに以下のような指示を出しました:

エラーを修正したらGitにPushして、Amplifyのデプロイが終わったか確認して。
デプロイがエラーになったら自分で修正して再度Pushするようにしてください。
デプロイが成功するまで繰り返してください。

すると、Q CLIは期待以上に自律的に動き始めました。git push後にAmplifyのデプロイステータスを定期的にチェックするために、sleep 60コマンドで待機しているのを見たときは素直に感心しました。

MCP Serverの利用

育成ゲームにとって、ユーザーが視覚的に成長を実感できるという機能は、ユーザー体験を豊かにするために非常に重要です。しかし、当然私はイラストを描くことはできません。そこで、Amazon Nova Canvas MCP Serverを活用しました。

Amazon Nova Canvas MCP Serverを接続するだけで、Q CLIは必要に応じてイラストを生成し、ゲームに組み込んでくれました。結果、画面が華やかになり、絵本のような優しいビジュアルを実現することができました。

学んだこと

正直、作り始める前に想定していたよりも充実したゲームを作ることができました。今まで「こんなゲームやアプリがあったらいいな」と思っても実現できなかったアイデアを、私にも作ることができるのだとわかって本当に感動しました。

もし、これからAmazon Q CLIでのゲーム開発に挑戦してみようと思う方がいらっしゃったら、ぜひ以下のポイントを試してみてください。

  1. 最初に要件定義を明確にする:作りたいものがなんとなく決まっているのなら、最初に要件を明確にし、整理することで最初のアウトプットの精度を上げる
  2. 繰り返し修正していく:バグや要件がうまく実現されていない部分、後から思いついた追加機能、UXの向上など、Q CLIが出力したアプリをたくさん触って、どんどんフィードバックする
  3. 視覚的な情報を活用する:UIの問題はスクリーンショットで伝えると伝わりやすい
  4. 自動化を積極的に活用する:エラー修正からの再デプロイのような、ユーザーの判断を必要としない一連の作業は、Q CLIが自律的に実行できるように指示する
  5. 根気強く続ける:最初の見た目がよくなくても、うまく動かなくても、根気よく何度でもQ CLIと調整し続ける

今回の「Build Games with Amazon Q CLI and score a T shirt」は私にとって、「Vibe Coding」という言葉の意味、その意義を体感できる素晴らしい企画でした。

これを読んだあなたはどんなものを作ってみたくなりましたか?

ぜひAmazon Q CLIで自分のアイデアを実現してみてください。きっと、想像以上のものが作れるはずです。

10
6
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
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?