It would shift when the player changes directions - but it changed all the way to the other side of the screen . . basically - it changed so much that the player appeared to be teleporting or something from one side of screen to the other - .. although it clearly wasn't of course - just the cam pos jumped too far. It might be worth noting that this may be because I tried playing on my 4k monitor and not a smaller one - so the distance /width of my screen might be too big for 4k w how it's coded.
it might be the resolution. The game is technically being rendered at only 320x240, and the camera is coded to move only 48 pixels in front of the player. Upscaled to 4k, that could, indeed be the problem. Not sure how to fix that in only a couple hours. I do not have a 4k screen to test with.
I'm not sure what you made the game with.. but I'd say if you're using an engine or anything that can get a reference to the screen width (Gamemaker or Unity for ex) - then you could set it according to screen width / 2.. or something similar.
I'm using Godot, but I'm explicitly upscaling the render to the window size. I wanted it to render at 320x240 to keep the tiles and character small.
right - so what you could do though - is make the camera position(s) set to a specific location that goes according to screen width and then
add / subtract an "offset" variable - also according to screen size or the player. Another alternative - would be to use a LERP in order to move the camera more smoothly to the position that it needs to be.