4 ms·
More than that; every level will be affected by this. It affects the timing of enemy and platform spawning which means the enemies and moving platforms will be
by modeless 5y ago
More than that; every level will be affected by this. It affects the timing of enemy and platform spawning which means the enemies and moving platforms will be in a different position when the player typically reaches them. In many cases that timing is an intentional part of the level design.
- derefr 5y agoI don't expect that the developer did anything that would require players experienced with SMW to change their memorized routing. (If I were them, I'd be using 100%-playthrough TAS .smv files from the unmodified SMW as conformance tests, to ensure none of my changes "desynced" existing strategies for the game.) What might be different, on the other hand, are subtle things about un-loading. I bet an .smv of the SMW credits warp wouldn't work on this patched ROM. (Not least because, IIRC, this patched ROM is based on an older set of SMW patches by the same author, that — among other features — has a sprite-limit removal patch, that improves the game's OAM memory-management algorithm.) ----- But also, IIRC, the enemy/platform spawning (really, the loading seam) in SMW occurs far-enough outside of the viewport normally, that it might still be outside of (or just at the edge of) the expanded 16:9 viewport. Recall that in SMW, you can explicitly scroll the viewport in the game (by pressing L/R). The game engine was necessarily designed around the assumption that, at any time you're in a free-camera scene (most of the time when you're not in an autoscroll area or small room), your viewport has an arbitrary horizontal scroll offset within some defined range. For gameplay to be deterministic/testable under such an assumption, the loading seam must be programmed to occur outside of that manually-scrollable region. I'm guessing that the basic "insight" of this widescreen patch, is that in most areas of the game, the screen can be made exactly as wide as the entirety of the coverage-area of the camera's player-controlled scroll region, with no effects on gameplay; because the game was already designed to work "the same" within any sub-region of that area, and "all of it" happens to be such a sub-region. Presumably, this patch makes the screen exactly that wide, and then removes your ability to scroll the camera any further using L/R. (Without that last bit, you'd be very likely able to see pop-in by scrolling the screen even slightly.) This would also mean that any area that was designed for a fixed or restricted camera (e.g. autoscroll areas; boss rooms; etc), may have been optimized by the original level designers under that assumption, and so "packed" with stuff that might load at the wrong time, or in the wrong order, if the loading seam were expanded (as it likely would have to be to make these areas look good.) Not having looked yet at the developer's progress reports for this patch on Twitter, I would pre-register a guess that fixing these types of rooms is where the majority of the work in making this patch went (beyond just adding more border tiles to small rooms.)
- a_t48 5y agoScrolling with L/R does affect (at least some) spawns. It’s completely possible to use it to scroll enemies on/off screen.
- manwe150 5y agoI vaguely recall using the L/R scroll to intentionally alter event timing, and needing to be aware of viewport variations from my usual run as I got faster, to avoid something being in the wrong place. But it has been many years now since I last played. I don’t recall SMW having much that needed to trigger in any particular order or speed, outside of the autoscroll levels. But since some levels already have too many sprites to keep up performance, I don’t think they would have been as worried about time precision as much as stopping extra work as soon as objects are hidden off-screen.
- stormbrew 5y agoThere 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.
- tinus_hn 5y agoIf all the extra room is to the left of the player it won’t affect gameplay much