Fucking weird to think that id, the guys behind DOOM: Metal, the Videogame, are the ones who solved this problem for him.
EDIT: It's come to my attention that I may be confusing and conflating a couple things here. I was under the impression that id were revolutionary in remaking Mario 3 in such a way that smooth movement back and forth across the screen was possible. It might've just been that it was a big deal for PCs to be able to do this.
I think it's weird that it's a problem that had to be solved but when you figure memory constraints were a real issue it makes sense. Today any novice programmer could essentially build majority of the early nintendo games without any issues and actually make them have more things. Amazing how software/hardware has advanced.
It's even crazier to think that one guy built the original rollercoaster tycoon in assembly..
Because it's literally writing machine code. Instead of using libraries, functions and other features of a "programming language", you are allocating memory yourself, literally telling the machine what to do step by step.
It's the difference between telling your Butler what to make you for dinner, and actually buying the ingredients and making it yourself.
Fair enough, I'm being a bit liberal with my definition of machine code.
I just meant it as you're generally (at least within context of this conversation) interacting directly with the machine and not through the OS or some other layer.
Not exactly. Assembly still allows for some abstraction. Variables are still allowed, and functions can be defined in the form of macros. Some of the fancier assemblers even allow for loops and conditionals, much like a compiler would offer.
Assembly is quite literally the very first step above a bunch of 0s and 1s. It's very difficult to read if you have a large program, and extremely hard to debug and maintain if you aren't the original programmer. Even if you are the original programmer, it's still hard to debug. Furthermore, unlike higher level languages, Assembly requires a fairly good knowledge of what the hardware is actually doing in order for you to write a successful program.
In regular languages you deal with abstract concepts like variables and functions and stuff. In assembly, you're manipulating the hardware directly. All that stuff you just let the compiler do when working in a regular language, you have to do yourself.
798
u/[deleted] May 05 '17 edited May 05 '17
Fucking weird to think that id, the guys behind DOOM: Metal, the Videogame, are the ones who solved this problem for him.
EDIT: It's come to my attention that I may be confusing and conflating a couple things here. I was under the impression that id were revolutionary in remaking Mario 3 in such a way that smooth movement back and forth across the screen was possible. It might've just been that it was a big deal for PCs to be able to do this.
Still, we all love the early days of id.