# Chain Reaction A minimalist physics-based puzzle game where strategic clicks create explosive chain reactions. Clear the screen with one perfect click! ![License](https://img.shields.io/badge/license-MIT-blue.svg) ## About Chain Reaction is a fast-paced arcade game built with Rust and Bevy. Players must strategically place a single explosion to destroy floating circles, triggering chain reactions that clear the entire screen. Each game is a 30-second challenge to maximize your score through clever positioning and timing. ## Features - **One-Click Gameplay**: Simple to learn, challenging to master - **Chain Reaction Mechanics**: Destroyed circles trigger secondary explosions - **Dynamic Scoring**: Multiplier system rewards consecutive chain reactions - **Minimalist Design**: Beautiful pastel color palette with smooth animations - **Physics Simulation**: Realistic circle movement and collision detection - **Performance Optimized**: Handles 500+ circles at 60fps ## Getting Started ### Prerequisites - [Rust](https://rustup.rs/) (1.70.0 or later) - Cargo (comes with Rust) ### Installation ```bash # Clone the repository git clone https://github.com/yourusername/chain-reaction.git cd chain-reaction # Build and run cargo run --release ``` ### Development Build ```bash # Run in debug mode with faster compile times cargo run ``` ## How to Play 1. **Objective**: Clear all circles from the screen before time runs out (30 seconds) 2. **Click** anywhere to create an explosion 3. **Strategy**: Position your click to maximize the chain reaction 4. **Scoring**: - Base points for each destroyed circle - Multiplier increases with consecutive chain reactions (1x → 2x → 4x → 8x...) - Bonus points for clearing all circles in a single click ### Controls - **Left Mouse Button**: Create explosion ## Game Mechanics ### Circles - Random sizes (10-50px radius) - Pastel color palette - Variable transparency (0.3-1.0) - Smooth physics-based movement ### Explosions - Initial explosion radius: 100px - Chain reaction delay: 0.1s - Secondary explosions: 50% smaller radius - Cascading destruction creates satisfying combos ## Technical Details **Built With:** - [Rust](https://www.rust-lang.org/) - Systems programming language - [Bevy](https://bevyengine.org/) - Data-driven game engine - Spatial partitioning for efficient collision detection ## Roadmap See [GDD.md](GDD.md) for the complete game design document. ### Potential Enhancements - [ ] Power-ups (larger explosions, time freeze) - [ ] Different circle types (fast/slow, bonus circles) - [ ] High score persistence - [ ] Multiple difficulty levels - [ ] Sound effects and music ## Contributing Contributions are welcome! Feel free to: - Report bugs - Suggest new features - Submit pull requests ## License See [LICENSE](LICENSE) for details. ## Acknowledgments - Built with [Bevy Engine](https://bevyengine.org/) --- **Enjoy creating explosive chain reactions!**