1563 文字
8 分
invader-game

Amazon Q によるインベーダーゲームを作りました。コードは1行も書いていなくて、プロンプトだけで作ったのですが、ゲームデザインに専念できるのはいいなと思いました。
プロンプトと応答はこんな感じです。
日本語はできますか
はい、日本語ができます。スペースインベーダーゲームについて何かお手伝いできることはありますか?
バンパイアサバイバーのようにいくつかの系統の武器を強化するようにしたいです。機体の数が増えていく系と弾があたれば破裂して周りも倒す系で進めようかと思います。1面クリアで1回強化するようにしてもらえますか
バンパイアサバイバーのような強化システムを実装したいというご要望ですね。スペースインベーダーゲームに以下の強化系統を追加することができます: 1. 機体の数が増えていく系統(マルチショット) 2. 弾が当たると破裂して周囲も倒す系統(爆発弾) そして、1面クリアごとに1回強化できるようにします。 まず、現在のゲームコードを確認しましょう。
いいですね。スペースで弾発射は要らないかと思います。常に発射でお願いします。あと文字が化けているのですがどうすればいいですか。
敵が攻撃してこないと終わらないので、攻撃するようにして、ステージが上がるたびに攻撃頻度を増やしてもらえますか
ご要望に応じて、エイリアンが攻撃してくる機能を実装しました!以下の変更を行いました: ## 1. エイリアンの攻撃機能 - エイリアンが赤い弾を発射するようになりました - 各ステージごとに攻撃頻度が増加します - 下の列のエイリアンだけが攻撃できるようにしました(より現実的な挙動に) - エイリアンの弾に当たるとゲームオーバーになります ## 2. ステージ進行による難易度上昇 - ステージが上がるごとに以下の要素が変化します: - エイリアンの攻撃確率が増加(+0.5%/ステージ) - エイリアンの攻撃間隔が短くなる(-200ms/ステージ、最低500msまで) - ステージレベルに応じて攻撃確率にボーナス(+20%/ステージ) ## 実装した主な機能 1. **AlienBullet クラス**:エイリアンの弾を表現するクラスを追加 2. **handle_alien_shooting メソッド**:エイリアンの攻撃処理を行うメソッド 3. **衝突判定の追加**:プレイヤーとエイリアンの弾の衝突判定 4. **ステージ進行による難易度調整**:ステージが上がるごとに攻撃頻度が増加 ## ゲームの流れ 1. プレイヤーは左右に移動して、自動的に弾を発射します 2. エイリアンは上から下に移動しながら、ランダムに弾を発射します 3. エイリアンの弾に当たるとゲームオーバーになります 4. ステージをクリアすると強化メニューが表示され、能力を強化できます 5. ステージが進むごとにエイリアンの攻撃が激しくなります これで、より挑戦的で楽しいゲームになりました!エイリアンの攻撃を避けながら、強化を選んで進めていくゲームプレイが可能になっています。 ゲームを実行するには、以前と同じように以下のコマンドを使用してください: python space_invaders.py
1面から難しい気がします。敵の攻撃を少なくして誰でもクリアできるぐらいでいいと思います
ご指摘ありがとうございます。確かに最初から難しいと楽しめないですね。1面は簡単にクリアできるように、敵の攻撃頻度を調整しましょう。 ご指摘ありがとうございます。1面から難しいと初心者プレイヤーが楽しめないので、難易度を大幅に調整しました。以下の変更を行いました: ## 難易度調整の変更点 ### 1. 初期設定の緩和 - エイリアンの攻撃間隔を3秒に1回に延長(2秒から3秒へ) - 攻撃確率を10分の1に減少(0.01から0.001へ) ### 2. ステージごとの難易度調整 - **ステージ1**:特に簡単に設定 - 通常の攻撃確率の半分(0.0005)に設定 - 誰でも簡単にクリアできるレベル - **ステージ2以降**:徐々に難しくなる - 難易度上昇率を緩やかに調整(0.2から0.15へ) - 攻撃頻度の増加量を3分の1に減少(0.005から0.0015へ) - 攻撃間隔の減少を緩やかに(200msから150msへ) - 最低攻撃間隔を1秒に設定(500msから1000msへ) ### 3. 難易度表示の追加 - 現在のステージに応じた難易度を画面に表示 - ステージ1:「かんたん」(緑色) - ステージ2-3:「ふつう」(黄色) - ステージ4以降:「むずかしい」(赤色) ## ゲームバランスの改善 これらの変更により、以下のようなゲーム体験が期待できます: 1. **初心者に優しい入門**: 2. 1面は非常に簡単で、ゲームの基本操作に慣れることができます - エイリアンの攻撃がほとんどないため、安心してプレイできます 2. **緩やかな難易度上昇**: - ステージが進むごとに少しずつ難しくなります - プレイヤーのスキルと強化に合わせて適切な挑戦を提供します3. **長く楽しめるゲーム性**: - 初心者から上級者まで楽しめる難易度カーブになっています - 強化システムとバランスが取れた難易度で、達成感を味わえます これで、より多くのプレイヤーが楽しめるゲームになりました!
なお、Amazon Q では、/save コマンドでプロンプトと返答を json ファイルに出力できます。
また、こちらのリポジトリで公開しています。グラフィックも良くしたいですし、システムももっと練りたいですね。
Waiting for api.github.com...
invader-game
https://fuwari.vercel.app/posts/invader-game/