Disclaimer: I've never made a side-scroller game before.
I am trying to develop some logic in my game, which is a 2d side-scroller. I am having trouble because I have two ways to define "positions" in the game level/world/map. One is what I call "screen" coordinates, which is how I can actually draw and place things on the screen as my character walks around. That is mapped to the actual pixels on the screen or in the Framebuffer. This makes things simple if the screen never moves.
But in my game, I want to have to have the character walk around the level, as you might expect, the player should stay somewhere on the screen and other things should appear on the screen when you get close to them, and then move relative to the character's motion when they are on screen. To define objects and enemies on my level (as well as the boundaries of where the character can walk) I have a larger coordinate system that I call "map or tile coordinates". Basically this is mapped to the 16 x 16 px tiles that make up the background of this level.
Hopefully this image illustrates my point

So I am finding it cumbersome to work in both systems simultaneously, and I thought maybe I am just doing something more difficult than it should be. I.e. do I define the game "physics" in terms of the pixel coords? and then recalculate the "world coordinate" from where they end up. When things are way off screen, how best to have them move? Or alternatively, make everything in terms of world coordinates, but since characters don't move and interact in 16 pixel increments, I somehow need to adjust things by offsets of pixels while they are on screen?
Maybe I scrap the "world coordinates" and just have everything be in terms of pixels? And then keep track of where the screen position is, within that world. The "world coordinates" based on tiles, would make it easier for me to define my levels with all objects being made up of 16 x 16 squares. But I could live without it I suppose.
What do you guys do? Since I work in 32X it's free in terms of how I want to do it, I don't know if the MD achieves this in a specific way.