🎮

Amazon Q CLI にブロック崩しと AWS アイコンクイズを掛け合わせたゲームを作ってもらってみた #AmazonQCLI

に公開

こんにちは、べこみんです。
5月半ばから第一子のための育休中ということもあり、久しぶりにZennで記事を執筆してみます。
育児、思ってたより大変ですね。

さて皆さん、早速ですが 「Amazon Q CLI でゲームを作ろう」キャンペーン をご存知でしょうか?既に何本か記事も上がっているのでご存知の方もいらっしゃるかと思います。

Amazon Q CLIとは、AWSが提供するCLIで利用可能なAIエージェントです。
インストールも簡単で、無料利用枠もあるので気軽に利用出来ます。
https://aws.amazon.com/jp/blogs/devops/introducing-the-enhanced-command-line-interface-in-amazon-q-developer/

料金の詳細はこちら
https://aws.amazon.com/jp/q/developer/pricing/

先日リリースされたこのサービスの普及イベントが現在アジア太平洋や日本、中国を対象に行われており、それが上述の「Amazon Q CLI でゲームを作ろう」キャンペーンなんです。
キャンペーンの詳細はこちらをご覧ください。
https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/

ゲーム「AWS Quiz Breakout」を作ってもらった

そんな訳で自分もゲームを作って みました。 もらいました。


※動画は2倍速にしてます

制作時間は3時間ほど、夜中の0時〜3時ぐらいに娘を見守りながらQくんがサクッと作ってくれました。
コードはこちら。
https://github.com/becominn/aws-quiz-breakout

見ての通り、ゲームの主要素はブロック崩しです。
ブロックの後ろにはAWSサービスアイコンが隠れていて、プレイヤーはブロックを崩し切るかボールを落とすとそのアイコンが何のサービスなのかのクイズに答える必要があります。
無事クイズに正解するとゲームクリアです!

実際に投げたプロンプト

それではここからは僕が実際に投げたプロンプトを貼ってみます。
Qとのやり取りは計16回でした。

ブロック崩しゲームとクイズゲームを掛け合わせたゲームを作りたいです。
ブロックの後ろにはある画像が隠されていて、プレイヤーはブロックを崩し切る、もしくはブロックを崩す球を落とした段階で画像が何かのクイズに答えるというものです。
PyGameを使って作ってください。

まずこの雑なプロンプトの時点で動くゲームが出来上がっていました。凄いですね。
ただ、細かいニュアンスまで汲み取れていないのか若干私の考えていた仕様とは乖離していたのでここから細かい修正を指示していきます。

大体OKですが、以下が追加要望です。
- ブロックは貫通して崩さない
- ブロックの後ろの画像はAWSのサービスアイコンで、そのサービスアイコンが何かをプレイヤーは回答する
- 画像が何かのクイズにプレイヤーが正解するとConguratulations!の文字。不正解なら残念!の文字を表示
- クイズの後は再プレイかゲームを終了のどちらかをプレイヤーが選択可能

ここでゲームが文字化けしていることに気付きました。
コードを見ると日本語が表示されるようになっていましたが日本語フォントを使用していなかったようです。

日本語が文字化けしています。どうすれば良いですか?

たったこれだけのプロンプトでMac, Windows, Linuxを考慮した日本語フォント指定をコードに組み込んでくれました。かなり細かいところまで気を遣って書いてくれてたので正直驚きましたw

省略しますが、この後も13回ほど細かい修正を行い上記リポジトリ内のコードは完成しました。
AWSサービスアイコンは人間が取得し配置しましたが、もしかしたらここも頼めばやってくれたかもしれません。

最後に

コード自体には気になる部分もありますが、適当なコメントも入っていますしサクッと作ってもらったにしては十分な出来ではないでしょうか。
私は普段業務でClaudeを愛用していますが、Q CLIは指示していない箇所に対する細かな心配りを感じました。余計なお世話になることもあるかもしれませんが、0から何かを作る場合は自分が気にしていなかった観点を教えてくれることにもなるので非常に良い体験なのではないかと思います。
ただ無料枠ということもあるとは思いますが、レスポンスは少し遅く感じました。今回は娘を見守りながらの作業だったので大して気になりませんでしたけどw

皆さん、特にまだ生成AIを使いながらのコーディング経験は無い方はこの機会に是非体験してみてはいかがでしょうか。

以上、べこみんでした。

Discussion