Amazon Q Developer CLI を利用してゲームを作ってみた
はじめに
Amazon Q Developer CLI を利用してゲームを作成するとTシャツをゲットできるというキャンペーンがあったので、これに応募することをモチベーションにゲームを作ってみました。
今回作成したゲーム「Drop Catcher」の簡単な紹介
キャラクターを左右に動かして上から降ってくるアイテムを獲得するゲームです。
制限時間内にゲットしたアイテムの得点に応じてより高いスコアを目指します。
今回作成したゲームは Github 上に公開しています。
(私自身の環境でしか動作確認ができていないので、動作保証は致しかねます。悪しからず...)
ゲーム作成の流れ
必要な準備
- Windows に WSL2 をインストール (仮想マシンは Ubuntu 22.04 を利用)
- Ubuntu に以下インストール
- Python 3.10.2
- Pygame 2.6.1 (pip でインストール)
- Numpy 1.24.1 (pip でインストール)
- Amazon Q Developer CLI (q 1.10.2)
https://community.aws/content/2v5PptEEYT2y0lRmZbFQtECA66M/the-essential-guide-to-installing-amazon-q-developer-cli-on-windows?trk=e07eca93-fa2f-4351-b567-f293b83eb635&sc_channel=el_
Amazon Q Developer CLI にゲームを作ってもらう
まず、Amazon Q Developer CLI に最初の指示を与えます。
極力具体性のある形で指示を出すことを意識しています。
pygameでゲームを作成したいです。
成果物は <成果物配置場所ディレクトリ> に出力するようにしてください。
以下ゲームの詳細です。
------
ゲーム名:Drop Catcher
ゲーム要素:
キャラクターを左右に動かして、上から降ってくるアイテムを獲得してアイテムに応じた得点を獲得する
移動できる範囲は5ライン
→左端、右端に到達した場合はそれ以上左または右には動けない
30秒間に獲得した得点が最終スコアになる
開始20秒まではプラスアイテムが降ってくる割合を高める
残り10秒になったらマイナスアイテムの降ってくる割合を高める
プラスアイテム、マイナスアイテムともにスコア絵の影響が少ないアイテムが降ってくる割合を高める
特殊アイテム (最強モード発動アイテム)は1ゲームで1~2回程度の出現頻度、特殊アイテム (時間系)は1ゲームで1~2回程度の出現頻度とする (プラス時間とマイナス時間の比率は2:1程度(プラス時間をやや多め))
スコアのランキング制度を作る (Top10までを表示)
アイテムについて:
プラスアイテム
獲得すると得点がプラスになるアイテム
コイン:+10点
ハート:+30点
スター:+50点 取得時に光る演出
ダイヤ:+100点 キラキラエフェクトつける
マイナス要素
獲得すると得点がマイナスになるアイテム
やかん:-10点 当たるとキャラクターが痛がる
雷雲:-30点 キャラクターが電撃される演出
毒瓶:-50点 紫の不気味な泡
爆弾:-100点 爆弾エフェクトつける
特殊アイテム (時間系)
時計(青:残り時間+10秒、時を戻す演出
砂時計(赤): 残り時間-5秒、砂が落ちる演出
タイムクリスタル:残り時間+20秒、レア出現
ブラックホール:残り時間-10秒、周りを吸い込む演出
特殊アイテム (最強モード発動アイテム)
虹色オーブ:15秒間全アイテムがプラス得点に変化
黄金の王冠:20秒間の無敵+高得点モード
魔法のステッキ:10秒間アイテム自動吸引+得点2倍
キャラクターについて:
かわいげのある親しみやすいキャラクターにしてください。
------
指示が不明瞭な点があれば適宜聞いてください。
最初の指示で出来上がったものがこちらです。この時点ではキャラクターも上から降ってくるアイテムも四角のマスで表現されています。
ここから Amazon Q Developer CLI に追加の指示を与えて内容のブラッシュアップ、修正の依頼をしました。
・キャラクターと上から降ってくるアイテムの画像を作ってそれに置き換え
・文字化けの修正依頼
・ゲームの背景が黒一色だったので、いい感じの背景にしてもらう
など
文字だけではうまく伝わらない所は画面キャプチャの配置先を Amazon Q Developer CLI に教えて、実際の画像を確認してもらった上でコードの修正をしてもらいました。
※Amazon Q Developer CLI のバージョン 1.10.0 以上のバージョンから、画像の入力がサポートされています。
まとめ
まだまだ改善の余地はありますが、Amazon Q Developer CLI で一通りゲームが遊べるところまでは完成させることが出来ました。
最初の指示出し~修正まで Amazon Q Developer CLI に全てお任せしています。
Amazon Q 含めて AI 関連のアップデートに追いつけていない所もありますが、やはり実際に触ってみながら実感を持つことは大事だと感じました。
日々の業務の中でもこんなことに使えるんじゃ??というアイデアはあるので、今後も積極的に触れていきたいと思います。
Discussion