The background (tiles) can move pixel by pixel, but it's all or nothing - the whole screen moves. However, there are exceptions. If you have a status bar area that is a bar across the screen, you can exclude it from horizontal scrolling (in two different ways). However, you can't exclude it from vertical scrolling. If you want to fake vertical scrolling, you can:
- Blank the status bar, draw the real background over it (if scrolling upwards), do pixel-wise scrolling vertically, then draw the status bar back again. This is only any use for flip-type transitions, like in Shinobi.
- Or, since you're doing flip-style transitions anyway, you can fake vertical scrolling by replotting the whole tilemap rapidly. Since tiles are 8x8 pixels, this replotting gets you scrolling in 8 pixel chunks.
Since these are both somewhat unsatisfactory - they're more like vertical transitions in a horizontally-scrolling game - you have more options:
- Don't have a status bar. You can use sprites for status display, but watch out for the sprite limit... notice in Alien3 the status display is 8 tiles wide and flips between different bits of information because it can't show any more at once.
- Or there are some tricks you can use to mask the effects of the scrolling, but they're a lot trickier and also restrictive.
You can also have a fixed status bar during vertical scrolling - Golvellius is one of the few games that uses it. It's less flexible than the horizontal version.
Sprites don't have any restrictions on placement, they're always pixel-based, no grid.