You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/6-space-game/4-collision-detection/assignment.md

48 lines
2.7 KiB

# Explore Collisions
## Instructions
Apply your collision detection knowledge by creating a custom mini-game that demonstrates different types of object interactions. This assignment will help you understand collision mechanics through creative implementation and experimentation.
### Project requirements
**Create a small interactive game featuring:**
- **Multiple moving objects** that can be controlled via keyboard or mouse input
- **Collision detection system** using rectangle intersection principles from the lesson
- **Visual feedback** when collisions occur (object destruction, color changes, effects)
- **Game rules** that make collisions meaningful and engaging
### Creative suggestions
**Consider implementing one of these scenarios:**
- **Asteroid field**: Navigate a ship through dangerous space debris
- **Bumper cars**: Create a physics-based collision arena
- **Meteor defense**: Protect Earth from incoming space rocks
- **Collection game**: Gather items while avoiding obstacles
- **Territory control**: Competing objects trying to claim space
### Technical implementation
**Your solution should demonstrate:**
- Proper use of rectangle-based collision detection
- Event-driven programming for user input
- Object lifecycle management (creation and destruction)
- Clean code organization with appropriate class structure
### Bonus challenges
**Enhance your game with additional features:**
- **Particle effects** when collisions occur
- **Sound effects** for different collision types
- **Scoring system** based on collision outcomes
- **Multiple collision types** with different behaviors
- **Progressive difficulty** that increases over time
## Rubric
| Criteria | Exemplary | Adequate | Needs Improvement |
|----------|-----------|----------|-------------------|
| **Collision Detection** | Implements accurate rectangle-based collision detection with multiple object types and sophisticated interaction rules | Basic collision detection works correctly with simple object interactions | Collision detection has issues or doesn't work consistently |
| **Code Quality** | Clean, well-organized code with proper class structure, meaningful variable names, and appropriate comments | Code works but could be better organized or documented | Code is difficult to understand or poorly structured |
| **User Interaction** | Responsive controls with smooth gameplay, clear visual feedback, and engaging mechanics | Basic controls work with adequate feedback | Controls are unresponsive or confusing |
| **Creativity** | Original concept with unique features, visual polish, and innovative collision behaviors | Standard implementation with some creative elements | Basic functionality without creative enhancements |