Determining the shooting angle
Fixing mouse angle and abstracting window height and width
Roughly shooting a projectile
Shooting the correct projectile graphic
Calculating projectiles distance
Projectiles range
Rate of fire
Projectile collision
Advanced sprite creation
The Particle class
Display particles and particle animation
Particle spawner
Particle life span
My own contribution
Particle physics
Pixel perfect collision
Particles simulation