Who knew DOOM was the friends we made along the way. EDIT: My friends, it took me a LONG time making this video, so a like, a comment, and a share would be GREATLY appreciated. Sincerely, your friendly mexican man :]
That explains allot on why back in the 90s that we could play so many types of doom versions like fighting Beavis and Butthead to even frikkin barney as enemies
It's not as simple as dumping C code into a device and having it run. Even then the least of your worries is compiling it. The classic Linux version doesn't even compile and run on modern Linux systems out of the box but it can be made to work with care and effort. The generosity, openness, and dedication of the open-source and hobbyist communities deserves more credit for the work they do to make the ports available not just for your graphing calculator, watch, and Windows.
Two things to realize .... 1: A birthday card that plays "Happy Birthday" has more computing power, and more memory than the Apollo 11 landing computer 2: Most devices that do trivially simple tasks, are vastly more powerful than the original PC's that DOOM ran on, because it would now be more expensive to make them less powerful ...
Fun fact. Doom was originally going to be a video game adaptation of Aliens (1986). Plans for that were scrapped in order to allow more creative freedom.
As self taught programmer that STARTED with Borland C before branching out into other languages the thing that for me cemented just how INHUMANE John was as a programmer was when I read a technical article where he was like well C (You know JUST one of the industry standard high level programing languages at the time) just wasn't optimized ENOUGH for him. So he wrote QuakeC! As in This Chad LITERALLY WROTE the MFing computer programing language, the parser, the interpreter, the compiler ALL of it that as a precursor to actually programming Quake
I think you might be misremembering. QuakeC was developed as a scripting language. It does not (and was never intended to) replace C and assembly for high-performance code. In fact, since it's interpreted it literally can't be faster than equivalent code written in C/asm. There are just benefits that make the performance penalty a worthwhile tradeoff, same reason why a lot of gamedevs use scripting languages like Lua nowadays.
Writing a C compiler is not necessarily hard as C is actually a simple language, it is just hard to use (don't confuse it with c++, that one is impossible lol). Many hobbyists make their own languages that just never stick. Parsers aren't hard either, as there are programs that autogenerate parser code. Now making a more optimizing compiler than the widely accesible ones is a herculean task, and you would have to be an absolute genius to do it better than teams of experienced experts.
Carmack is a legend. If i could be 1% as good developer as he is id be very happy. There are very few pieces of software as widely used as his, specially on games. And for 30 years. Absolute legend. And great video ❤️
I'm not much of a fan of the game itself, but the history behind it is just INSANE. the sheer dedication and pure fucking will to create something like this when there was quite litterally nothing like it yet, it's just mindblowing. There must be some black magic fuckery going on.
Probably a back room full of black women that actually developed the game as the evil white men took all of the credit. At least that’s how the history book will read 10 years from now.
@@Midnighthalo my mind actually ran Doom while I was asleep, really weird experience because I sleep walk, and yes I ended up outside of my house not the greatest thing looking like you are clinically insane in the middle of the nighy
I was born in 84. I grew up with an old 286. I remember when my dad bought a 486 with a sound card and then I saw doom. You guys have no idea what it was like to go from Eva graphics and beeps and farts to vga graphics and real music. I bet most people don’t remember super vga before modern 3d graphics.
I was born the same year as u and also had 486 think it had 4mb of ram and yes it could run doom but not the best it wasn't until pentium came into the mix that u could actually run it smoothly and now it can b played on almost anything. Its crazy. Just shows how far computers have come.
I remember my old 486 SX 33mhz . It even struggled to play doom smooth. But I'll never forget my mate showing me the Doom demo on floppy disk... then running on his beast 486 DX-50.
EGA graphics with PC Speakers to SVGA and Sound Blaster 32 is a big massive leap. I remember my dad connected his home theater system while playing DOOM, It was mind blowing.
I love watching your doom videos. My Dad used to tell us all the time about how he got an early copy of the first episode of Doom because he would always call the IDgames number to ask about Wolfenstein. I've been playing these games since I was able to so it's quite nostalgic for me! Thank you sir!
someone ran doom on a calculator, powered by 700 potatoes. doom runs on potatoes. doom is fucking eternal (how did bro even code into a fucking calculator)
somebody made doom out of logic gate blocks in Scrap Mechanic and it's awesome (there's only two colors, but it's fully controllable and insanely complicated)
From the very first days of PC gaming to fuckin VR development, John Carmack has been at the front the whole time. That one man has done more in 40 years than entire tech corporations have in 100.
@@CinnamonOwO yes and Wolfenstein 3D is called the grandfather of such games. Doom wasn't first, but subsequent games tried to be Doom, not W3D. Notice arcade elements in W3D like score pickups, lives, floor (level) counter which Doom dropped focusing on the shooting. There were games before W3D, also in 1st person and they also are Fps ancestors, sure. But Doom was a huge leap from W3D in so many aspects it forged its own standard
@@borysviktor6124 Wolfenstein 3D's engine (1992) was basically just an improved version of the engine from Catacomb 3D (1991), which is itself an improvement on the engine from Hovertank 3D (1991). Those 3 games walked so that doom could run many times faster than the land speed record. Catacomb 3d is the great grandfather of fps, with Hovertank 3d being the Great, Great Grandfather of fps. I would even say stuff like ELITE (1984) counts as an ancestor to the FPS genre in it's own way but it's debatable at that point.
@@voidstrider801 thanks for the trip down memory lane :) it's astounding, how gaming has changed, yet we can still retrace such lineages and marvel. Soon we will be examinig similar milestone leaps for VR and who knows what next :)
Doom runs on an airplane? Bruh. I can imagine the scene now: "Tower, requesting IFR clearance" "Roger that" *shotgun guy dies to pistol in background* "What was that?" From the passenger cabin: "Ope, sorry! I was playing Doom and I forgot my earbuds in my luggage" Everyone else: either groans or laughs
Another amazing thing about doom was how you were able to do multiplayer mode via a 2400 baud modem if memory serves. Definitely with a 14.4 baud. If your local BBS had multiple phone lines, you could do proper death matches on dialup (which was quick but not lightning fast when it came to ansi graphics). So seeing a graphic intense game like this and being able to play it live via a regular modem… it was astounding.
Doom became the 'official' network test software on the first 10baseT network I built for a company I worked at in the early 90's. We did a lot of testing 😆
There’s possibly an even more important invention John Carmack came up with that is still in every 3d game today, the fast 3dimensional inverse square function. It’s a function that quickly computes the inverse square of 3d dimensional points in space. This is something every 3d engine needs to do many times every single frame to render 3d shapes and doing it in a way that doesn’t require expensive floating point calculations a naive version would require
Today we have hardware acceleration for that, and it uses the standard way and direct hardware fp calculations are a lot faster than software workarounds
You can imagine that you play DOOM. You might not remember how a map is build like, but you can imagine how the level would look like. Hell! You can even imagine that you don't get any damage and beat Doon in only 5 seconds
Here's a funny story about the fact that Doom can run on everything. I actually tore through a huge map in my DREAMS! Lemme explain: The dream involved a BRAND NEW neural manipulation chamber, a "dream chamber" if you will, that was cheap enough to be sold to the public. Me and my bro were among the first recipients as part of an advertising campaign, and we had set it up in the spare room, upright at a slant, and I had tweaked GZDoom to work with the system. Hours later we realized the room was getting humid as it cools us down to accelerate the brain, and I got to my PC to write up a suggestion about it.
add Texas Instruments calculators to that list of things that can run Doom. As a high school Math teacher I am highly afraid that my students will figure it out and start killing Imps and Cacodemons instead of learning about derivatives and integrals
C isnt 'prehistoric' its just a very very useful abstraction of assembly. Given there are hundreds of different processor architectures, C provides a way of making portable code, as does C++, and other higher level languages. You wouldn't want to have to learn assembly for every architecture, whereas its super easy to compile your C/C++ code for x86, AMD64, ARM, RISC-V etc... (obviously with some modifications to code, but nothing super significant). And with regards to the meme of C being written in C... it basically is as most of the libraries you need for a functioning program are written in C - it compiles to machine code. As most programmers know too, the compiler is more intelligent than they are, so writing in assembly is generally the wrong approach.
@@kittymelody-9 a device doesn't read assembly, it reads binary. Assembly is the lowest level abstraction of binary that is human readable, C is a step above that. C and C++ both compile down into machine code (binary) so porting is simply a process of ensuring data types are compatible with the architecture and you use the right compiler. Any turing complete computer can run doom provided it has enough memory and processing power. The microcontroller in your alarm clock could run it... Someone ported doom to an arduino, an 8 bit 16MHz microcontroller.
The meme, that C is written in C is not false. The first version was of course not written in C, probably assembler or Fortran I could think (correct me if I'm wrong) but all later versions of C were written in C.
I think it's practially true. At 1 point the compiler and assember may have been the same user-interface. Like, a if-statement is a direct reference to a AND + JMP and nothing else.
The first version of C was written in a language called 'B', which was very similar to C, but lacked anything resembling a type system. B was a heavily cut down version of BCPL with Algol influences.
John Carmack certainly deserves his credit for the advancement of gaming tech onto PCs not made for the activity, but all of his work was based on technology that had already been conceived, he invented none of it from scratch. The first PCs to have gaming (including platformers) had Commodore and Atari in their names, not IBM or the slew of other IBM-compatible manufacturers. The personal computer revolution started with PCs capable of both productivity AND gaming. For example, I was playing both Donkey Kong(static screen) and Jungle Hunt (scrolling screen) on the C64 7 years before Commander Keen was released.
The released source code was Linux-only because the DOS version used a proprietary sound driver, nothing to do with Windows. IIRC the Linux port was done in house and it shared a source tree with the DOS one. The Windows Port was done by a different team and the code was separate (apparently by Gabe Newell, then at Microsoft from a quick search?) so that was not available for iD to release. From somebody who was there at the time, a lot of games were still too resource-intensive to run inside Windows although Win95 was a big improvement. Dual-booting DOS/Windows was common for high-end gaming until 3d-accerelators started to be mainstream. Around the time of Quake 2 was when it started to change after the early success of the experimental GLQuake binaries. The notes that came with the source said "this code only compiles and runs on linux. We couldn't release the dos code because of a copyrighted sound library we used (wow, was that a mistake -- I write my own sound code now), and I honestly don't even know what happened to the port that microsoft did to windows."
Windows 95 wasn't much more than a GUI running on top of msdos. Games would often be run in the command line, ignoring Windows 95 all together. 98 had a few more hooks, but it wasn't until XP that we saw a non DOS based windows.
This is the first time I've heard someone claim the SNES port was bad or that it was a cash grab lol. The 3DO version sure, but SNES was about as good as it got for consoles until OG Xbox, and a lot of people genuinely like the remixed soundtrack.
I must be old, because I remember (vividly) the days when you had to have a high-end PC to run Doom. It was Spring 1994. I'd just turned 4 and I owned an 8086 PC-XT, which played some DOS games, but my dad's $3,000 1993 Am486 DX 40MHz MultiMedia PC with 8MB of SIMM RAM (8x1MB), a SoundBlaster Pro 2, a Cirrus Logic 1MB ISA VGA video card complete with VGA monitor, a 420MB WD Caviar HDD, 1x built-in Panasonic IDE pop-out clamshell CD-ROM drive, 3.5" and 5.25" FDDs, 10-Base 2 and 10-Base T networking, 28.8k US Robotics modem and a 3-button serial mouse was what it took to run Doom at 15 fps with full playability with TCP/IP head-to-head. That was how I played Doom when it was new. :) Now people see Doom like Pong: a simple old game that can run on anything. That isn't how we saw it 29 years ago. :)
I always get lost in Doom and other boomer shooters. I've been playing them all my life and I always get like half way through them and wander around a level for hours pushing "use" on ever chunk of wall to try and find the hidden path to finish the level. I hate that part of old shooters' design.
Doom was written in C for first and second generation 32 bit computers (slow!) with only 4 MB of ram so pretty much anything recent with a microprocessor core can meet those requirements. For display it only needs a dumb frame buffer, so if the device has a display that can be written per pixel it is good enough (and if not hackers will figure out something). It also helps that C compilers have tried really hard to maintain compatibility with the c89 standard. A lot of code in the 90s and 2000s was writtten to that standard so it can't just disappear without making a lot of people really unhappy. The source being for Linux doom no doubt helped a lot because the code will not be doing anything too horrible trying to do low level hardware access.
The newer standards themselves are backwards compatible actually, to ensure the new features don't break existing code as the updates to the standard are iterative. Unfortunately that doesn't mean old code will compile, because it sometimes relies on custom compiler and os extensions to the language that become obsolete.
8:37 - Smart as Carmack is, he didn't invent raycasting or BSP, nor would he ever claim that. He wrote really good implementations of them with lots of clever hacks. Not even the fast inverse square root hack is his baby: that dates back to the mid -80s.
Yup, BSP trees had been around for a few years in computer graphics journals at that point I believe, just not yet leveraged for games. He is still an amazing dude either way.
The ISR hack is most of his invention because the way he did that using C tricks that ONLY apply to C was really genius. The original function used logs to calculate but he though of loading floats to integers instead. Really clever.
Turns out when you are the literal god of the modern day gaming world, people would port your most infamous game to anything. Game consoles, TVs, MP3 players, Calculators and I bet once Nuralink comes out someone’s porting Doom to that in like 1 day.
Regarding the 8:28, John Carmack did not invent the BSP algorithm , the algorithm as already described in the 1975 by J.D. Northrup. And the RayCasting is as old as 1968...
Fun fact: the statements a) "Doom runs on everything" and b) "Doom is most ported game" are mutually exclusive. It either runs - or have to be ported. So, it doesn't run on everything. Some people spent a lot of effort to make it happen. And in all cases with a different platform we get a completely different game; those aren't even 'ports' on readers or oscilloscopes; those are recreations. There is nothing special about the code itself - those people could had spent their time porting anything else (obviously, Doom isn't the only app written in C). So, the phenomenon is about their collective CHOICE, not the game code🤦♂There is nothing special about Doom engine that would allow it be ported to "everything" at a fingersnap. Note how the first official port (SNES) is garbage! Because the processing platforms don't overlap much, and the Doom source code does nothing to overcome this! ... And as per the choice, the dedication of community... There is an experiment with small balls jumping between 2 vibrating vessels. Once a title had gained critical mass, it's unstoppable; everyone wants to take part in it, because it's popular. 12:34 "the religious ideology to run on anything" - yeah. But not "run", rather "launch". It's a social phenomenon, not a technical one. A popular challenge. Get some other app popular enough - and we'll get busy porting it.
oh, and some 'ports' are just the original x86 executable running on a PC emulator. You could run any app on an emulator, there is no achievement at all. All credit goes to emulator's authors.
as far as i remember John didn't come up with BSP trees.. he was researching stuff and found it and implemented it into doom (i don't think it had been used in a video game before though)
4:53 Yes. 9:45 Wolfenstein 3D 11:35 More like C Compilers exist for most devices. But a lot of the crazy things, like the printer, someone had to write their own C Compiler.
About the computer graphics techniques you mentioned, I don't know about all of them but Carmack definitely did not come up with the concept of Binary Space Partitioning all by himself. It was already published and worked on in multiple papers, Carmack simply had the knowledge, skill and talent necessary to implement it in DOOM, which is no small feat, but he wasn't some kind of miraculous God-like genius, he was a real person, and a genius. I think that makes him all the more impressive. Anyone else could implement BSPs into their game, they just didn't know they existed, didn't know they could be applied to create 3D games, etc.
I recently upgraded a first-generation Apple TV with a 128 GB mSATA SSD and installed Mac OS 10.5 Leopard onto it, and installed Doom (Legacy) on it a few days ago. The first-gen Apple TV cannot log into the iTunes servers as of 2018, and is thus completely useless today unless you hack an alternative operating system onto it. This Apple TV is surprisingly useable and stable as a cut-down Mac (and the SSD undoubtedly helps). Running Doom was pretty easy - all I needed was Doom Legacy for Leopard - and I'm not the first person to do it, but I'm glad to have installed Doom on yet another improbable appliance.
Who knew DOOM was the friends we made along the way.
EDIT: My friends, it took me a LONG time making this video, so a like, a comment, and a share would be GREATLY appreciated. Sincerely, your friendly mexican man :]
Very interesting video !
Your my favourite Mexican man indeed 😁
You can run doom in notepad, I'm not kidding. Even Excel and Random ATMs can run doom.
That explains allot on why back in the 90s that we could play so many types of doom versions like fighting Beavis and Butthead to even frikkin barney as enemies
I watched Doom run on a tiny lego chip that was made as a ring and played doom on this ring 😮😮
Even my grandma's pacemaker ran it, bless her soul
Badass.
@@Midnighthalo 😂 Hell yeah!
Savage
John carmack is literally Megamind of Pc's
Agreed.
John Carmack and John Romero were the realest ones
Romero was the God of Engagement whereas Carmack was/is the God of Technology
@@quintonhowells299 John Carmack IS technology
John freggin Carmack is literally why I'm a programmer.
It's not as simple as dumping C code into a device and having it run. Even then the least of your worries is compiling it. The classic Linux version doesn't even compile and run on modern Linux systems out of the box but it can be made to work with care and effort. The generosity, openness, and dedication of the open-source and hobbyist communities deserves more credit for the work they do to make the ports available not just for your graphing calculator, watch, and Windows.
Thank you.
Seems nobody cares anymore. Everyone is obcessed with the idea that Doom engine ports itself.
Thanks chat gpt
Yeah, to bad the videos subject wasnt "HOW to get DOOM run on EVERYTHING"
Imagine creating a game so legendary people are finding ways to play it on literally anything
Two things to realize ....
1: A birthday card that plays "Happy Birthday" has more computing power, and more memory than the Apollo 11 landing computer
2: Most devices that do trivially simple tasks, are vastly more powerful than the original PC's that DOOM ran on, because it would now be more expensive to make them less powerful ...
Wow we can travel to the moon with doom
Fun fact. Doom was originally going to be a video game adaptation of Aliens (1986). Plans for that were scrapped in order to allow more creative freedom.
Astronaut 1: Wait. It's all DOOM.
Astronaut 2: Always has been.
That vector-based console is called the Vectrex, and it's a VERY interesting piece of kit form the vector-based arcade days.
Also, the footage shown is not Doom ported to the vectrex, but a doom copy made from scratch to run on it. So I say that one doesn't count.
there was a star wars game that on that tech. it was very cool
@@poindextertunes A Star Trek game as well.
It runs on a pregnancy test. Yes. It's that awesome.
It runs on 100 potatos connected to a display
I know something yellow that also runs on a pregnancy test.
I'll be over there if anyone wants to make fun of me now
@THE DOOM SLAYER and bee lover 72 potatoes sir. Potato tech has come a long way
No one like this comment now
It's on 69 likes
Pls hear me out don't like this comment
Can I play doom on a sunflower
It runs on my calculator for school. Keep up the good work and plz do a setup tour
Thanks man! Setup tour at 300K
We could probably run it on a fast food menu screen at this point😭
I believe someone already did that on a McDonalds kiosk or something. I might be mistaken, though
Already been done
actually, considering that fast food menu screens are literal tvs, you can hook em up with an HDMI an there ya go - doom
Easily. They are raspberry pis, Intel Nicks or similar, and waaay faster than 1990s supercomputers.
Someone did it on a kitchen grade order bmup bar tdnc did run doom on a kitchen appliance
As self taught programmer that STARTED with Borland C before branching out into other languages the thing that for me cemented just how INHUMANE John was as a programmer was when I read a technical article where he was like well C (You know JUST one of the industry standard high level programing languages at the time) just wasn't optimized ENOUGH for him. So he wrote QuakeC! As in This Chad LITERALLY WROTE the MFing computer programing language, the parser, the interpreter, the compiler ALL of it that as a precursor to actually programming Quake
I think you might be misremembering. QuakeC was developed as a scripting language. It does not (and was never intended to) replace C and assembly for high-performance code. In fact, since it's interpreted it literally can't be faster than equivalent code written in C/asm. There are just benefits that make the performance penalty a worthwhile tradeoff, same reason why a lot of gamedevs use scripting languages like Lua nowadays.
Really built all of quake from scratch
Then you remember that RCT was basically written entirely in assembly.
read that as quackC initially,
and im creating a petition to rename quakec to quackc
Writing a C compiler is not necessarily hard as C is actually a simple language, it is just hard to use (don't confuse it with c++, that one is impossible lol). Many hobbyists make their own languages that just never stick. Parsers aren't hard either, as there are programs that autogenerate parser code.
Now making a more optimizing compiler than the widely accesible ones is a herculean task, and you would have to be an absolute genius to do it better than teams of experienced experts.
Carmack is a legend. If i could be 1% as good developer as he is id be very happy. There are very few pieces of software as widely used as his, specially on games. And for 30 years. Absolute legend. And great video ❤️
I'm not much of a fan of the game itself, but the history behind it is just INSANE. the sheer dedication and pure fucking will to create something like this when there was quite litterally nothing like it yet, it's just mindblowing. There must be some black magic fuckery going on.
Probably a back room full of black women that actually developed the game as the evil white men took all of the credit. At least that’s how the history book will read 10 years from now.
@@Prosecute-fauci what drugs are you on?
@@Prosecute-fauci what the fuck are you talking about
@@Prosecute-fauci sir this is a wendy's
@@chichi2000fgh oh… my bad.
13:30 you could say…. *doom is eternal.*
Doom runs on the reflection of my eyes
It technically should...
@@Midnighthalo my mind actually ran Doom while I was asleep, really weird experience because I sleep walk, and yes I ended up outside of my house not the greatest thing looking like you are clinically insane in the middle of the nighy
I want to play Doom on my local church TV
dew it
Your church has a tv?
Imagine when they turn that TV on and it playing doom with blood and gore everywhere
Nike slogan*
@@airstep001 Every Easter when we have a crucification reenacting there is a lot of blood and gore.
I was born in 84. I grew up with an old 286. I remember when my dad bought a 486 with a sound card and then I saw doom. You guys have no idea what it was like to go from Eva graphics and beeps and farts to vga graphics and real music.
I bet most people don’t remember super vga before modern 3d graphics.
I was born the same year as u and also had 486 think it had 4mb of ram and yes it could run doom but not the best it wasn't until pentium came into the mix that u could actually run it smoothly and now it can b played on almost anything.
Its crazy.
Just shows how far computers have come.
I was there Gandalf. I was there 3000 years ago...
No, I remember before the voodoo 3dfx, which I bought not long after it came out. There WAS only 2d..the cpu did all the graphics.
I remember my old 486 SX 33mhz . It even struggled to play doom smooth. But I'll never forget my mate showing me the Doom demo on floppy disk... then running on his beast 486 DX-50.
EGA graphics with PC Speakers to SVGA and Sound Blaster 32 is a big massive leap. I remember my dad connected his home theater system while playing DOOM, It was mind blowing.
I love watching your doom videos. My Dad used to tell us all the time about how he got an early copy of the first episode of Doom because he would always call the IDgames number to ask about Wolfenstein. I've been playing these games since I was able to so it's quite nostalgic for me! Thank you sir!
I like how doom runs on everything, so that also includes inside doom
Doom runs insides Doom that runs inside Doom that runs inside Doom that runs inside Doom.
someone ran doom on a calculator, powered by 700 potatoes. doom runs on potatoes. doom is fucking eternal (how did bro even code into a fucking calculator)
holy hell I wasn't expecting..
EMOTIONAL DAMAGE
Wait your telling me the release of the doom source code was the Linux version? That’s amazing.
Things that can run DooM:- PC, consoles (with various degrees of success), calculator, pregnancy tests, ultrasound machine, ATM machine etc.
don't ya just love Auto Transaction Machine machines
Doom requirements:having the Will to port it
@@nomoredlc593 wouldn't be surprised if it turns up on the Raspberry Pi.
@@ireneparkin3360 it has already been ported,when the first pi came out
even an Etch-a-Sketch
somebody made doom out of logic gate blocks in Scrap Mechanic and it's awesome (there's only two colors, but it's fully controllable and insanely complicated)
Someone made a 3d game in
GEOMETRY DASH
So it mught be possible there too
th-cam.com/video/eEwVtGEAMa4/w-d-xo.html
From the very first days of PC gaming to fuckin VR development, John Carmack has been at the front the whole time. That one man has done more in 40 years than entire tech corporations have in 100.
That's why we call Doom as the father of FPS gaming
Wolfenstein 3D came out first
@@CinnamonOwO yes and Wolfenstein 3D is called the grandfather of such games. Doom wasn't first, but subsequent games tried to be Doom, not W3D. Notice arcade elements in W3D like score pickups, lives, floor (level) counter which Doom dropped focusing on the shooting. There were games before W3D, also in 1st person and they also are Fps ancestors, sure. But Doom was a huge leap from W3D in so many aspects it forged its own standard
@@borysviktor6124 Wolfenstein 3D's engine (1992) was basically just an improved version of the engine from Catacomb 3D (1991), which is itself an improvement on the engine from Hovertank 3D (1991). Those 3 games walked so that doom could run many times faster than the land speed record. Catacomb 3d is the great grandfather of fps, with Hovertank 3d being the Great, Great Grandfather of fps. I would even say stuff like ELITE (1984) counts as an ancestor to the FPS genre in it's own way but it's debatable at that point.
@@voidstrider801 thanks for the trip down memory lane :) it's astounding, how gaming has changed, yet we can still retrace such lineages and marvel. Soon we will be examinig similar milestone leaps for VR and who knows what next :)
It ran on my grandmas blood sugar meter lol
Doom runs on an airplane? Bruh. I can imagine the scene now:
"Tower, requesting IFR clearance"
"Roger that"
*shotgun guy dies to pistol in background*
"What was that?"
From the passenger cabin: "Ope, sorry! I was playing Doom and I forgot my earbuds in my luggage"
Everyone else: either groans or laughs
"Doom runs is everywhere": shows pictures of people playing Minecraft and WoW
Forgot to add "unrelated images" below the screen.
@@Midnighthalo I know. It was just a joke
i died when he showed an oscilloscope playing doom, turns out you can actually play doom in anything
Another amazing thing about doom was how you were able to do multiplayer mode via a 2400 baud modem if memory serves. Definitely with a 14.4 baud. If your local BBS had multiple phone lines, you could do proper death matches on dialup (which was quick but not lightning fast when it came to ansi graphics). So seeing a graphic intense game like this and being able to play it live via a regular modem… it was astounding.
I had the Doom shareware before I had a PC... I'd go into stores and install it on the demo PCs 😁
I have an idea.
Doom is not everything. but Doom is Eternal.
Doom became the 'official' network test software on the first 10baseT network I built for a company I worked at in the early 90's. We did a lot of testing 😆
See a sack of potatoes.
*my brain: Can it play doom
Already did that.
There’s possibly an even more important invention John Carmack came up with that is still in every 3d game today, the fast 3dimensional inverse square function. It’s a function that quickly computes the inverse square of 3d dimensional points in space. This is something every 3d engine needs to do many times every single frame to render 3d shapes and doing it in a way that doesn’t require expensive floating point calculations a naive version would require
Today we have hardware acceleration for that, and it uses the standard way and direct hardware fp calculations are a lot faster than software workarounds
The quake 3 algorithm? yep. Though it doesn't actually compute the inverse, it gives a very good estimate.
If I remember correctly, he said that he did not come up with the fast inverse square during the Lex Fridman video.
Doom was super playable on my late-90's era kodak digital camera. and using the camera controls were fun. everyone was amazed.
I remember playing Doom on a WebTV box. Imagine my great surprise when i discovered the cheats for the PC version also worked on the WebTV version.
You can imagine that you play DOOM. You might not remember how a map is build like, but you can imagine how the level would look like. Hell! You can even imagine that you don't get any damage and beat Doon in only 5 seconds
that works with mario kart
technically Carmack did not come up with BSP. there was a research paper about it at the time, and he implemented it.
Here's a funny story about the fact that Doom can run on everything. I actually tore through a huge map in my DREAMS! Lemme explain:
The dream involved a BRAND NEW neural manipulation chamber, a "dream chamber" if you will, that was cheap enough to be sold to the public. Me and my bro were among the first recipients as part of an advertising campaign, and we had set it up in the spare room, upright at a slant, and I had tweaked GZDoom to work with the system. Hours later we realized the room was getting humid as it cools us down to accelerate the brain, and I got to my PC to write up a suggestion about it.
Bro you did what???
@@vhstapeemporium3034 he ran doom on his brain.
Basically anything with buttons and a display screen can run doom
I wanted to REALLY play DOOM
So I decided to mod DOOM to play DOOM inside of DOOM
DOOMception
cant forget the distribution of DOOM onto all the schools calculators lol
"John Carmack was able to build this in a CAVE! With a box of PIZZA!"
When he said believe that they can run doomin their brain, I started imagine playing DooM 2 in my brain 💀💀💀
BEEN THERE DONE THA-
the "whatever this thing is" was a Vectrex
Had one
This is the equivalent of when people put bad apple inside of everything
This was great. Doom is EVERYTHING! EVERYTHING IS DOOM!
YES
Imagine running doom on a Smart TV
Well it’s not impossible
It runs on a pregnancy test I think it will fare well
Doom on my microwave and Casio Gshock!
Can't wait for doom to run on a minecraft redstone computer! I mean we already have freaking 3D minecraft on a minecraft redstone computer so why not?
add Texas Instruments calculators to that list of things that can run Doom. As a high school Math teacher I am highly afraid that my students will figure it out and start killing Imps and Cacodemons instead of learning about derivatives and integrals
Doom isn’t everything…
It is Eternal
glad you're still here man. hang in there don't give up during this content drought
C isnt 'prehistoric' its just a very very useful abstraction of assembly. Given there are hundreds of different processor architectures, C provides a way of making portable code, as does C++, and other higher level languages. You wouldn't want to have to learn assembly for every architecture, whereas its super easy to compile your C/C++ code for x86, AMD64, ARM, RISC-V etc... (obviously with some modifications to code, but nothing super significant).
And with regards to the meme of C being written in C... it basically is as most of the libraries you need for a functioning program are written in C - it compiles to machine code. As most programmers know too, the compiler is more intelligent than they are, so writing in assembly is generally the wrong approach.
I love C. I learnt it modding Quake xD
C is from 1972, while COBOL is from 1959 and FORTRAN is from 1957. Thus C is not so ancient...
If the device only reads Assembler code, how can you port Doom to the device?
@@kittymelody-9 a device doesn't read assembly, it reads binary. Assembly is the lowest level abstraction of binary that is human readable, C is a step above that. C and C++ both compile down into machine code (binary) so porting is simply a process of ensuring data types are compatible with the architecture and you use the right compiler. Any turing complete computer can run doom provided it has enough memory and processing power. The microcontroller in your alarm clock could run it... Someone ported doom to an arduino, an 8 bit 16MHz microcontroller.
That audio clip you used from Left for Dead scared the witch out of me
DOOM will run on people's fingernails one day
And walls
@@mr.cheese2928 doom is in your walls
We’ve already began trying rat neurons, who knows what’s next…
@@kittymelody-9 Wasn't that one more like rat neurons PLAYING DOOM? Still goddamn impressive, though.
The meme, that C is written in C is not false. The first version was of course not written in C, probably assembler or Fortran I could think (correct me if I'm wrong) but all later versions of C were written in C.
I think it's practially true. At 1 point the compiler and assember may have been the same user-interface. Like, a if-statement is a direct reference to a AND + JMP and nothing else.
The first version of C was written in a language called 'B', which was very similar to C, but lacked anything resembling a type system. B was a heavily cut down version of BCPL with Algol influences.
John carmack will be remembered as the guy who launched gaming into the moon
John Carmack certainly deserves his credit for the advancement of gaming tech onto PCs not made for the activity, but all of his work was based on technology that had already been conceived, he invented none of it from scratch. The first PCs to have gaming (including platformers) had Commodore and Atari in their names, not IBM or the slew of other IBM-compatible manufacturers. The personal computer revolution started with PCs capable of both productivity AND gaming. For example, I was playing both Donkey Kong(static screen) and Jungle Hunt (scrolling screen) on the C64 7 years before Commander Keen was released.
The released source code was Linux-only because the DOS version used a proprietary sound driver, nothing to do with Windows. IIRC the Linux port was done in house and it shared a source tree with the DOS one. The Windows Port was done by a different team and the code was separate (apparently by Gabe Newell, then at Microsoft from a quick search?) so that was not available for iD to release. From somebody who was there at the time, a lot of games were still too resource-intensive to run inside Windows although Win95 was a big improvement. Dual-booting DOS/Windows was common for high-end gaming until 3d-accerelators started to be mainstream. Around the time of Quake 2 was when it started to change after the early success of the experimental GLQuake binaries.
The notes that came with the source said "this code only compiles and runs on linux. We couldn't release the dos code because of a copyrighted sound library we used (wow, was that a mistake -- I write my own sound code now), and I honestly don't even know what happened to the port that microsoft did to windows."
Windows 95 wasn't much more than a GUI running on top of msdos. Games would often be run in the command line, ignoring Windows 95 all together. 98 had a few more hooks, but it wasn't until XP that we saw a non DOS based windows.
This is the first time I've heard someone claim the SNES port was bad or that it was a cash grab lol. The 3DO version sure, but SNES was about as good as it got for consoles until OG Xbox, and a lot of people genuinely like the remixed soundtrack.
You haven’t even mentioned the most crazy ports of doom to the most obscure devices
I want see doom run on a pocket watch, or a bullet
Or a garlic grinder 🤠
I must be old, because I remember (vividly) the days when you had to have a high-end PC to run Doom. It was Spring 1994. I'd just turned 4 and I owned an 8086 PC-XT, which played some DOS games, but my dad's $3,000 1993 Am486 DX 40MHz MultiMedia PC with 8MB of SIMM RAM (8x1MB), a SoundBlaster Pro 2, a Cirrus Logic 1MB ISA VGA video card complete with VGA monitor, a 420MB WD Caviar HDD, 1x built-in Panasonic IDE pop-out clamshell CD-ROM drive, 3.5" and 5.25" FDDs, 10-Base 2 and 10-Base T networking, 28.8k US Robotics modem and a 3-button serial mouse was what it took to run Doom at 15 fps with full playability with TCP/IP head-to-head. That was how I played Doom when it was new. :)
Now people see Doom like Pong: a simple old game that can run on anything. That isn't how we saw it 29 years ago. :)
I always get lost in Doom and other boomer shooters. I've been playing them all my life and I always get like half way through them and wander around a level for hours pushing "use" on ever chunk of wall to try and find the hidden path to finish the level. I hate that part of old shooters' design.
Waiting for Doom on the Evercade 🤐
I need a full list of the anime hoodies this dude has worn
Wait, it’s all DOOM?
Midnight: Always has been.
Doom was written in C for first and second generation 32 bit computers (slow!) with only 4 MB of ram so pretty much anything recent with a microprocessor core can meet those requirements. For display it only needs a dumb frame buffer, so if the device has a display that can be written per pixel it is good enough (and if not hackers will figure out something). It also helps that C compilers have tried really hard to maintain compatibility with the c89 standard. A lot of code in the 90s and 2000s was writtten to that standard so it can't just disappear without making a lot of people really unhappy. The source being for Linux doom no doubt helped a lot because the code will not be doing anything too horrible trying to do low level hardware access.
The newer standards themselves are backwards compatible actually, to ensure the new features don't break existing code as the updates to the standard are iterative. Unfortunately that doesn't mean old code will compile, because it sometimes relies on custom compiler and os extensions to the language that become obsolete.
If Doom runs on everything it means that Doom is Eternal
Pluh-tuh-farm
If there's a modding community in the 90s they definitely had a ballpark blast with this game
Mighty doom is out now go get it midnight
I dont know why but lake Michigan sticks out 0:04
8:37 - Smart as Carmack is, he didn't invent raycasting or BSP, nor would he ever claim that. He wrote really good implementations of them with lots of clever hacks. Not even the fast inverse square root hack is his baby: that dates back to the mid -80s.
Yup, BSP trees had been around for a few years in computer graphics journals at that point I believe, just not yet leveraged for games. He is still an amazing dude either way.
The ISR hack is most of his invention because the way he did that using C tricks that ONLY apply to C was really genius.
The original function used logs to calculate but he though of loading floats to integers instead. Really clever.
Turns out when you are the literal god of the modern day gaming world, people would port your most infamous game to anything. Game consoles, TVs, MP3 players, Calculators and I bet once Nuralink comes out someone’s porting Doom to that in like 1 day.
I saw it run on a myki machine in Melbourne. This is a machine that you use to swipe on and off public transport with an NFC-based pass.
Regarding the 8:28, John Carmack did not invent the BSP algorithm , the algorithm as already described in the 1975 by J.D. Northrup. And the RayCasting is as old as 1968...
I had DOOM on my iPod nano when I was a kid. It made the family roadtrips so much more fun!
They should build a museum for anything that Doom runs on
It even runs on my abacus, pretty impressive what kind of hardware can run DOOM
The other thing that come closer to doom was video of bab apple, but only on the device that have weird outline or something
Fun fact: the statements
a) "Doom runs on everything"
and b) "Doom is most ported game"
are mutually exclusive. It either runs - or have to be ported. So, it doesn't run on everything.
Some people spent a lot of effort to make it happen. And in all cases with a different platform we get a completely different game; those aren't even 'ports' on readers or oscilloscopes; those are recreations.
There is nothing special about the code itself - those people could had spent their time porting anything else (obviously, Doom isn't the only app written in C). So, the phenomenon is about their collective CHOICE, not the game code🤦♂There is nothing special about Doom engine that would allow it be ported to "everything" at a fingersnap. Note how the first official port (SNES) is garbage! Because the processing platforms don't overlap much, and the Doom source code does nothing to overcome this!
...
And as per the choice, the dedication of community...
There is an experiment with small balls jumping between 2 vibrating vessels.
Once a title had gained critical mass, it's unstoppable; everyone wants to take part in it, because it's popular.
12:34 "the religious ideology to run on anything" - yeah. But not "run", rather "launch". It's a social phenomenon, not a technical one. A popular challenge. Get some other app popular enough - and we'll get busy porting it.
oh, and some 'ports' are just the original x86 executable running on a PC emulator. You could run any app on an emulator, there is no achievement at all. All credit goes to emulator's authors.
Acabo de descubrir tu canal y me suscribo sin pensarlo, ¡Muy buen videoooo!
One day doom can be played on doom on doom on doom.
"If there is a screen, DOOM SHALL BE PLAYED."
If your House can run Doom... Or Doom runs your house.
Why is there a Soulsphere in my backyard?
as far as i remember John didn't come up with BSP trees.. he was researching stuff and found it and implemented it into doom (i don't think it had been used in a video game before though)
4:53 Yes.
9:45 Wolfenstein 3D
11:35 More like C Compilers exist for most devices. But a lot of the crazy things, like the printer, someone had to write their own C Compiler.
But still... It can't run on a school PC requirements are too high.
I remember Commander Keen. My dad had the games on an old Gateway computer.
Y'know what they say. Doom is eternal.
YES, Carmack is the one and only being here on earth, who enlightened us with entertainment on electronic devices.
He must be worshipped!
Yes someone also "played" doom using rat neurons
About the computer graphics techniques you mentioned, I don't know about all of them but Carmack definitely did not come up with the concept of Binary Space Partitioning all by himself. It was already published and worked on in multiple papers, Carmack simply had the knowledge, skill and talent necessary to implement it in DOOM, which is no small feat, but he wasn't some kind of miraculous God-like genius, he was a real person, and a genius. I think that makes him all the more impressive. Anyone else could implement BSPs into their game, they just didn't know they existed, didn't know they could be applied to create 3D games, etc.
I recently upgraded a first-generation Apple TV with a 128 GB mSATA SSD and installed Mac OS 10.5 Leopard onto it, and installed Doom (Legacy) on it a few days ago.
The first-gen Apple TV cannot log into the iTunes servers as of 2018, and is thus completely useless today unless you hack an alternative operating system onto it. This Apple TV is surprisingly useable and stable as a cut-down Mac (and the SSD undoubtedly helps).
Running Doom was pretty easy - all I needed was Doom Legacy for Leopard - and I'm not the first person to do it, but I'm glad to have installed Doom on yet another improbable appliance.
John, the celestial being that exists in the moral realm by choice, Carmack.