News for hackers. Stuff that matters.
Re:Super Mario Bros warp zones were intended to work slightl... by jaywalk on Monday June 27, 2022 @12:46PM (#31897195)
I think it's a reflection of how incredibly simplistic these older systems and games really are. Modern games bear no resemblance to them as far as level design and asset storage go.
Re:Super Mario Bros warp zones were intended to work slightl... by morelisp on Monday June 27, 2022 @01:36PM (#31897891)
Such bugs are definitely still possible if you’re writing for modern systems in a similar style (large blocks of contiguous memory interpreted only as needed).

Just yesterday I was storing my color planes in three separate adjacent buffers for reasons, and if you looped the player off the bottom of the screen it came back up in a different color on the top. Now I need to figure out what to do with that…

Re:Super Mario Bros warp zones were intended to work slightl... by jaywalk on Monday June 27, 2022 @01:48PM (#31898079)
That's quite different from an actual, playable level appearing out of a bug.
Re:Super Mario Bros warp zones were intended to work slightl... by morelisp on Monday June 27, 2022 @02:44PM (#31898866)
Not really - if I had any tilemap structures for the level yet, it would've had a similar effect.

The point is this stuff arises whenever you have, like `char level_data[8][4][10][100]` rather than, like `class level { std::vector<actor*> actors; std::vector<sprite*> background; }`. And storing stuff in large contiguous blocks that can be interesting when misinterpreted is still a pretty good way to write modern games if you don't have OO brain rot.

Re:Super Mario Bros warp zones were intended to work slightl... by jaywalk on Monday June 27, 2022 @03:01PM (#31899156)
Sorry, I missed the part where you mentioned that you were writing your game in a similar style to classic games. Of course that does open up the door to similar bugs causing similar results.