🍎

コードは読まない、書かない。Amazon Q Developerに"指示だけ"してPython未経験からレトロゲームを作った話

に公開

Amazon Q CLI でゲームを作ろう Tシャツキャンペーンに応募すべく、Amazon Q Developer CLIだけでレトロゲームを作ってみました。
https://community.aws/content/2xIoduO0xhkhUApQpVUIqBFGmAc/build-games-with-amazon-q-cli-and-score-a-t-shirt

日本語Ver↓
https://aws.amazon.com/jp/blogs/news/build-games-with-amazon-q-cli-and-score-a-t-shirt/

前提

  • Python、PyGameともに未経験
  • 開発ツールはAmazon Q Developer CLIのみ
  • 行動指針
    • コードは書かない。 すべてAmazon Qに生成させる
    • コードは(極力)読まない。 生成されたコードのロジックは深追いしない
    • エラーが出ても原因を究明しない。 エラーメッセージをそのままAmazon Qに伝える
    • 指示は細かく分ける。一度に複数のことを依頼しない。(なるべく)

最初のプロンプト

まずは、作りたいゲームのイメージをAmazon Qに伝えました。

# 「赤ずきんのフルーツキャッチ」というゲームを作りたい。

## 前提
・デスクトップにフォルダを作成してその中に作成したファイルを入れてください。
・ゲームはPyGameで作成してください。

## ゲーム内容

・上から落下してくるフルーツを赤ずきんちゃんがカゴでキャッチするゲーム

・20個のフルーツを取れたら勝ち。

・たまにキノコが落ちてくる。キノコを3個取ってしまうとゲームオーバー。

・左矢印キーで左に移動。右矢印キーで右に移動する。

・当たり判定:赤ずきんちゃん、もしくはカゴに重なったらキャッチ判定

・初期状態でライフ(ハートマーク)が3つあって、キノコを取るごとにライフが減る。

そして生まれた、衝撃のプロトタイプ


赤ずきんちゃんもフルーツもちっちゃ!!!
フルーツの落下速度も速くて激ムズです。

地道な改善プロセス

このままではゲームにならないので、ここからひたすら修正をお願いしていきました。
具体的には、こんな感じです。

  • 赤ずきんちゃんやフルーツの画像をドット絵にして
  • キノコの出現確率を40%に変更して
  • 文字化けしているので日本語で表示されるように修正して
  • フルーツ、キノコの当たり判定をカゴの上部にして
  • クリア条件を「フルーツ10個ゲットしたら」に変更して

エラーが出ればその内容をコピペして「エラーが出たので直してください」とお願いし、見た目が気に入らなければ「もっとこうして!」と伝える。この地道なやり取りを数時間繰り返した結果...

ついに完成!

試行錯誤の末、なんとかゲームらしいものが完成!ちゃんと遊べるようになりました。

おわりに

今回の挑戦で感じたこと。

  • PythonもPyGameも触ったことがない状態から、本当にたった数時間でゲームが作れてしまったことに、ただただ驚きました。
  • AIに丸投げ、と言いつつも、どういう指示をすれば思った通りに動いてくれるのか、試行錯誤する過程が面白かったです。
  • たまに、今までできていた良い感じのものを全削除して新しいものを作り始めることがあるので手戻りが発生しました。(ここら辺は非エンジニアだと対応が難しいかもしれません)
  • 知らない言語でも「まずAIに簡単なものを作ってもらい、そこから動かしながら学んでいく」という学習方法が主流になっていくのかもしれないと感じました。
  • これからの時代、自分の意図を的確に言語化し、AIに正しく伝える文章力が大事なスキルになると感じました。

Discussion