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

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