📑

Amazon Q Developer CLI を利用してゲームを作ってみた

に公開

はじめに

Amazon Q Developer CLI を利用してゲームを作成するとTシャツをゲットできるというキャンペーンがあったので、これに応募することをモチベーションにゲームを作ってみました。
https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt

今回作成したゲーム「Drop Catcher」の簡単な紹介

キャラクターを左右に動かして上から降ってくるアイテムを獲得するゲームです。
制限時間内にゲットしたアイテムの得点に応じてより高いスコアを目指します。

今回作成したゲームは Github 上に公開しています。
(私自身の環境でしか動作確認ができていないので、動作保証は致しかねます。悪しからず...)
https://github.com/yoshi-wada-test/drop-catcher

ゲーム作成の流れ

必要な準備

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 以上のバージョンから、画像の入力がサポートされています。
https://aws.amazon.com/jp/blogs/news/amazon-q-developer-cli-supports-image-inputs-in-your-terminal/

まとめ

まだまだ改善の余地はありますが、Amazon Q Developer CLI で一通りゲームが遊べるところまでは完成させることが出来ました。
最初の指示出し~修正まで Amazon Q Developer CLI に全てお任せしています。

Amazon Q 含めて AI 関連のアップデートに追いつけていない所もありますが、やはり実際に触ってみながら実感を持つことは大事だと感じました。

日々の業務の中でもこんなことに使えるんじゃ??というアイデアはあるので、今後も積極的に触れていきたいと思います。

Discussion