feat: Implement background shader and visual effects
- Added a new WGSL shader for background rendering with volumetric fog effects. - Created components for game entities including Circle, Velocity, Explosion, and ChainReaction. - Introduced game state management with GameState enum and LevelState resource. - Implemented event system for explosion requests and circle destruction notifications. - Developed plugins for game logic, input handling, movement, reactions, scoring, and UI. - Configured game settings through GameConfig resource with adjustable parameters. - Enhanced UI with configuration options and game over screens. - Integrated spatial grid for efficient collision detection and explosion handling.
This commit is contained in:
113
README.md
Normal file
113
README.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Chain Reaction
|
||||
|
||||
A minimalist physics-based puzzle game where strategic clicks create explosive chain reactions. Clear the screen with one perfect click!
|
||||
|
||||

|
||||
|
||||
## 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!**
|
||||
Reference in New Issue
Block a user