Amazon Q CLIでゲームを作った
Amazon Q CLI でゲームを作ろう Tシャツキャンペーン
Amazon Q CLIのチャットだけでゲームを作り、ブログを投稿するとTシャツをもらえるキャンペーンが2025/6/20まで開催されている。
詳細は以下の通りで、いくつか簡単なステップがある。
Step 1 : AWS Builder ID に登録し、このリンクから独自の community.aws ユーザー名を取得してください。サポートが必要な場合や他の参加者とネットワークを構築したい場合は、このリンクから Discord サーバーに参加してください。
Step 2 : Amazon Q CLI をマシンにインストールしてください。Ricardo Sueiras による Linux と Windows へのインストール方法ガイドがあります。また、PyGame または他のゲームライブラリをラップトップにインストールしてください。
Step 3 : Amazon Q CLI とのチャットセッションを開始し、チャット内のプロンプトだけでゲームを作成しましょう。Amazon Q CLI の可能性を探るため、できるだけ革新的なゲームを作ってみてください。
Step 4 : 作成したものについてブログを書くか、ビデオを作成してください。ハッシュタグ #AmazonQCLI を付けて SNS で公開投稿をしてください。地域言語 (例 : 日本語) での投稿も歓迎します。オプションとして、コードを GitHubリポジトリにホストすることもできます。
Step 5 : Tシャツ獲得フォームに記入してください。
作ったゲーム
構想
最初はAWS BuilderCardsみたいなのを想像しながら作ろうとしたけど、あんまり似てるとリスペクトに欠けるなと思い、ルールを後から考えるので、ボードゲームを作って
みたいなことを命令してみるとモノポリーみたいなゲームができた。一発で起動したのですごい。
ゲーム名のAWSクラウドマスター
もこのときAmazon Q CLIが決めている。
途中からGameDayをイメージしたゲームにしたいと思い立ち、今の原型になった。
作ってみるといろいろやってみたくなり、プレイヤーごとの得点チャートの追加とか、スコアをクレジットだけだったのを追加で顧客数の概念を入れたり、イベントに内部要因イベントと外部要因イベントとか、イベント内容のランダム化とか追加してみた。自分なら後から追加注文言うなよと文句いいそうなのでやってくれてえらい。
あとで英語にもできるようにしたいな、と思ってたらAmazon Q CLIの無料枠を使い切ったらしいので終了。
UIをカッコよくするとかもやりたかったけど、命令したり訂正したりを繰り返したら使い切ってしまったみたい。
困ったところ
良いところは言うまでもなく、チャットするだけで全部実装してくれるところなのだけど、いくつかマイナスポイントもあったので紹介
apt get installやpip installをしようとする
PyGameはデフォルトでは日本語対応していないので、何かしらフォントを導入する必要があります。フォントの取得先URLが間違っていていろいろ試行錯誤しているうちに、apt get install
でローカル環境にパッケージのインストールの許可を求められた。適切なURLを指示するとダウンロードできた。
また、(何も指示していないので当たり前だけど)pip installを仮想環境を使わずにやるので、ローカル環境にPyGameがインストールされた。仮想環境を使うように指示したところ、venvやbashスクリプトを用意してくれる。
試しているわけではないが、環境準備等はユーザーの意図を明確に文章にするのがめんどくさいので、環境を整えてからAmazon Q CLIに渡したほうがスムーズな気がする。
大幅な変更だと処理が落ちる
命令しているのは自分なので、命令がよくないというのはあるものの、大幅な変更だと挙動がちょっと怪しい時がある。
追加したいコードを新しいファイルとして作成して、内容をechoでメインのコードに差し込んできたり、ほとんどのコードを書き換えする場合に一部を除いて削除した直後にAmazon Q CLIが落ちて、動かないコードができたり。
上記の挙動でtmpなファイルが複数できて、実行スクリプトの名前がrun_fixed_game3.sh
とかになった。
GitHub上にpushするときに不要ファイルを消せばいいかな、と思ってたら無料枠がなくなったのでさすがに手動で削除した。
困ったことに、こういう場合はたいてい時間がかかるので、失敗するまで長い時間放置になる。(その間はユーザー自身はほかの作業ができるので無駄ではないのかも)
できたもの
何も考えずボタンを連打してターン経過でゲーム終了している動画
感想
休憩したりとかで触ってない時間も含めて、1日程度で作成しました。待ってる時間もそれなりに多かったし、開発に集中する必要もなく、片手間で終わったのでそんなに時間を使った感覚もないです。
Amazon Q CLIの導入を含めてもとても簡単だったので、いろいろな人にチャレンジしてもらえるとよさそう。おすすめです。
自分の生成AIの経験はチャットやLamdbaで使うぐらいはあるぐらいで、最近流行りのvibe codingとかは手を出せていなかったので、コード生成に手を出すきっかけになったので大変良かった。
Tシャツというモチベーションもうれしい。
ゲーム作りが思いのほか面白かったのも発見だった。アイデアが出たら、実装したいことを依頼するだけでいいのはとても気楽でいい。
ただ作ったゲームにはあまりゲーム性がないので、いろいろ改善したいポイントがあり不完全燃焼。
Discussion