• JayDee@lemmy.sdf.org
      link
      fedilink
      arrow-up
      10
      ·
      1 day ago

      That’s not why we were able to get Apollo 11 onto the moon using only 8 kilobytes. The real reason is because we used the most batshit sorcery mankind may ever know to eek out every last ounce of usefulness we could muster from those 8 kilobytes.

      • Gladaed@feddit.org
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        16 hours ago

        There was some sorcery involved, yes. But that does not mean it wasn’t a fundamentally easy problem. Orbital mechanics are the easiest and cleanest physics around. That’s why classical mechanics was so incredibly useful: it’s a near perfect predictor for movement in the sky. There ain’t no friction no nothing. Just clean positions, gravity, and propulsion.

      • dan@upvote.au
        link
        fedilink
        arrow-up
        11
        ·
        1 day ago

        Games were impressive in this way too. Computers and consoles didn’t have much CPU power or memory, so they had to squeeze every little bit.

        This was still happening even with 5th gen consoles. Crash Bandicoot couldn’t fit in the Playstation’s memory so they ended up overwriting system memory and memory allocated to features of Sony’s standard library they weren’t using.

        These days, game development is more “boring” in that aspect. Systems are powerful and frameworks like Unreal Engine handle all the core stuff. That’s not necessarily a bad thing though - it lets the game developers focus on the game itself.

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          1
          ·
          10 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.

          • dan@upvote.au
            link
            fedilink
            arrow-up
            1
            ·
            6 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
              ·
              6 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).

          • dan@upvote.au
            link
            fedilink
            arrow-up
            2
            ·
            6 hours ago

            I’m not a game developer so I just used the first example I could think of.

        • brian@lemmy.ca
          link
          fedilink
          arrow-up
          11
          ·
          1 day ago

          it lets the game developers focus on the game itself

          Downside to that is there isn’t a ton of people putting effort into efficiency/performance. And they sort of seem to be a dying breed at this point

        • JayDee@lemmy.sdf.org
          link
          fedilink
          arrow-up
          2
          ·
          23 hours ago

          Anyone who wants to know more about the exact craziness in retro game code should read “Racing the Beam: The Atari Video Computer System” by Ian Bogost and Nick Montfort.

        • Feydaikin@beehaw.org
          link
          fedilink
          arrow-up
          3
          ·
          1 day ago

          Yet, some of the most anticipated titles released are streamlined, soulless and boring. Every edge has been rounded off to such a degree, it makes Disney look gory.