Quote Originally Posted by paul_nicholls View Post
You could use a spatial collision algorithm - put each particle into a 2d grid 'slot' by it's location, and then when you check the player, see which 2d slots the player is covering and only look in those slots for particle collisions.

This will speed things up lots!!
I agree. You can use a regular grid, or a quadtree/octree, or an axis aligned BSP tree. Any of them will help. If the distribution is fairly regular, if you know that the density is at some level, then a regular is a quick and easy solution.