Przy bardziej zaawansowanych grach warto pomyśleć o bardziej zaawansowanych strukturach typu quad tree
http://gamedevelopment.tutsplus.com/tutorials/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space--gamedev-374
Rozwiązanie oparte na gridzie opisane przez @MetRiko też brzmi całkiem sensownie
http://gamedevelopment.tutsplus.com/tutorials/quick-tip-use-quadtrees-to-detect-likely-collisions-in-2d-space--gamedev-374
Rozwiązanie oparte na gridzie opisane przez @MetRiko też brzmi całkiem sensownie