Amazon Q CLIを使ってレーシングゲームを15分でつくってみた
こんにちは!製造ビジネステクノロジー部の小林です。
先日、社内で開催されたAmazon Q CLIを使ったゲーム開発の勉強会に参加し、CLI上で日本語で対話しながらゲームを開発できるアプローチにとても興味を持ち、実際に自分でもゲームを作ってみることにしました。
開発環境
使用した環境は以下の通りです。
OS: macOS Sonoma 14.7.4
準備 Amazon Q CLIの導入
まずはAmazon Q CLIを使い始めるための準備です。以下のURLからAmazon Qをダウンロードします。今回はmacOS版を選択しました。
ダウンロードが完了したら、Finderに表示されるAmazon Qアプリケーションをダブルクリックして起動します。
ウェルカム画面が表示されたら、「Get Started」をクリックして次に進みます。
次に、「Shell integrations」(シェル統合)に関する設定画面が表示されます。これはAmazon Qをコマンドラインインターフェース(CLI)と連携させるためのステップです。ローカルシェル(bashやzshなど)との統合を設定することで、CLIからの操作が可能になります。今回はCLIでゲーム開発を行うので、「install」を選択して進めます。
サインイン画面が表示されたら「Sign in」をクリックします。
続いて、アクセス許可を求められるので「アクセス許可」をクリックします。
Amazon Qのアプリケーション画面が起動しました。
これで準備が完了です。
Amazon Q CLIでのゲーム開発スタート
ではAmazon Q CLIをターミナルから起動し、ゲーム開発を始めましょう。
ターミナルを開き、「q」と入力すると、利用可能なコマンドが表示されます。今回は、対話形式で開発を進めるために「q chat」コマンドを使用します。
「q chat」を入力すると、Amazon Q CLI の対話画面が起動します。AIモデルは Claude 4 Sonnet のようですね!
MCP セキュリティについて
対話開始時に、Amazon Q CLI の MCP (Multi-Cloud Provisioning) セキュリティに関するドキュメントへのリンクが表示されました。エージェントが動作するための仕組みについて、少し確認してみます。
ゲームを作っていく
ではゲームを作っていきましょう!車好きの私は、レーシングゲームを作ることにしました。以下のように、ターミナルから日本語で要望を伝えてみました。
・レーシングゲームを作って欲しいです
・複数の車種から選択可能にして欲しいです
・各車種は以下の特徴で差別化したいです
・独自のカラーバリエーション
・異なる速度性能(最高速度、加速性能など)
・各車種に固有の「必殺技」を実装したいです
・必殺技の例
・一時的な加速ブースト
・障害物を破壊する能力
・敵の動きを一時的に妨害する効果
・一定時間無敵になる
・必殺技は使用制限ありにしてください
・ゲージが溜まったときのみ使用可能
・一定時間のクールダウン期間を設定
・敵ドライバーも作ってください
私のリクエストに対し、Amazon Q はすぐに反応し、以下のように返答してきました。ワクワクします。
レーシングゲームを作成しましょう!HTML5 CanvasとJavaScriptを使って、車種選択、固有の必殺技、敵AIを含む本格的なレーシングゲームを実装します。
⠴ Thinking...
「Thinking...」の表示後、あっという間にHTMLファイルが作成されました。
途中で、Amazon Q CLI エージェントがローカル環境のファイルに書き込みを行うための許可を求められました。今回は「y」を選択して許可しました。
Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:
先ほど確認したMCPセキュリティの通り、エージェントが重要な操作を行う際には、このようにユーザーに許可を求める仕組みになっているのですね。
ゲームが完成したようです
なんと、これでゲームが完成しました!
実際に「racing_game.html」というファイルが作成されています。
早速、Finderのホームフォルダから「racing_game.html」ファイルを開いてみます。
ちゃんとゲームが起動し、指示通りに複数の車種が用意されています。さっそく遊んでみましょう。「スピードカー」を選んでレース開始!
必殺技を発動してみます。ゲージは減ったものの、残念ながら何も起こりません(笑)。これは改善が必要ですね。
スピードカーとディフェンスカーの必殺技は機能しませんでしたが、なんと「テックカー」の必殺技は機能しました。テックカーの必殺技は「時を止める」効果があるようです。ただし、一度使うと画面内の敵車両が静止し続けてしまい、画面上が大渋滞してしまうという予想外の結果に。これも今後の改善点の一つですね。
おわりに
今回はAmazon Q CLIを使って、わずか15分ほどでゲームを作成する体験をしました。ダウンロードからゲームの生成まで、AIとの対話だけで進められることに驚きました。
今回できたゲームはまだ改善の余地がありますが、AIとの対話を重ねることで、さらに完成度の高いアプリケーションに進化させることができる可能性を強く感じました。
次回はより複雑な機能をAmazon Q CLIで実装する挑戦についてご紹介できればと思います。