0
0

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でゲーム開発に挑戦してみた - JAWS-UG横浜レポート

JAWS-UG横浜の「Build Games with Amazon Q CLI」イベントに参加してきました。Amazon Q CLIを使ったゲーム開発の体験レポートをお届けします。

作業内容

使い方を分かっていないので、とりあえずブログを真似してみることにしました。

参考にしたブログ:

https://community.aws/content/2v7MlfGov3QNOrh7wqmV5KtuY3v/lets-build-a-game-scratch-that-lets-build-two?trk=e025b97e-05b5-418d-bab8-034103b7ffbb&sc_channel=el_

環境セットアップ

Q CLIは以下をもとにインストールしています。(Win11でWSL2を使用)

pygameのインストール

python -m venv venv
source venv/bin/activate
pip install pygame

Amazon Q CLIでゲーム生成

ブログの内容をコピペして、Amazon Q CLIに以下のプロンプトを投げてみました:

q /chat "write a pygame game which combines the ideas of pacman and nibbles"

すると、コードを提案してくれました!t (trust) をタイプするとファイルとして保存してくれます。

最初の実行とエラー対応

とりあえず保存したものを実行してみました:

python pacman_nibbles.py

しかし、エラーが発生:

$ python pacman_nibbles.py 
pygame 2.6.1 (SDL 2.28.4, Python 3.9.6)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "/home/taco/study/amznQ/20250609-jawsy/pacman_nibbles.py", line 364, in <module>
    game = PacNibbles()
  File "/home/taco/study/amznQ/20250609-jawsy/pacman_nibbles.py", line 36, in __init__
    self.reset_game()
  File "/home/taco/study/amznQ/20250609-jawsy/pacman_nibbles.py", line 51, in reset_game
    self.generate_dots(30)  # Start with 30 dots
  File "/home/taco/study/amznQ/20250609-jawsy/pacman_nibbles.py", line 94, in generate_dots
    self.add_dot()
  File "/home/taco/study/amznQ/20250609-jawsy/pacman_nibbles.py", line 103, in add_dot
    (x, y) not in self.power_pellets):
AttributeError: 'PacNibbles' object has no attribute 'power_pellets'

デバッグとトラブルシューティング

エラーをQ CLIに貼り付けてみると、長いこと自問自答しながらデバッグしてくれました。デバッグ情報を追加したり、キー入力の検出部分を改善したりと、まるで人間のデベロッパーと一緒に作業しているような感覚でした。

最終的に、パックマンみたいなやつが動くイモムシゲームが完成!スコアも勝手に計算してくれています。

image.png

AWS風カスタマイズ

「もっとAWSっぽい感じにできる?」と聞いてみると、面白い提案をしてくれました:

AWS風の変更案:

  1. キャラクター変更

    • Snake → EC2インスタンス
    • Dots → データパケット
    • Power Pellets → AWS Credits
    • Ghosts → セキュリティ脅威やコスト超過アラート
  2. 色とテーマ

    • AWSオレンジ (#FF9900) とダークブルー (#232F3E) を使用
    • 背景を AWS コンソール風に
  3. UI要素

    • スコア → "Cost Optimization Score"
    • ゲームオーバー → "Service Disruption"

実際にコードを修正してくれて、以下のような変更が加えられました:

image.png

出てくる言葉がAWSを意識したものになりました。

さらに改良を重ねて:

image.png

見づらいと伝えると、さらに調整してくれて:
最終的にはこんな感じに:

image.png

AWSっぽい???

まとめ

Amazon Q CLIを使ったゲーム開発は楽しかったです。エラーが出ても一緒にデバッグしてくれるし、要望を伝えるとどんどん改良してくれる。まるでペアプログラミングをしているような体験でした。

JAWS-UGのイベントも非常に有意義で、実際に手を動かしながら学べる貴重な機会でした。Amazon Q CLIの可能性を実感できた一日でした。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?