瞬発力養い日本の和の心も学べる教育ゲームの発案
概要
この記事の対象者: AmazonQについて知りたい人。和の心を学びたい人。
この記事を読むとわかること:AmazonQでどこまでできて、どこが苦戦するか。
この記事を読むとできること: AmazonQの導入とゲームの作り方。
序章
最近、Amazon Qでゲームを作った記事をよく見かけませんか?
「なんでみんな作ってるんだ…」と不思議に思って調べてみたら、 Amazon Qでゲームを作るとTシャツがもらえるキャンペーンを発見しました!
Tシャツにつられて、私もAmazon Qを使ってゲーム作りにチャレンジしてみました!
今回作ったゲームはこちらです!!
その名も「575で瞬発力養い日本の和の心も学べる教育ゲーム」です!
Amazon Qって何?
まずは、AmazonQについての説明をします。
Amazon Qは、AWSが提供しているジェネレーティブAIアシスタントです。
2023年11月のAWS re:Inventで発表されて、2024年4月から一般公開されました。
Amazon Qには、
- Amazon Q Developer
- Amazon Q Business
- Amazon Q CLI
など、いろんなサービスがあります。
Amazon Q Developer
その名の通り、開発者用のサービスです。
VSCodeなどIDEの拡張機能として、Codeを補完します。
GitHub Copilotみたいな感じです。
以下のタスクを遂行することができます。
コマンド | 説明 |
---|---|
/dev | 機能開発 |
/doc | ドキュメント作成 |
/review | コードの誤りやリスクのレビュー |
/test | ユニットテストの作成 |
無料で使用することもできますが、利用回数が決まっていること、またデータが学習に使用される可能性があることから、業務で扱う場合は有料版の使用するのがいいかと思います。
無料利用枠(Free Tier)
- コード提案機能(月間制限あり)
- 開発エージェント機能(月10回まで)
- コード変換エージェント(月1,000行まで)
- AWSアカウントリソースに関する質問(月25クエリまで)
Pro版
- 1ユーザーあたり19USD/月
- コード変換エージェント(月4,000行まで)
- AWSアカウントリソースに関する質問(制限なし)
- 生成SQLクエリ(月1,000クエリまで)
- エンタープライズ向けアクセス制御
詳しくはこちら
Amazon Q Business
一方でこちらはビジネスユーザ向けのサービスです。
自然言語でRAGアプリを作ったり、簡単にアプリやBIが作れるようでした。
特に、QuickSight(BIツール)との連携機能が良さそうで、
データに対する質問や、Visualを動的に変更できるなどGenerative BIツールな印象がありました。
Amazon Q CLI
今回は「Amazon Q Developer for CLI」を使います!
CloudShellにはあらかじめダウンロードされており(qコマンド)、ローカル端末でもmacOS, Linux環境(WSL含む)ならばインストールできます。
Claude Codeや Gemini CLIみたいな感じです。
自然言語からコマンドを作ってそのまま実行することができます。
モデルは Claude Sonet 4や Sonet 3.5が選択できます。
詳しくはこちらを
セットアップしてみる
Amazon Qについて見てきましたが、次に実際にどのようにして作成するか見ていきます。
1. Amazon Qをインストール!
まずはCLI用のAmazon Qをインストールします。
以下のbrewコマンドよりインストールできます(Mac OSの場合)
brew install --cask amazon-q
インストールが完了すると、LaunchPadにAmazon Qが追加されます!
以下イメージです。
2. サインインと設定
Amazon Qを起動すると、まずはAWS Builder IDでサインインを求められます。
画面の指示に従って進めましょう。
さらに「アクセシビリティの許可」も必要です。
許可すればOK!
無事サインインできると、Amazon Qのメイン画面が開きます。
3. ターミナルでAmazon Qを使う
好きなターミナルを開きましょう。
(個人的には、VSCodeのターミナルが見やすくてオススメです!)
そして、以下のコマンドでAmazon Qのチャットを起動します。
q chat
すると、こんな感じの画面が表示されます。
いざ、ゲーム作り!
今回作ったゲーム
今回のお題はズバリ
「文章から575を見つけるゲーム」!
瞬発力も養えるし、日本の和の心(?)も学べる、
一石二鳥(もしかして三鳥?)な教育ゲームを目指してみました。
Amazon Qにプロンプトを投げてみた
まずはAmazon Q(今回はClaude Sonnet 4が裏で動いてました)に、こんなプロンプトを入力:
LLMで自動で文字を出力させて、それが575なのか違うか早押しするゲームを作りたい
すると、なんと数分でファイルとコードが生成され、
サクッとゲームが出来上がり!
…でも、日本語が豆腐(□)で文字化けしてしまいました。
文字化け対応
さっそく「日本語の文字が文字化けしないように修正して」とプロンプトで指示。
するとすぐ修正版が提案され、今度は無事に日本語が表示されました!
気になるところもPromptでどんどん直す!
今度は「残り時間の表示が右端で切れているのが気になる…」
→これもプロンプトで修正を依頼!
…というように、「ここ直したいな」と思ったところをひとつずつPromptで調整していきました。
完成したゲームのご紹介
最終的に、こんな感じのゲームになりました。
タイトル画面
- 俳句ステージと日常ステージが選べます。
ルール説明
- 「厳密な音数にならない場合があります」と注意書きも。
- ジャッジがちょっとゆるめなこともあるので、あたたかい目で見てくださいw
問題出題&判定
- 問題は毎回LLMで生成されるので、プレイするたび違う文章が出てきます。
- 「これが575か?」を即座に判定!
正解エフェクト&音
- 正解なら「575」エフェクトと効果音が出現!
最後は結果画面
開発中に詰まったこと
LLMの「音数」苦手問題
毎回同じ問題じゃつまらないので、
出題文はAI(LLM)に作ってもらうことにしました。
ところが!
「575になるような文章を作って」と指示しても、
なかなか正しい575の文を出してくれません…。
特に、漢字が混じるとAIは“文字数”でカウントしがちで、
正しい「音数」判定にはなりませんでした。
たとえば「柿食えば、鐘が鳴るなり 法隆寺」は
音数なら575だけど、文字数で見ると全然違います。
なので、「全部ひらがなで作って」とか
「出題する文章を日本語にして」とか、
プロンプトを何度も工夫して指示することに。
…しかし、「日本語で」と言ったら、
UIまで全部日本語になってしまい、ちょっと違う!(笑)
このあたりは「違うそうじゃない!」と根気強く伝えて、ようやく思った通りの出題になりました。
デプロイもチャレンジ
ゲームはGitHub Pagesで公開していますが、
Amazon Qに「デプロイして」と頼んだら「できたよ!」と返答が。
……でも、確認したら実際はできてませんでした。
最終的には手動でデプロイ。
結言
Amazon Qでゲームを作ってみて、
「AIにどこまで頼れるのか」、「どこで人間の手を加えるべきか」など
いろいろ考えるきっかけになりました。
Promptの工夫がそのままアウトプットに反映されるので、
「対話しながら作る」感覚がとても新鮮でした。
もし「ちょっと試してみようかな?」と思った方は、
ぜひ気軽にチャレンジしてみてください!
ちなみに、他の人が作ったAmazon Qゲームのレベルが本当に高い…!
Discussion