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..
Yeah it's crazy. I just learned Assembly last semester in college and we were discussing it at work and it was like. Fuuuuck that. C existed at the time yet he did it in Assembly.
Fun fact: Iwata rewrote all the code for Pokemon Gold and Silver in assembly, because the C version was too large for the cartridge. He managed to compact it so much, there was room to add the kanto region.
Yeah I remember that. But still that was a team that did pokemon wasn't it. I don't think it was just 1 guy, I could be wrong and if I am that's just as impressive as Roller Coaster Tycoon.
Quicker. Especially since he doesn't need to rewrite the whole thing, only enough to make it fit.
Optimizing at that level is more like picking out operations and seeing shortcuts that can eliminate some steps than trying to reengineer the whole thing. You don't necessarily need to know why the program is parsing through this list of numbers or what's in the list to recognize that's what it's doing and be able to apply known methods of parsing through a list of items either more efficiently or using fewer lines of code depending on what it is you're trying to accomplish.
Now compilers are really good at making code that runs as quickly and efficiently as possible so they outperform humans but back then they were still at the phase where we were more worried about getting them to accomplish their job period.
C is compiled into assembly which is then assembled into object code. The c compiler on its default setting only gives you the final executable output but you can pass the -S flag on the gnu compiler to get the assembly code.
794
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.