🎮

Amazon Q CLI でゲームを作ってTシャツをもらおう!

に公開

Amazon Q CLI でゲームを作ってTシャツをもらおう!

今回はこちらにエントリします!
Amazon Q CLI でゲームを作ろう Tシャツキャンペーン (好評につき期間延長!)
間に合わないな~と思っていたら期間延長されたので、意気揚々と取り組みます。

準備

あっという間にできました。
Windows を利用しているため、公式の Installing Amazon Q for command line で案内されている以下ブログに従ってインストールします。

For information about using the Amazon Q CLI with Windows, see this blog post on dev.to.

WSL はインストール済みだったので、WSL と Ubuntu のインストールをスキップして、Q をインストール。
ブログ先と違うのは、install.sh の途中で Use for Free with Builder ID かどうかの質問があり、ここでログインすること。
Use for Free with Builder ID を選択すると、認証用のURLが示されるので、ブラウザで開いて認証します。

インストールが終わって q login をしてみると、

error: Already logged in, please logout with q logout first

ログイン済みですよ、と出る。
q chat すると、ウェルカムしてもらって準備万端です。
Amazon Q CLI

ここで、PyGame をインストールするため、Q を /quit で抜けて、WSL の Ubuntu で PyGame をインストールします。

ゲームを作ろう

今回作りたかったゲームは、2022年の JAWS DAYS 2022 - Satellites|大阪サテライト会場 LT大会 で はまーんさん がされてたこちらです。
激録・AWS スペース警察密着 24 時!!
元ネタは完全にこちらをいただいています。

Turn1: ゲーム素地の指示

まず、ゲームの基本部分の指示をします。
本当は UI まで指示したかったのですが、Shift+Enter してしまったため、構築が始まってしまったので、いったんそのまま見守ります。

AWS サービス名クイズ というクイズゲームを作ります。このゲームはAWSの数多くのサービスの正式名称を当てるクイズで、例えば「Amazon Q CLI」であれば、接頭語が「Amazon」なのか「AWS」なのか、半角スペースがどこに入るか、大文字小文字の組み合わせはどうか といった微妙な違いを含む4つの選択肢の中から正しい1つを選択するものです。

構築が始まった

何やらPythonで構築し、始めは問題はコード内に書いていて、次に json ファイルから読み取る改良版に変えていました。
README.md も出力して、構築完了したようです。
ゲームをテストしてみましょう : と言われ、pythonファイルを実行してテストします。
クイズができました。

クイズができた

Amaozn Q CLI くんは 素晴らしい!AWSサービス名クイズゲームが完成しました。 とうれしそうです。
構築したもの、機能、実行方法をまとめて報告してくれました。

Turn2: UIほしい

手が滑って UI 無しになってしまったので、UI を作ってブラウザで遊べるようにしてもらいます。
リクエスト

GUI を付けて、ゲーム性を高めましょう。browserで簡単に遊べるのがよさそうです。
西部劇のような雰囲気で正解の場合だけ打ち抜けるようにしたいです。
1ゲーム10問にして、最後に正答数をかっこよく表示しましょう

お返事

素晴らしいアイデアですね!西部劇風のブラウザゲームにしましょう。HTMLとJavaScriptで、銃で撃ち抜くような演出を加えたAWSサービス名クイズを作成します。

期待できそうな答えですね。
そうして出来上がったのがこちら!

西部劇風のブラウザゲーム

おおー
雰囲気出てる。
タイトルも勝手につけてくれました。
今日からこのゲームは「AWS GUNSLINGER」です。

操作性もよいのですが、いくつか問題が。

  1. このフォントかっこいいんだけど、文字が読みづらい。半角スペースの有無も分かりづらい。
  2. 的となる背景画像も、かっこいいんだけど、文字の邪魔してる。
  3. 改行があると、半角スペースの有無がわからない
  4. というか、明らかに同じものが2個ある(間違い選択肢の生成に失敗している)

いい!けど問題が…

この点を伝えて修正してもらいます。

Turn3~5: 完成版

なんどかやりとりして完成!
README.md を修正してもらって、GitHub へプッシュ。
GitHub Pages でもあそべます~。
https://misakiotb.github.io/q_game_AWS_GUNSLINGER/

感想

CLIの見た目で苦手意識出る人いると思うんですが、日本語入力でOKでだし、構築は完全お任せで、「あーして」「こーして」とお願いするだけで完成です。あ、でもディレクトリ移動(cd)とフォルダ作成(mkdir)くらいはできた方がいいですね。変なところにプロジェクトできちゃう。
見た目の部分が、思い付きで指示した「西部劇風」でかっこよくキマったのがよかったですね!

あとは長く遊べるようにサービス名を増やしていこうと思います。

Discussion