はじめに
Amazon Q CLI でゲームを作ろう Tシャツキャンペーンを知り、今までamaoznQ CLIを使ったことがなかったのでいい機会だと思いチャレンジしてみました。(Tシャツがとても欲しかったのもあります。)
https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/
Amazon Q CLIとは
Amazon Q CLI は、AWS Command Line Interface (AWS CLI) の機能を拡張する、生成AIを搭載したアシスタントです。自然言語での指示を理解し、AWS のサービス操作やコード生成などをサポートしてくれます。
ゲーム作成
今回はAmazon Qを使って大人気パズルゲームのスイカゲームを真似たゲームを制作してみようと思います。
Amazon Q CLIのチャットセッションを開始
Amazon Q CLIをインストールしたらさっそくチャットを動かしてみます。
q chat
わかりやすい大きなロゴとともにチャットセッションが始まりました。
ゲーム内容
Amzon Q CLIはチャットで簡単な指示からもゲームを作ることは可能ですが、最初からある程度完成させたいビジョンが決まっていたためplan.mdファイルを作成しそれを読み込んでもらう事でゲームのたたき台を作ってもらいました。
# ゲーム名:コイシゲーム
## 1. ゲーム概要
* **ゲームタイトル (仮):** 『コイシゲーム』
* **ジャンル:** パズルゲーム
# 人気のスイカゲームのようなゲームを作りたい。
---
## 2. 環境設定
* **開発環境:** WSL2 (Ubuntu 22.04)
* **主要ライブラリ:** **Pygame**
## 3. コアシステム
* 上から石を落として同じランクの石が触れ合うと合体して一つ上のランクの石になる
* 石のランクは、小石<砂利<丸石<砂岩<水晶<翡翠<ルビー<サファイア<金<ダイヤで上がっていく
* 上から落ちてくる石は、小石/砂利/丸石の三種類がランダムに選ばれる
* プレイヤーは石を落とす位置を左右に移動することと落とす操作のみできる
* 石同士がくっついてランクが上がる時にそのランクに応じたポイントが入る
* エリアが決まっており、そのエリアからはみ出るとゲームオーバー
いざ作成依頼!
それではplan.mdを読み込んで実際にゲームを作ってもらいましょう。Amazon Qのお手並み拝見!!
>plan.mdの内容を確認してゲームを実装してください。
まず、plan.mdファイルの内容を確認して、実装すべき内容を把握しましょう。
動き出しました。次に何をするのか解説しながら処理してくれるのは安心感があります。
Using tool: fs_read(trusted)
●Reading file: /amazno-Q-game/src/plan.md, all lines
●Completed in 0.0s
plan.mdの内容を確認しました。「コイシゲーム」というパズルゲームを実装する計画のようです。スイカゲームのような合体系パズルゲームで、Pygameを使って開発する予定です。
それでは、この計画に基づいて実装を進めていきましょう。まず、必要なファイル構成を作成し、基本的なゲームフレームワークを実装します。
Game.pyとREADME.mdを作成してくれました。次は何をしてくれるのでしょうか。
Using tool: execute_bash
●I will run the following shell command:
cd amazon-Q-game/src && python -m pygame.examples.aliens
↳Purpose: Pygameがインストールされているか確認するためのテスト
ここで最初のびっくりポイントがありました。私の開発環境にPygameをインストールしていなかったのですが、主要ライブラリにPygameと指定しておいたら、Pygameがインストールされているか確認し、その後自動でPygameをインストールまでしてくれました。
ただ勝手にインストールされる怖さもあるので慎重になる必要もありそうです。
そんなこんなで依頼から10分ほど待つとゲームが完成しました。
初回ゲーム
う~ん、思っていた感じと違う…。でも動きとしては大体指定していた通りになっていますし、何より0からのスタートで10分ほどで動くものが完成したと思うとその速さにはびっくりです。
ここからはチャットでもっと色や大きさ、仕様の変更などかれこれ2時間ぐらい注文を繰り返してみました。
完成品
ポップな感じのゲームができたのではないでしょうか!まだまだ改善し足りない所を上げたらきりがないですがスタートから3時間ほどで思っていたようなスイカゲームライクのゲームが作れました。
感想
とにかく0から一発でそれなりに動くものを作ってくれる速さには驚きました。Amazon Q CLI を使った今回のゲーム開発は、私にとって非常に画期的な体験でした。
ゼロからコードを書く手間が大幅に削減され、アイデアをすぐに形にできる感覚は、これまでの開発プロセスとは全く異なるものでした。
もちろん、生成されたコードの確認や微調整は必要ですし、微調整までQにさせようとすると一か所直したらさっき直した部分が元に戻るなど思うようにいかない部分もまだありました。しかし開発のとっかかりを与えてくれて、その後のプロセスをスムーズにしてくれる強力なツールであると実感しました。今後のさらなる進化が非常に楽しみです。