# TODO **1. Core Gameplay Loop & State Management** * [x] **Player Lives** * [x] Add a `PlayerLives` resource. * [x] Decrement lives on collision. * [x] Implement player destruction and respawn with temporary invincibility. * [x] **Game Over State** * [x] Use Bevy's `States` (`Playing`, `GameOver`). * [x] Transition to `GameOver` when lives reach zero. * [x] Display a "Game Over" message. * [x] **Scoring** * [x] Add a `Score` resource. * [x] Increment score when an enemy is hit. * [x] **Levels/Stages** * [x] Add `CurrentStage` and `StageConfigurations` resources. * [x] Define criteria for clearing a stage. * [x] Advance to the next stage with increasing difficulty. **2. Enemy Behavior - Formations & Attack Patterns** * [x] **Enemy Formations** * [x] Define target positions for formations (`FormationLayout`). * [x] Enemies have an `Entering` state to fly to their position. * [x] Enemies have an `InFormation` state. * [x] **Enemy Attack Dives** * [x] Enemies have an `Attacking` state with different `AttackPattern`s (Swoop, Direct, Kamikaze). * [x] Periodically trigger random enemies to start an attack dive. * [x] Enemies fire bullets during their dives. * [x] Enemies are despawned when they fly off-screen after an attack. * [x] **Enemy Variety** * [x] `EnemyType` enum (`Grunt`, `Boss`). * [x] Different behaviors, points, and colors based on type. **3. Advanced Galaga Mechanics** * [ ] **Boss Galaga & Capture Beam** * [x] Create a "Boss" enemy type. * [x] Implement the tractor beam attack logic (`boss_capture_attack` system). * [x] Player has a `Captured` component when hit by the beam. * [x] Boss has a `ReturningWithCaptive` state to go back to the formation. * [ ] Improve the tractor beam visual effect (currently a simple rectangle). * [ ] **Dual Fighter (Rescuing Captured Ship)** * [ ] Allow the player to shoot a Boss that is holding a captured ship. * [ ] Implement the logic to free the captured ship upon shooting the Boss. * [ ] Implement the dual fighter mode (controlling two ships, firing two bullets). * [ ] **Challenging Stages** * [ ] Implement a special stage type (e.g., every 3-4 levels). * [ ] Design and implement intricate flight patterns for enemies that do not shoot. * [ ] Award bonus points for destroying all enemies in the stage. **4. Polish and User Interface** * [ ] **Visuals** * [ ] Replace placeholder geometric shapes with actual sprites. * [ ] Add explosion animations/effects. * [x] Implement a scrolling starfield background. * [ ] **Audio** * [ ] Integrate `bevy_audio`. * [ ] Add sound effects (shooting, explosions, player death, tractor beam, etc.). * [ ] Add background music. * [ ] **UI** * [x] Display Score, Lives, and Stage in the window title. * [ ] Display Score, Lives, and Stage on the screen using `bevy_ui`. * [ ] Implement a High Score system (saving/loading). * [x] Create a Start Menu state with a "Start Game" button. * [ ] Add a "Press R to Restart" message to the `GameOver` screen and implement restart logic.