3 ms·
There are two different seams at play here. One is a 'loading seam' which is really just the vertically and horizontally mirrored area of the tile map. The rend
by stormbrew 5y ago
There are two different seams at play here. One is a 'loading seam' which is really just the vertically and horizontally mirrored area of the tile map. The rendered tile map is (simplifying a bit) basically 2x as tall and 2x as wide as the screen you see. The screen's position in it is effectively modulo the width and height of the tile map. If you move right 30px, it loads tiles and objects into the area 30px off the the right edge of what it already had loaded, wrapping back around to the left if necessary, then moves the viewport 30px to the right (again, simplifying).
So yes, there's always area that is kind of 'ready' outside the current viewport. It has tile data and probably objects loaded into it, ready to be seen. That's why you don't see 'pop-in' or whatever. Things are loaded before you get there.
But the game logic isn't activating all those things as soon as they're loaded into tile memory. You can probably actually view this in some emulator or another and what you'll see is things loaded up some time before they're actually on screen, but just sitting there until they're basically on the edge of the screen when they'll start moving.
How games do that will obviously vary quite a bit, but in SMW's case it "loads" sprites some specific distance off screen (which is not a full screen away), and then "activates" them pretty close to the edge of the screen. You can see this for yourself by like, going and finding a shell-kicking koopa or something and playing with the screen scroll. You will be able to get it to do it over and over again with only a little scrolling.
A lot of kaizo games were made quite a bit easier thanks to this, to the point where most of them now disable screen scrolling to prevent you from controlling spawns so easily.