🎮

Amazon Q CLIで「酔いどれマスター」というゲームを作ってみた

に公開

はじめに

Amazon Q CLIでゲーム作ったら、Tシャツがもらえるキャンペーンやっているとのことで、駆け込みでやってみました。
https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/

準備

上のブログに書いてある通りに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