はじめに
Amazon Q CLIを使ってゲームを作るとTシャツがもらえるキャンペーンが実施中とのことなので、ゲーム開発未経験(開発自体ほぼ未経験)の自分もチャレンジしてみました。
・キャンペーンページ
・日本語版
どんなゲームにしようかなーと悩みましたが、どうせなら自分が利用しそうなものにしようと思い、1週間くらいぼんやり考えた結果タイピングゲームを作ることにしました。
私自身、自作キーボード勢で休みの日には寿司打などで時間を溶かしている人間なので、趣味として利用できそうだなということが理由として一つ。
あと英語のタイピングが苦手なので英語でAWSのサービスに関連した文字列を対象すれば実利もありそうだなということがもう一つの理由です。
実行の様子は以下のポスト参照。
英語タイピング慣れなくてむずかしい(大西配列)
制作過程
Amazon Qに対して自然言語でのプロンプトのみで全ての作業を行いました。
キャンペーンページ内でも例示があったpygameを利用することにしました。(本キャンペーンでは利用する技術の縛りはありません)
はじめに「pygameを利用してAWSのサービスについてのタイピングを作ってください」とお願いしたところ、以下のような画面が表示されました。
文字がうまく表示されていないので、何をすればゲームが開始するかも謎です。
ちなみにspaceを押すことで、一応タイピングゲームっぽいものは動きました。
この後、日本語表示を修正して!、デザインをリッチにして!、AWSっぽい配色にして!など思いついたままにプロンプトを入力した結果、以下のような画面になりました。
「〜を修正して」のような指示を何度もお願いしたのですが、迷宮に入り込むことなく対応してくれていました。
ただ、より具体的な指示を行った方が対処の精度は良く、対応時間も短いと感じたので、支持する人間が仕組みを理解しているに越したことはないと感じました。
タイピングの内容についても、初めはサービス名のみだったのですがあまり英語感がなかったので、各サービスにまつわる例文をQ Developerに考えてもらいました。
普通にサービスの解説だけでは面白くないので、ユーモアのある文をお願いしました。
その結果、たとえばSNSだと以下のような欧米味のある感じの文章に。
"SNS notifies faster than office gossip": "SNSはオフィスの噂よりも速く通知します"
ちなみにGuardDutyは以下のような文に。睡眠中の検出は歓迎しがたい。
"GuardDuty detects threats in their sleep": "GuardDutyは睡眠中に脅威を検出します",
タイピングしたものについては、結果表示後に簡単なサービス説明とタイピングテキスト原文と日本語訳が確認できるようにしてもらいました。
たまにユーモアレベルが高すぎて意味が掴みにくい分もありますが、一旦そのままにしています。
人類には早すぎたのだ。。。
結果、作業完了までは4-5時間ほどかかりましたが、Q Devloperの応答待ちの時間がほとんどのため、実働でいうと1時間もかかっていない体感です。
ちょっとThinkingの時間が長いようにも感じましたが、待つ間に他の作業もできるので、手間はそこまで感じませんでした。
GitHub
作成したgameは以下のリポジトリから取得できますので、よかったら評価Heroを目指してみてください。
私はProfessionalが限界でした。
まとめ
開発初心者の自分でもやりたいことのイメージがあれば、ある程度のものが作れてしまうことにはかなり感動しました。
今回は初期設定で頑張ったけれど、MCPやルールでカスタマイズして使い込むともっと色々なことができそうです。
他のコーディングエージェントも強いけれど、AWSに関連する部分であれば差別化できるくらいには強みがあると思うので、状況に応じて使い分けられれば一番かなと感じました。
以上です!