🦈

Amazon QでVibe CodingしてTシャツをゲットしよう!!!

に公開

はじめに

6/9(月)にJAWS-UG横浜支部のイベントに参加してきました。その成果をここにまとめたいと思います。

業務ではGithub Copilotにコーディングをアシストしてもらっていますが、ゲームという1つのプロダクトをゼロから作る経験はないので、楽しみにしていました(待ってないで早くやれよってどこからか聞こえてるく気がする)。
※イベント当日は結局動かないゲームを作ってしまったので、後日リベンジした内容になります。

Amazon Q CLIでゲームを作ろう

ゲームの仕様は曖昧ですが、AWSサービスのアイコンとパ〇ドラをマージしたゲームを作りました。ちなみにパ〇ドラは半年前に引退しました。
さっそくAmazon Q CLIを起動します。基盤モデルは「Claude 4 Sonnet」を選択しました。その他MCPサーバなどは設定していません。

プロンプト一覧

入力したプロンプトの一覧です。Qとの会話履歴は「/save」で取得できます。

/save chat_history.json
=== Prompt 1 ===
AWSサービスとパズドラを組み合わせたゲームを開発してください。必要な機能はすべて実装してください。フレームワークや言語はすべてお任せします。

=== Prompt 2 ===
ゲーム画面はスクロールせずに画面にすべて収まるようにしてください。

=== Prompt 3 ===
オーブが見づらいので、色分けに加えてAWSサービスのアイコンをいれてください。

=== Prompt 4 ===
オーブを動かしてコンボできるようにしてください。また、ゲームの遊び方をREADMEに追加してください。

=== Prompt 5 ===
次のゲーム機能を追加してください。1.オーブを消した時、上からオーブが降ってきて次のパズルをスタートする。2.落ちコンあり。

=== Prompt 6 ===
ゲームの動作確認をするため、開発サーバを起動してください。

=== Prompt 7 ===
開発サーバを起動する際にエラーが発生した場合は、プログラムを修正して再度開発サーバの起動を試みてください。

=== Prompt 8 ===
とてもいいゲームになっています。

=== Prompt 9 ===
ここで、仕様を3つ追加してください。1.オーブは横もしくは縦に3つ以上揃えた時に消える。斜めに揃えた時は消えない。2.プレイ開始時、落ちコンが発生しないような盤面にする。3.ユーザがオーブを離すまで動かすことができる。

UI

完成したゲームの初期画面です。

  • ゲームタブ

  • プロフィールタブ

  • ランキングタブ

「ゲーム開始」を押下するとドロップが表示され、ゲームスタートです。

ディレクトリ構成

残念ながら、JSフレームワークやフロントエンドの知識が皆無なため、妥当かどうか分かりません。動作確認していませんが、cfnテンプレートまで作成してくれました。

所感

最初に出力されたゲームはイメージとちょっと違いました。

  • 1回パズルするたびに盤面がリセットされる
  • 落ちコンなし
  • ドロップを1マスしか移動できない
  • 斜めにドロップが揃った時も消えてしまう

いずれも後のプロンプトで修正できたので、かなりいいゲームができました。個人的にはとても満足しています。ドロップの斜め移動に対応できていないのが唯一の心残りです。

さいごに

JAWS-UG横浜支部のイベントに参加して、ゼロから始めるVibe Codingを体験できました。
コミュニティのイベントには引き続き積極的に参加する予定です。現地でお会いした際は仲良くしてください。

Discussion