Spawn expanding/fading orange explosion effects when enemies or
the player are destroyed. Explosions scale from 15x15 to 50x50
over 0.4s while fading from full opacity to transparent, then
auto-despawn.
Integration points:
- Enemy killed by player bullet (bullet.rs)
- Player hit by enemy bullet (bullet.rs)
- Player collides with enemy (player.rs) - both explode
- Captured player released (player.rs)
Refs: GAL-44
Add 150 stars with randomized positions, sizes, speeds, and brightness.
Stars scroll downward with parallax depth effect and wrap around at
screen edges. Also fixes Bevy 0.13 API issues in game_state.rs
(KeyCode::R → KeyR, Input → ButtonInput).
- Add StartMenu as the default game state
- Create StartMenuUI and StartButton components
- Implement menu UI with BGLGA title and Start Game button
- Add button interaction system with hover effects
- Set up proper state transitions from menu to game
- Update TODO.md to mark task as completed
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit introduces a new mechanic where boss enemies can use a tractor beam to capture the player.
Key changes:
- Bosses can now fire a tractor beam that targets the player.
- If the player is caught in the beam for a certain duration, they are "captured".
- Captured players are carried by the boss as it returns to its formation.
- If the boss is destroyed while carrying a player, the player is freed.
- If the player is captured, they lose a life and respawn.
- Refactored player and enemy systems to handle the new capture logic and states.
- Added GEMINI.md and CLAUDE.md to track assistant configurations.
- Introduce guidelines for writing commit messages.
- Emphasize the use of Conventional Commit format.
- Include tips for brevity and clarity in descriptions.
- Removed `std::time::Duration` import from `components.rs`, `resources.rs`, and `enemy.rs` as it was unnecessary.
- Cleaned up imports in `systems.rs` by removing `FormationState`.
Replaced direct buildInputs with LD_LIBRARY_PATH configuration to streamline dependency handling. This makes library paths explicitly managed and simplifies runtime linking for the required packages. Updated the devShells configuration accordingly.
Adds a player lives system with respawning and temporary invincibility.
- Introduces resource (starts at 3).
- Modifies player-enemy collision to decrement lives and despawn player.
- Implements for delayed respawn.
- Adds component with a timer for post-respawn protection, including a blinking visual effect.
- Updates window title dynamically to show remaining lives.
Reverted collision detection from (due to build errors)
back to using .
Fixed several borrow checker (E0499, E0596) and type mismatch (E0308)
errors encountered during implementation, primarily within the
system.
Added conditions for systems like shooting, collision checking,
and respawning.
Updates README.md to reflect the current state and completed TODO item.