So I've been making a game using `Python`, specifically the `PyGame module`. Everything has been going fairly well (except `Python`'s speed, am I right :P), and I've got a nice list of accomplishments from this, but I just ran into a... speedbump. Maybe a mountain. I'm not to sure yet. The problem is:

> 
> How do I go about implementing a Camera with my current engine?
> 
> 
> 

That probably means nothing to you, though, so let me explain what my `current engine` is doing: I have a spritesheet that I use for all images. The map is made up of a double array of `Tile` objects, which fills up the display (800 x 640). The map also contains references to all `Entity`'s and `Particles`. So now I want to create a a camera, so that the map object can be **Larger** than the display. To do this I've devised that I'll need some kind of camera that follows the player (with the player at the center of the screen). I've seen this implemented before in games, and even read a few other similar posts, but I need to also know ***Will I have to restructure all game code to work this in?*** My first attempt was to make all object move on the screen when the player moves, but I feel that there is a better way to do this, as this screws up collision detection and such.

So, if anyone knows any good references to problems like this, or a way to fix it, I'm all ears... er.. eyes. 

Thanks