はじめに
こんにちは!山本です!
今回AWS公式で紹介された「Amazon Q CLIを使ってゲームを作ろう」キャンペーンに参加しました。このキャンペーンでは、Amazon Q CLIを活用してオリジナルのゲームを開発し成果物を共有することで、なんとTシャツがもらえるというユニークな企画です。今回はこのキャンペーンをきっかけに、簡単なタイピングゲームを作成してみました。この記事では、ゲームの概要や開発過程についてご紹介します。
作成したゲーム
今回作成したタイピングゲームがこちらになります。
実行環境
本稿で使用した動作環境は以下になります。
ローカルPC
- Windows11
- Python 3.12.6
- Pygame 2.6.1
EC2 インスタンス
- Amazon Linux 2023
- Amazon Q CLI 1.12.1
作成過程
※今回使用した環境の関係上、Amazon Q CLI を Amazon EC2 インスタンスにインストールしてゲームのコードを作成し、ゲームの動作確認はPythonをインストールしたローカル環境で実施しました。
① AWS Builder IDを取得する
Amazon Q CLIにログインする際に AWS Builder ID が必要になるので、未作成の方は以下ページに従って作成しましょう。
※筆者は既に取得済みでした。
②ローカル環境に Python をインストールする
まずはPythonをインストールします。インストール方法は以下の公式ページからファイルをダウンロードして実行します。
さらにゲーム用のライブラリであるPygameをインストールします。こちらはキャンペーンページに以下のサイトが記載されていたのでそちらを参考にしました。
③ Amazon Q CLI をインストールする
次に Amazon EC2でLinuxサーバを立ち上げ、Amazon Q CLI をインストールします。今回使用した AMI は「Amazon Linux 2023 AMI」です。
こちらもキャンペーンページに記載があるので、インストールは以下のサイトを参考にしました。
インストール後に以下のコマンドを入力すると Amazon Q CLI が立ち上がりプロンプトを入力することができるようになります。
q chat
④プロンプトを入力してコードを作成する
③の作業で Amazon Q CLI との対話ができるようになったので、まずはファイルを出力できるか試してみます。
実行後に出力対象のディレクトリを確認すると以下のように「sample.txt」が出力されていることが分かります。
ファイル出力ができることが確認できたので、プロンプトに以下を入力し実行してみます。
タイピングゲームを作ってください。 - 出題数:3問 - 問題の文字数:10文字 - 問題の文字の種類:小文字アルファベットのみ - pythonのpygameライブラリを使って作成したいので.pyファイルを現在のフォルダに出力してください。
なんと実行して数十秒のうちにコードが完成しファイル出力まで行ってくれました!
しかし、この段階では実際にローカル環境で動かしてみると。。。
ゲーム操作自体はできるものの文字化けしていたり、背景がなかったりと改善が必要でした。
具体的な指示や条件を追加して改善を重ねた結果、最終的には以下のプロンプトで実行しました。
タイピングゲームを作ってください。 - 出題数:3問 - 問題の文字数:10文字以下 - 問題の文字の種類:小文字アルファベットのみ - 出題する問題は毎回ランダムになるように作成してください。出題数3問のうち問題が被らないようにしてください。 - pythonのpygameライブラリを使って作成したいので.pyファイルを現在のフォルダに出力してください。同じ名前のファイルがある場合は上書きしてください。 - 英語で全て表示して文字化けをしないようにしてください。 - 明るい色の背景を付けてください。その時背景の文字が見にくくならないようにしてください。 - 文字の入力する枠を付けてください。 - 出題する文字列は実在するものにしてください。その時その画像も生成して表示してください。表示する画像は出題する文字列の上部に表示してください。 - 正しく入力ができた時は「Nice!」と表示してください。 - 入力を間違えた時は入力した文字を赤くして「Type mistake!」と赤文字で表示して再度入力させるようにしてください。
作成したゲームの詳細は以下の通りです。ここまでで作成時間は約1時間ほどでした。
これまでゲーム開発の経験はなかったので、実際にゲームを動かすまでにここまで短い時間でできるとは自分でも驚きでした!
おわりに
今回のキャンペーンを通じて、Amazon Q CLIの使いやすさと、開発体験の楽しさを改めて実感することができました。タイピングゲームというシンプルな題材ながら、CLIベースでの開発は新鮮で、学びも多かったです。AWSの新しいツールに触れる良い機会となりました。この記事が、これからAmazon Q CLIを使ってみたい方の参考になれば幸いです。
執筆者 : 山本将望
食べることが生きがいのインフラエンジニア
執筆記事一覧 :
https://tech.nri-net.com/archive/author/m4-yamamoto