Broad phase collision detection - Quadtrees, BSP, etc.
Collision detection is naturally an O(n^2) problem. You have a bunch of objects and you need to check if that object is colliding with every other object. Right now that is my naive approach and while it isn't a problem for a limited number of objects I'm now approaching the point that it is a bottleneck (after profiling my code). H...