• frezik@midwest.social
    link
    fedilink
    arrow-up
    1
    ·
    13 hours ago

    And they had bugs that were a direct result of limitations. The Minus World in Super Mario World, for example, comes from a combination of uninitialized values, how data structures are packed, and imperfect collision detection.

    People don’t talk about the problems that result from doing things that way.

    • danA
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      Most regular players didn’t encounter these bugs though, as often they’re edge cases that don’t occur during regular gameplay. A lot of them were found by people intentionally looking for them.

      I’d argue that games today are bugger than games in the past, just due to how complex they are now. Sure, they’re a different class of bug (and arbitrary code execution via buffer overflows isn’t really a thing any more thanks to ASLR and the NX bit), but I don’t think there’s fewer bugs at all.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        1
        ·
        9 hours ago

        If you’ve played SMB a fair amount, there is at least one that you’ve almost certainly ran into at random. It is exploited by speedrunners, but you’ve probably hit it just playing the game normally.

        Pirhana plants only check the hitbox every other frame. Obviously, this is a speed optimization. At some point, you’ve probably gone right through a piranha plant that should have hit you. Speedrunners can and do exploit this, as well, of course.

        An extension of this idea in other games is when you have split-screen multiplayer. In games like the OG Mario Kart, player inputs are processed on alternating frames. Which means the game has an average of 0.5 frames of input latency in multiplayer before anything else gets calculated in. (And people say retro games don’t have input lag on CRTs; these people are wrong for a lot of different reasons).