• LeninOnAPrayer@lemm.ee
    link
    fedilink
    English
    arrow-up
    166
    ·
    2 days ago

    For those unaware. Assembly language is not something you would ever really program a game in. Which is why it’s so impressive that it was programmed this way. It’s also a reason why the game ran so well on the hardware of the time.

    In programming we talk about “high level” and “low level” programming languages. The level does not mean difficulty, in laymen’s terms you can think about it about how “close” you are to programing by typing in 1s and 0s. If you’re “low” you are very close to the ground level (the hardware). Obviously, no one programs in 1s and 0s because we created languages that convert human typed code into what a computer wants which is 1s and 0s.

    Assembly is a very “low level” programming language. It’s essentially as “close” to programing in 1s and 0s as you would ever get. It is still an important language today but no one in their right mind would ever program a game in it unless you were running with extremely strict hardware restrictions where every single bit of memory needed to be dealt with perfectly. Which is basically what Chris did.

    • easily3667@lemmus.org
      link
      fedilink
      English
      arrow-up
      33
      ·
      2 days ago

      I love that you’re “for those unaware” for assembly but not the random dude who made a video game in 1994 over 30 years ago (that I for one have never heard of).

    • lunarul@lemmy.world
      link
      fedilink
      arrow-up
      58
      ·
      edit-2
      2 days ago

      Sawyer started writing games in Z80 assembly. Assembly language was definitely something you would use to program games back in those days.

    • notabot@lemm.ee
      link
      fedilink
      arrow-up
      44
      ·
      2 days ago

      Assembly language is not something you would ever really program a game in.

      Back then you wrote whatever you needed to be performant and/or that involved close access to the hardware in assembler. A game would definitely count. It’s kind of nice to do, in many ways it’s simpler than high level programming, you’ve just got a lot more to keep track of.

      • Simulation6@sopuli.xyz
        link
        fedilink
        arrow-up
        1
        ·
        1 day ago

        I used a macro assembler to create assembly programs once. It made the process much easier, at least for the tiny things I did. Can not image a full game.

    • fibojoly@sh.itjust.works
      link
      fedilink
      arrow-up
      22
      ·
      edit-2
      2 days ago

      Assembly language is not something you would ever really program a game in.

      … these days. I assure you all the games my mate wrote on the HP calculator back then were in Assembly. And on the PC I would certainly use C but the core of it, the displaying of pixels and low level catching of input for example, were all in assembly. But yeah, that being said, for the time, everything in assembly was a pretty crazy approach given the tools available on PC.

    • Hildegarde
      link
      fedilink
      arrow-up
      16
      ·
      edit-2
      2 days ago

      Assembly was the language you used to write games back then. Most 8 and 16 bit console games were written in assembly. They needed low level code for the performance.

      If you played sonic spinball on the genesis/mega-drive, you played a game that struggled at 20 fps because the developers chose to write in C instead of assembly to hit their deadline. That is why most games were coded in assembly in those days.

      Sawyer started developing games in 1983. He would have learned assembly, and continued using the tools and techniques he was familiar with his entire career.

      Assembly was pretty uncommon by 1999. RCT is uniquely made, but not because Chris Sawyer was a unique coding genius doing what no one else could, but because he was one of the few bedroom coders of the 80s who held out that long.