5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Q CLIでゲームを作ってみた!

Posted at

Amazon Q CLIでゲームを作った記事です。以下のキャンペーンもあり、これまでQ CLIでコード生成をやったことがなかったのでチャレンジしました。

事前準備

MAC BookにQ CLIをPygameをインストールして実施しました。
それぞれのインストール手順は以下を

python3 -m pip install -U pygame

Q CLIとのやり取り

まずはターミナルからQ CLIを起動します。

q /chat

Q CLIへの初めの依頼は以下のようにしました。見ての通り、結構雑な依頼です。

ゲームを作りたいです。イメージとしてバトルシティのようなタンクゲームで。ファミコンライクのドットで。

ここからはQが頑張って、Pythonコードを生成してくれます。Auto Approveを設定したので、基本的には放置してテスト動作してくれるまでは別作業をしていました。

しばらくすると...

以下のコマンドでゲームを起動できます:

python /Users/masaki/Documents/tank_game.py


このゲームはまだ基本的な機能だけですが、以下のような機能を追加することで、より本格的なバトルシティ風のゲームに発展させる
ことができます:

1. 弾の発射機能
2. 敵タンクのAI
3. レンガや鉄の壁など、異なる種類の障害物
4. スコアシステム
5. ステージの切り替え
6. ドット絵風のグラフィック(現在は単純な図形で表現)

実際に起動させましたが、うまく動作しました!
追加機能の提案もしてくれるのがチャット形式でするメリットと思います。

Q CLIの提案に対するフィードバックと”ここだけは直して"といったチャットを繰り返すと、アニメーションなども含めてどんどん機能追加してくれました。
途中エラーで動作しなくなることもありましたが、

  • スクリプト実行
  • エラーメッセージ解析
  • 必要な修正
    も自動でやってくれるので、基本的にたまにターミナルをチェックするだけでどんどん進みます。

時折、ゲームとしてルールを逸脱した実装をすることもありましたが、指摘することで修正してくれました...

できたもの

画像のような戦車ゲームです。緑が自機で相手と撃ち合って3つある体力ケージを0にすると破壊できます。
ステージクリア型となっていて、敵をすべて破壊すると次のステージに進めます。
image.png

完成コードはGitHubにあります。せっかくなのでREADME.mdもQ CLIに書かせています。

感想

自然言語、チャット形式で作ることができて、なかなか楽しかったです!
待ち時間が長いこともありますが、画面を見張っている必要はないので別作業の間にちょっと確認、で十分でした。

思った通りに改修してくれないこともありますが、そこは使う側が具体的な指示を出すことで改善できると思います!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?