I'm working on a bird's eye view 2D game. I want to zoom in/out based on the entity's speed (similar to GTA 1/2), but I'm struggling with the zooming.
To zoom, I simply scale all the entities by the zoom factor. One problem is that the hit tests are off (still happening with the smaller entities). The other problem is that the object is effectively moving slower (travelling a smaller distance when zoomed in, a larger one when zoomed out).
The only fix I can come up with is to scale all bounding boxes (used in collision detection) as well, and to adjust the speed based on the zoom factor. But that seems wasteful and complex (especially since I'm determining the zoom factor based on the speed).
Is there a better way?