I only gave solution which would work smooth 60+ fps even if your map is like 10000 x 10000 tiles, and 10000 dynamic game objects in it, with a low spec computer. All the while using very little memory. Can you say the list works as well? The point of new algorithms is often to improve on something that exists before. That said, i don't completely understand how your code works.