Amazon Q CLIで「酔いどれマスター」というゲームを作ってみた
はじめに
Amazon Q CLIでゲーム作ったら、Tシャツがもらえるキャンペーンやっているとのことで、駆け込みでやってみました。
準備
上のブログに書いてある通りにAmazon Q CLIとPyGameをインストール。
簡単にインストールでき、真っ黒な画面に「Amazon Q」の文字が。
どんなゲームを作るかは、事前に考えておいた。
居酒屋にやってくるお客さんは、長く滞在しているとたくさん飲食するため、お店にとっては嬉しい。ただ、あまりにも酔っ払うと店に損害を与えてしまう(皆が皆そうではないですが)。ここから着想を得たのが、このブログで紹介するゲームです。
いざ、実装
最初のプロンプトは、下記の通り。
ゲームを作りたい。居酒屋の店員が主人公。お客さんに対して料理やアルコールを提供していく。お客さんを長く滞在させると、たくさん注文してくれるので、売り上げが伸びていく。しかし、長く滞在させすぎると酔っ払って暴れ出し、店の備品を壊してしまう。つまり売り上げがマイナスになる。ゲームプレイヤーが居酒屋の店員として振る舞い、売り上げを伸ばすためになるべく長く滞在させつつ、酔っ払って備品を壊す前にお客さんを会計させるゲームを作ってください。
そうしたら下のような追加質問をされたので、
- 酔い度はどう可視化する?(酔いメーター、表情変化、行動パターン等)
- お客を帰すタイミングをどう判断させる?直感的な操作方法は?
- 1回のセッションは何分想定?(3分、10分、30分?)
- 初心者も上級者も楽しめる仕組みは?
- サラリーマン、学生、常連客など、客のタイプはどうするか?
- ...
プレイ時間は3分を想定していて、客のタイプは様々。それ以外は自分で考えてください。
と、ほとんどお任せしてみた。
いい感じのプロトタイプが出来上がったので、詳細な設計をしてもらって実装。
細かいバグをいくつか直したら、完成!
特にプロンプトを工夫することなく、ゲームを簡単に作れたのが驚きでした。
酔いどれマスターの推しポイント
基本的にAmazon Qにお任せしましたが、いくつか機能を追加しました。
- 難易度を3段階設定
- 「易しい」「普通」「難しい」の3段階作りました。同時に入ってくるお客さんの数が異なります。それぞれ2人、4人、8人です。「難しい」は、かなり手が忙しくなります。
- 各難易度におけるハイスコアを表示
- お客さんからの注文以外に、お冷やを提供可能(回数制限あり)。
- お客さんを指定してお冷やを提供できます。効果としては、酔いメーターを15%減らすことができます。店に損害を与えそうな酔っ払いにお冷を与えたら、もう少し粘ってくれます。これが店にとってありがたいのかは不明。
おわりに
Amazon QはVSCode拡張機能しか使ったことがなかったので、CLIを使う良い機会となりました。
2025年はAIエージェント元年。Cline以外のコーディングエージェントはあまり使えていないので、色々触ってみようと思います。
Discussion