How One Developer Continues To Defy The Impossible

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024

ความคิดเห็น • 339

  • @JoStro_
    @JoStro_ 10 หลายเดือนก่อน +105

    I feel like not covering quake was a missed opportunity, as I feel it cleanly covers the transitionary step from doom to doom 3. with it haveing bsp trees implemented in full 3d with a software renderer, and a later option to use opengl.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +39

      Thanks for the feedback! I wanted to focus on just the one franchise as I knew the video was going to be quite long. I think looking at Quake and/or Rage would make another interesting video

    • @amcadam26
      @amcadam26 10 หลายเดือนก่อน +16

      Agreed. The quake and doom engines are intertwined very closely.

    • @joe_ferreira
      @joe_ferreira 9 หลายเดือนก่อน +4

      Wolfenstein and Rage were also very important to telling the development story.

    • @MatthijsPlatje
      @MatthijsPlatje 9 หลายเดือนก่อน

      I agree, while doom still had 2D sprites, Quake was fully 3D. The transition from doom 1 to doom 3 is huge! I would have shown it from the ID Tech engine perspective. As doom 1 is the first ID engine, Quake was based on ID tech 2, Quake 3 on ID 3 and Doom 3, much later, was based on the ID tech 4 engine. Still, always interesting to hear the background behind this tech!

    • @360Fov
      @360Fov 9 หลายเดือนก่อน

      Learning more about Rage would be amazing. I frequently forget the Rage franchise even exists!@@nathanbaggs

  • @2K8Si
    @2K8Si 10 หลายเดือนก่อน +170

    PCs in the 486 days (When DOOM released) most definitely had 'dedicated' video cards (CGA, EGA, VGA) with different color depths (amount of availble colors) and 2D acceleration... PCs required a video card for ALL output to a monitor... Without one, you could not use the computer... But, they had no 3D capabilities. That all changed when the 3DFX Voodoo add-on cards became popluar. And the start of the GPU race began.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +39

      That's a good distinction, thanks! I was definitely referring to hardware accelerated graphics cards

    • @2K8Si
      @2K8Si 10 หลายเดือนก่อน +7

      @@nathanbaggsOf course! Just wanted to comment in case someone wasn't aware of that specific detail.

    • @Gunth0r
      @Gunth0r 10 หลายเดือนก่อน +4

      OOOOh, thanks for that 3DFX Voodoo nostalgia hit.

    • @garryiglesias4074
      @garryiglesias4074 10 หลายเดือนก่อน +2

      Yup, I almost had an heart attack hearing this :).

    • @GameBacardi
      @GameBacardi 10 หลายเดือนก่อน +1

      I remember half-life game made Voodoo card famous

  • @rokksoliddesign
    @rokksoliddesign 10 หลายเดือนก่อน +61

    That 3.6 kTri lightning bolt mesh really got me. It differs a lot from the poly budget my boss is trying to make me obey 😂

  • @WithJupiterInMind
    @WithJupiterInMind 10 หลายเดือนก่อน +80

    the funny thing is that Quake source ports (fully 3D) require LESS computational power to run these days than modern Doom clone-engines (half 2D pseudo 3D) There was one guy that figured out how to achieve Multi-Threading in Doom software render reducing dramatically the CPU requirements for bigger intensive maps, but he probably realized what a massive cesspool of negativity Zdoom/GZdoom teams are to deal with and he never released it (why should he) So yeah thanks again gzdoom team, thanks a lot

    • @GraveUypo
      @GraveUypo 10 หลายเดือนก่อน +24

      aw, that sucks. i hate when egos get in the way of progress

    • @ERuleAmirul
      @ERuleAmirul 10 หลายเดือนก่อน +2

      That sucks.

    • @JoStro_
      @JoStro_ 10 หลายเดือนก่อน +14

      most modern style source ports, like gzdoom, have support for hardware rendering these days, where it just renders the scene in full 3D with vulkan or opengl. meaning this isn't neccassarily the case.

    • @Phredreeke
      @Phredreeke 10 หลายเดือนก่อน +19

      GZDoom's software renderer is already multithreaded, you can test yourself by forcing it to only run on a single core on Windows task manager. Also, GZDoom devs are very strict about not breaking existing maps, which blocks some potential optimization

    • @hopemetal3440
      @hopemetal3440 10 หลายเดือนก่อน +12

      He's just as bad as the gzdoom team then.

  • @adrianmoisa2281
    @adrianmoisa2281 10 หลายเดือนก่อน +44

    I'm blown away by the amount of information you managed to squeeze in! Awesome work!

  • @MiklosHajma
    @MiklosHajma 10 หลายเดือนก่อน +11

    If you're discussing id Tech, why did you skip Quake 1 and their iteration up to Doom 3? There were huge leaps forward in technology that led to Doom 3.

  • @InCaldera
    @InCaldera 10 หลายเดือนก่อน +36

    This was awesome, especially considering you're able to provide such technical information in such a digestible format. You got a new sub for sure.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +4

      Thanks! I've been trying to focus on explaining low-level details at a high-level, glad that comes across!

  • @tdjtomas
    @tdjtomas 9 หลายเดือนก่อน +2

    Respect for id software creating innovations in gaming technology!

  • @TheFlowersOfNaivety
    @TheFlowersOfNaivety 10 หลายเดือนก่อน +9

    The innovation id Software has continually showcased is why I've been a life long fan since 92.

  • @arlasoft
    @arlasoft 10 หลายเดือนก่อน +15

    You are definitely my favourite development deep-dive / Mark Williams lookalike on TH-cam.

  • @pmcKANE
    @pmcKANE 9 หลายเดือนก่อน +3

    Would just like to recommend the channel @Decino to anyone coming down to the comments with some more interest in the mechanics of Doom. This game has never stopped being interesting to me, the work of id software has been part of my academic career even. Really happy to see it covered like this light by Nathan Baggs here, there's just so much to talk about in terms of programming.

  • @ApocDevTeam
    @ApocDevTeam 10 หลายเดือนก่อน +8

    The original Call of Duty games also have that BSP system sort of, and you had to manually lay out the level portals for culling, which meant you had to design everything around it. I remember when I was younger it was a nightmare understanding that stuff properly. Back then there were no high quality YT videos or well written tutorials. Even for basic stuff like setting up materials for textures you had to write scripts and so on. Today all that stuff is automated or done visually via specialized tools (press a button and it does [thing] for you). So many engine limitations as well, like not being able to have more than four dynamic lights on any surface (as it was using RGB and Alpha channels), annoying memory limitations because 32bit and so on. Today it's just "here's your ray tracing, enjoy thousands of dynamic lights at once!".

    • @Argoon1981
      @Argoon1981 9 หลายเดือนก่อน +1

      That's because Call of Duty 1 literally uses the Quake 3 engine and Call of Duty 2 is made on a heavy modified Quake 3 engine, that Infinite Ward just called "Infinite Ward engine" or IW engine for short.
      Btw even Call of Duty 4 uses the IW engine (a even more updated version) and because of that the editor to make levels for that game, is still based on Radiant and still uses the "brush" system from the Quake 3 engine editor to block out the levels and of course the BSP/portal system.
      About the later COD games, I really don't know because COD 4, was were I stopped caring and playing them...

  • @AynsleyGreen
    @AynsleyGreen 10 หลายเดือนก่อน +10

    The jump from Doom 1 to Doom 3 was a bit jarring, surely Quake and Rage are the missing pieces of the story here? Otherwise, insightful analysis!

    • @Stabby666
      @Stabby666 10 หลายเดือนก่อน

      Indeed, Quake 2 was the first iteration to use 3D GPUs. However the 3D cards at the time had fixed effects, and no shaders, so couldn't produce the kind of scenes in Doom 3. It would be more accutate to say Doom 3 was the first game to use OpenGL with shaders...

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +1

      Thanks for the feedback, I wanted to focus on the one franchise as I knew the video wold be quite long

    • @amcadam26
      @amcadam26 10 หลายเดือนก่อน

      ​@@Stabby666glquake was released in early 1997 to add 3d card support for quake. Quake 2 came out about 10 months later.

    • @Stabby666
      @Stabby666 10 หลายเดือนก่อน

      @@amcadam26 yea, as I said, glquake was an unofficial release (id never officially supported it) which ported the upcoming quake2 engine with OpenGL to the original quake. Quake 2 was the official release.

  • @AROAH
    @AROAH 10 หลายเดือนก่อน +267

    Please don’t use Adobe Enhance in your future videos. It gives voices a bizarre uncanny quality that is rather uncomfortable to listen to. I can assure you that normal noise removal within your video editor of choice would be more than sufficient, if that’s your concern.

    • @microcolonel
      @microcolonel 10 หลายเดือนก่อน +34

      Indeed, dynamic range expansion with a mild gate is plenty.

    • @Michael_Brock
      @Michael_Brock 10 หลายเดือนก่อน +11

      Uncanny valley, wait is this guy an AI? Hey data your non humanity is not fooling us! Lore rather. Go back to star trek!

    • @nordgaren2358
      @nordgaren2358 10 หลายเดือนก่อน +12

      Enhance is only useful if the audio is scuffed. It can fix some issues. But even audacity has a pretty good sample based denoiser.

    • @gork42
      @gork42 10 หลายเดือนก่อน +18

      @AROAH thank you for identifying the product responsible for this; I’ve been hearing it in various places and it’s been driving me crazy for years.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +182

      Thanks for the feedback! The room I record in is tiny with hard floors and despite trying three different mics the audio is always very echoey. I'm not an audio engineer so despite my best attempts with Audacity and Davinci I can never get good sounding audio.
      Adobe Enhance is the only thing I've found that removes the echo which I guess is at the expense of being slightly uncanny.
      Still figuring out TH-cam and content creation, so always looking to improve!

  • @blockboygames5956
    @blockboygames5956 8 หลายเดือนก่อน +1

    A wonderful introduction to the functioning of modern engines. Thank you so much.

  • @Rgoiwnes
    @Rgoiwnes 9 หลายเดือนก่อน +3

    Doubt you'll read this comment, but your worms 2 adventure have given me the inspiration & motivation to look at Rugby 08 again. I never knew about the programs you used in that video and was so thankful of you sharing that I had to make this comment.

    • @nathanbaggs
      @nathanbaggs  9 หลายเดือนก่อน +1

      Good luck!

  • @Stabby666
    @Stabby666 10 หลายเดือนก่อน +9

    You came right out of the gate with a mistake :) Computers DID have graphics cards back in the days of Doom. They had to as the CPUs didn't have onboard graphics. But all the graphics cards for comsumers were 2D only. Quake 2 was the first of Id's games to support 3D graphics accelerators, released before Doom 3. I had a dedicated 3D card in my PC at the time that worked in a pass-through mode from the 2D card.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +4

      Figured I'd start as I mean to go on (:
      Thanks for the clarification

    • @Stabby666
      @Stabby666 10 หลายเดือนก่อน

      @@nathanbaggs I still enjoyed the video, thanks!

    • @jimb12312
      @jimb12312 10 หลายเดือนก่อน

      Quake 1 was the first of their games to support 3D accelerators (GLQuake)

    • @Stabby666
      @Stabby666 10 หลายเดือนก่อน +2

      @@jimb12312 that’s true yeah, they back ported code from Quake 2 to create GLQuake as a test of their new engine. So technically it appeared in Quake first but was really written for Quake 2…

  • @baumstamp5989
    @baumstamp5989 10 หลายเดือนก่อน +4

    i really love this way of explaining. i had to go for 0.75 speed because i am not super familiar with graphics engine internals and still have to think a bit in parallel to listening. but actually i understood everything you explained!

  • @dema1976
    @dema1976 9 หลายเดือนก่อน +3

    Very solid explanation and I like your "normal" pacing. No informational bombardment or edgy cuts. You English people are like natural born educators, thank you!

  • @konstantinrebrov675
    @konstantinrebrov675 10 หลายเดือนก่อน +7

    Doom is one of the iconic science fiction video games of all time!

  • @NinjaRunningWild
    @NinjaRunningWild 10 หลายเดือนก่อน +8

    1:12 35 times a second*
    2:10 You're talking about the reject table. BSP trees deal in 2D walls (in Doom's case) - IE - Walls/Line segments (linedefs in Doom parlance).

    • @kellymountain
      @kellymountain 10 หลายเดือนก่อน

      doom 64 also uses a hardware renderer with true color instead of a 256color palette. doom on PSX might be hardware accelerated but it's more likely a software renderer, saturn has software rendering too

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +6

      There's always a few errata in videos like this, so thanks for the corrections! The joy of TH-cam is that I can't amend them, so this video will now stand as a monument to my mistakes (:

    • @seritools
      @seritools 10 หลายเดือนก่อน +1

      1:00 24 Mb 8 Mb 12Mhz -> 24 MB 8 MB 12 MHz
      Edit: Same in the Doom 3 requirements. Lowercase b is for bits, not bytes.
      If you wanna go even more 🤓, it should probably be MiB for all the size values

    • @jc_dogen
      @jc_dogen 9 หลายเดือนก่อน

      @@kellymountain ps1 version is harwdare accelerated but it renders somewhat like the pc version, with single pixel wide triangles for walls (they might use the quads, not sure) which means they avoid texture warping. interestingly, it was discovered recently that the saturn version is also hardware accelerated, iirc it overuses whatever kinda quad clipping commands the saturn vpd has and ends up being pretty janky and inefficient.

  • @No-uc6fg
    @No-uc6fg 6 หลายเดือนก่อน +1

    The doom 3 section reminded me of that VERY COOL error that one guy had that made all textures fail, but all other steps (like light and whatnot) work properly, so it was an no texture game. I've wanted to play that errored Doom (2016) but no dice.

  • @marcelpursche5339
    @marcelpursche5339 10 หลายเดือนก่อน +2

    It is interesting how rendering engines need to completely change over time with changes to the hardware. The depth pre-pass in 7:07 was present in a lot of rendering engines for a long time. But now it actually hurts performance on mobile graphics hardware because they use a tile-based architecture(it doesn't render the scene in one go but in multiple square segments). It's very slow to read the result of a previous render pass so it is prefable to do "some" unecessary compution. If you have an engine that runs on both desktop and mobile you would need to enable/disable this pass depending on the hardware your game is running on.

  • @Luna-qf2zc
    @Luna-qf2zc 10 หลายเดือนก่อน +34

    They're called fragment shaders in Vulkan (and OpenGL). "Pixel shaders" is a distinctly DirectX terminology.

    • @ethanwasme4307
      @ethanwasme4307 10 หลายเดือนก่อน

      are engines using one shader api or another? is there any difficulty writing shaders compatible for both languages?

    • @Luna-qf2zc
      @Luna-qf2zc 10 หลายเดือนก่อน +3

      @@ethanwasme4307 Game Engines (Unreal, Unity) typically use an intermediate DSL (domain specific language) which could take form of a shader language or a blueprint/graph for writing their shaders, which is then compiled automatically into GLSL or HLSL or what have you, depending on your export settings, target platform and target graphics API.

    • @ethanwasme4307
      @ethanwasme4307 10 หลายเดือนก่อน

      Thanks! hope life treats you well :) @@Luna-qf2zc

    • @ssokolow
      @ssokolow 10 หลายเดือนก่อน +1

      If I remember correctly, that's because some anti-aliasing techniques involve more than one fragment per displayed pixel and "pixel shader" makes it too likely someone's intuition will assume the shader only gets run once per pixel.

    • @theultimateevil3430
      @theultimateevil3430 10 หลายเดือนก่อน

      Same thing & used interchangeably

  • @mikaelbiilmann6826
    @mikaelbiilmann6826 9 หลายเดือนก่อน +1

    I bought a 484 66MHz pc with 8 MB (I think) and a 20 MB HDD back in 1995, and got Doom1 a little later and played that and Doom 2 for around 2 years straight. Good times.

  • @KyoukiDotExe
    @KyoukiDotExe 8 หลายเดือนก่อน +1

    Awesome video showcase, would love to see more in-depth information into Vulkan as I truly believe this is the future Graphics API considering it is a lot smoother/stable and crossplatform!

  • @ggoncalves80
    @ggoncalves80 9 หลายเดือนก่อน +1

    I clearly remember the day I saw DOOM running and was amazed by the graphics

  • @AlexeyFilippenkoPlummet
    @AlexeyFilippenkoPlummet 8 หลายเดือนก่อน

    I like how Nathan's voice goes into Darth Vader mode every now and then

  • @pfk2005
    @pfk2005 9 หลายเดือนก่อน +2

    This is so nerdy I love it as an amateur game developer. Please do the Halo series next, if possible.

  • @ivocyrillo
    @ivocyrillo 9 หลายเดือนก่อน +1

    What a beautiful research you have done here. Thank you.

  • @AceStrife
    @AceStrife 10 หลายเดือนก่อน +3

    All hail benevolent hyper-intelligent architect of the post-singularity simulation we all live in, John Carmack.

  • @LukeAvedon
    @LukeAvedon 10 หลายเดือนก่อน +18

    What must it be like to be so brilliant and create something so creative and so iconic? It must be wonderful.

    • @jacksonlevine9236
      @jacksonlevine9236 10 หลายเดือนก่อน +7

      It's probably 1000x less wonderful than you imagine, because it requires constantly solving hard problems and never resting on your laurels, not just doing something for a little bit before kicking back and enjoying your "brilliance" and "mystique" with a cup of tea. I would be willing to bet John Carmack never does this, so the "wonderful" reality you imagine is probably actually just a lot of hard work and very few breaks and none of the self-fart-smelling a lot of people assume everyone does.

    • @jacksonlevine9236
      @jacksonlevine9236 10 หลายเดือนก่อน +3

      Seriously though, if you aspire to do stuff like this I would advise you just admire the resourcefulness and determination of these people/teams, and not just think "Oh how wonderful it must be! They are so lucky!".
      If someone builds the Great Wall Of China by hand, would you say "Oh you're so lucky! How wonderful your life must be to make that grand creation!" to a man with bloody blistered hands

    • @jacksonlevine9236
      @jacksonlevine9236 10 หลายเดือนก่อน +3

      Also I'm not trying to be a c**t or flex on you or anything, I just see this sentiment a lot and think it's a huge misunderstanding of how impressive things are made.

    • @braddeicide
      @braddeicide 10 หลายเดือนก่อน

      Also nice to buy a Ferrari with the proceeds

    • @NinjaRunningWild
      @NinjaRunningWild 10 หลายเดือนก่อน

      @@jacksonlevine9236 John Carmack worked 12 hours a day, 7 days a week. There's no magic to busting your ass to make something happen. People think because games are fun that everything is puppy dogs & ice cream. Results come from total focus & hard work. In short, fully concurred.

  • @unacomn
    @unacomn 10 หลายเดือนก่อน +8

    Fantastic breakdown of how the engines worked.
    Any chance of being able to do something similar with Ultima Underworld?

  • @jaycal1920
    @jaycal1920 9 หลายเดือนก่อน +1

    Hey Nathan, this is the second vid I watched of yours and I'm not even half way through, subscribed, you offer a very detailed and easy to follow explanation of things, you need to start a patreon, I have paid good money to go to a course to learn some similar stuff in 2006 with multimedia and Maya etc.
    Here you are giving it away for free and your stuff is highly advanced. it is deep back end stuff. really helpful and useful.
    I have an interest in this stuff but lately not very motivated. on your own there is no match for competing with teams who are established. I am sure you could offer some established developers a lot of great advice. I would certainly hire you to refine some processes if I had an established company in the field.

  • @worldz_of_visions
    @worldz_of_visions 9 หลายเดือนก่อน +2

    The depth masks look like those you can produce in consumer level graphics programs such as Bryce or Vue, which give you great control over post processing of the color render in your photo editor.

  • @landspide
    @landspide 9 หลายเดือนก่อน +1

    love my lightning bolts being >3k triangles, makes all the difference.

  • @Disthron
    @Disthron 10 หลายเดือนก่อน +1

    Umm... computers in the early 90's absolutely DID have dedicated graphics cards! They just didn't have 3D accelerators in them. That was the time of VGA and SVGA. Doom is a software renderer but it still needs a graphics card.

    • @gnurou
      @gnurou 10 หลายเดือนก่อน

      Came here to say the same thing, that claim made me jump. Integrated graphics didn't even exist at the time, so a graphics card was a basic necessity. Most did not accelerate anything, although the most expensive ones could do hardware blitting or color filling, but that was not used in games due to the lack of a unified API - VGA was the lowest common denominator with a reasonable resolution and color depth.
      Accelerated 3D graphics was unknown in the consumer space, by the time Doom was released it was the privilege of the professional market, for dozens of thousands of dollars. And these powerful workstations could not run Doom.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      I mentioned this in another comment, I definitely meant 3D accelerated. Thanks for the clarification!

    • @rockapartie
      @rockapartie 10 หลายเดือนก่อน

      @@gnurou It wasn't a necessity, onboard graphics existed.

    • @gnurou
      @gnurou 10 หลายเดือนก่อน

      @@rockapartie can you share any example of a motherboard from 1992 with integrated graphics? I haven't met any.

  • @diegofloor
    @diegofloor 9 หลายเดือนก่อน

    0:09 That derpy face you make always makes me smile.

  • @Polyglotpatrick
    @Polyglotpatrick 10 หลายเดือนก่อน +1

    Very interesting and structured approach to explaining this, good job!

  • @SolSeal
    @SolSeal 9 หลายเดือนก่อน

    The “look up” thing was very entertaining 😊

  • @jesusisunstoppable4438
    @jesusisunstoppable4438 9 หลายเดือนก่อน +2

    John Carmack
    My Hero.

  • @carmatic
    @carmatic 8 หลายเดือนก่อน

    18:04 the one thing that has remained consistent in all the different Doom engines, is the pursuit of efficiency and optimization

  • @Tsinij
    @Tsinij 10 หลายเดือนก่อน +1

    Awesome video. Surprised you didn't delve into the Quake series since it bridges the gap between DOOM and DOOM 3.

  • @SCALENE5
    @SCALENE5 9 หลายเดือนก่อน

    Thank you for your research and the making of this video

  • @ziomalZparafii
    @ziomalZparafii 9 หลายเดือนก่อน +3

    0:58 you say about "24 mega bytes [MB]" yet on the screen is "24 mega bits [Mb]" so 8 times less. Also, MHz, not Mhz :)

  • @j.p.ijsblok5304
    @j.p.ijsblok5304 10 หลายเดือนก่อน +3

    If I remember correctly, 4 MB RAM an 12 Mhz is about sufficient to start the game, that's it. It would run less then smoothly to say the least.
    When I started playing it I had a 486/66 with 8MB, and it ran as shown in the video.

    • @bradallen8909
      @bradallen8909 10 หลายเดือนก่อน

      There's not really a such thing as a minimum MHz required to start a game. It did require a 386, though.

    • @memitim171
      @memitim171 9 หลายเดือนก่อน

      Yes not much has changed over the years on this front, min requirements are still generally way under playable or just plain wrong. You needed a DX80 to play Doom properly, it was ok on the 66 but you had to make the screen a bit smaller to get decent frames and it chugged a lot on maps like barrels o' fun.

    • @memitim171
      @memitim171 9 หลายเดือนก่อน

      @@bradallen8909 He means it's enough to get into the menu and hit start game, after that you can forget it on a 12Mhz unless you fancy playing it as if you're playing through a keyhole... 🤣

  • @jacks.voyage
    @jacks.voyage 10 หลายเดือนก่อน +1

    The massive textures was a Id Tech special that got introduced in Rage with id tech 5!

  • @Arturiens
    @Arturiens 10 หลายเดือนก่อน +1

    PC have always had graphics cards, integrated graphics is more of a modern thing than a retro thing. It was graphics cards with 3d Acceleration wasn't a thing when doom came out. It was probably doom and other games like it that created a need and demand for such a product.

  • @svettis
    @svettis 10 หลายเดือนก่อน +1

    Mb is Megabit, MB is Megabyte. Annoyed me more than it should. Great vid though.

  • @illyay1337
    @illyay1337 10 หลายเดือนก่อน +1

    It’s crazy how inefficient that multi pass forward shading is in doom 3 unless they actually optimize it to combine multiple lights into one draw call. You could draw an object once and send some hardcoded max amount of lights per draw call instead, which is usually 4. So if an object is hit by multiple lights, you do own draw call instead of multiple draw calls for each light.
    Heh another random tidbit. The zbuffer isn’t compressed down to only red. A single channel image is typically displayed as red because it’s interpreted as RGB but you’re missing the GB portion so you only have red information. Shades of gray are technically the presence of all channels, RGB with the same value. It might have compressed a 32 but or 16 but zbuffer down to 8 bits so it could fit into one channel of a gbuffer, but depth is actually one of the things you want to avoid compressing and keep at as high a precision as possible, or you get issues like z fighting and other ugly artifacts. You might also use the zbuffer to figure out world positions per pixel when doing deferred shading or other things and if it’s too inaccurate, the positions aren’t derived as accurately.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      The depth buffer is downscaled to a VK_FORMAT_R16_SFLOAT target, so as fas as I can tell that is a single channel image

  • @Schyz
    @Schyz 9 หลายเดือนก่อน

    00:35 In 1993 computers had dedicated graphics cards. That was the only kind of graphics card back then. What computers didn't have was a 3D accelerator or GPU.

  • @damouze
    @damouze 6 หลายเดือนก่อน

    I remember when Doom first came out. Many a game session with friends ended up with playing either Doom or Dune 2.
    And the same conclusion applied to me: I was terrible at all FPS games.

  • @PeterPetermann
    @PeterPetermann 9 หลายเดือนก่อน +1

    lol,of course there was dedicated graphics card. What wasn’t a thing yet was consumer 3D accelerators, which nowadays are integrated into graphics cards

    • @nathanbaggs
      @nathanbaggs  9 หลายเดือนก่อน

      Yeah I addressed this in another comment, my mistake (:

  • @dulanjala
    @dulanjala 9 หลายเดือนก่อน

    this is very clear even though it's full of information, very good video...

  • @Daniel__Nobre
    @Daniel__Nobre 10 หลายเดือนก่อน +1

    Amazing video! Thank you for sharing your knowledge 🙌

  • @mvmnt.
    @mvmnt. 9 หลายเดือนก่อน +1

    In a sense, the blueprint for DOOM could be the blueprint for GenAI game rendering.

  • @bjornoid527
    @bjornoid527 9 หลายเดือนก่อน +1

    I love when you showed each separate draw call for a single frame in render doc, it’s so sick

  • @jess648
    @jess648 5 หลายเดือนก่อน

    Doom walked so Quake could run, it used tons of crazy optimizations and rendering tricks

  • @IncapableLP
    @IncapableLP 9 หลายเดือนก่อน

    What one can point out is, that Doom: Eternal doesn’t do that much work 60 times per second.
    It does it waaay past 100, sometimes even 200 times per second!
    This engine is crazy efficient and manages to push insane framerates, for the graphic fidelity.
    The fact, that it does all this work and still manages to pump out high FPS on older GPUs, is really impressive.

  • @Disthron
    @Disthron 10 หลายเดือนก่อน +1

    Overall, this was pretty interesting. The Doom engines have been pretty ground breaking on a technology level.

  • @steubens7
    @steubens7 10 หลายเดือนก่อน +1

    apitrace can trim to a set of frames (though there's now a new command called gltrim that makes it easier)

  • @davidstarkstargater1243
    @davidstarkstargater1243 10 หลายเดือนก่อน

    Amazing to think that these calculations are even possible in such a short space of time, now emagine that some of calculations are doubled when in a VR as well as having all of the spacial awareness calculations for 6dof as well and in 120hz meaning each render takes half the time to process and render than in 60fps. It's truly mind-blowing and this isn't even a heavy game

    • @davidstarkstargater1243
      @davidstarkstargater1243 10 หลายเดือนก่อน

      I've played the doom port in vr and it's done exceptionally well

  • @adbirdk
    @adbirdk 10 หลายเดือนก่อน

    Very interesting stuff. Thanks for doing the video.
    There's something funky going on with the recordings of your voice. It sounds glitchy and sped up at times.

  • @TheHanutaXD
    @TheHanutaXD 9 หลายเดือนก่อน

    Amazing Video with great detail

  • @chucktrier
    @chucktrier 10 หลายเดือนก่อน

    AO let’s go, now the song makes sense!

  • @ElZafro_
    @ElZafro_ 10 หลายเดือนก่อน

    Such an impressive dive-in considering the amount of information together with the ease of explanations, great video!

  • @deenaxic9134
    @deenaxic9134 9 หลายเดือนก่อน +2

    Your tiel mentions a developer, but you fail to mention much about him. Kinda misleading.

  • @pessimisticnihilist7338
    @pessimisticnihilist7338 10 หลายเดือนก่อน +1

    Do you know if the changes, features and discoveries made during the writing of one of those engines are carried over the following iteration of the engine ?
    Let's pick Rage for instance, does its engine contains the code for Doom 3's per pixel lightmapping system or makes use of it ?

    • @JanbluTheDerg
      @JanbluTheDerg 10 หลายเดือนก่อน

      Probably, I imagine that the engine developers use elements from the previous engine as a starting base even if they're "rewriting" the engine. My headcanon is that there's some Quake code still present in modern IdTech, Source 2 and other engines originally based on the Quake engine.

  • @Proviper666
    @Proviper666 10 หลายเดือนก่อน +1

    13:50 into the video, and I have maybe stupid question. Is the computer (cpu, gpu ...) doing this every frame of the game?
    When these calculations are being made? Less FPS fewer calculations, more frames per sec more calculations?

    • @ryuk5709
      @ryuk5709 10 หลายเดือนก่อน

      yup

  • @larsb4572
    @larsb4572 9 หลายเดือนก่อน

    Did you mix up dedicated graphics card and GPUs? Even my 286 had a deficated oak graphics card. We didnt have APUs back then. Maybe you mean something specific that im not understanding, can you clarify?
    Thanks for the video!

    • @nathanbaggs
      @nathanbaggs  9 หลายเดือนก่อน

      Yes I meant GPUs! A few people have picked up on that in the comments (:

  • @RoySamuel
    @RoySamuel 9 หลายเดือนก่อน

    wow...awesome research & video. thanks.

  • @imacmill
    @imacmill 10 หลายเดือนก่อน +5

    Praise be to John Carmack and Michael Abrash, two absolute coding gods.

  • @spooky4109
    @spooky4109 10 หลายเดือนก่อน

    Great video! What monitor/s are you using?

  • @lewa_j
    @lewa_j 6 หลายเดือนก่อน

    4:28 they are all OpenGL backends just with different vendor extensions.

  • @wulfyj7516
    @wulfyj7516 9 หลายเดือนก่อน

    The dayz of softram and mitigations, miss those dayz

  • @user-og6hl6lv7p
    @user-og6hl6lv7p 10 หลายเดือนก่อน +1

    Why no quake exploration? 😭😭

  • @urazoktay7940
    @urazoktay7940 9 หลายเดือนก่อน

    Amazing video, i enjoyed throughly, thank you.

  • @SnakeEngine
    @SnakeEngine 7 หลายเดือนก่อน

    The main disappointment in Doom3 rendering techniques is the flash light. It's essentially a 2D sprite blended on a 3D-scence in screen space. That is common for 2D-ligthing but embarrasing for a 3D game that has a focus on lighting.

  • @MaviLeb
    @MaviLeb 10 หลายเดือนก่อน +1

    Quake was before Doom 3. You could look up in both Quake 1 and 2 already.

  • @guccifer2
    @guccifer2 10 หลายเดือนก่อน

    Brilliant work, subscribed

  • @mitch075fr
    @mitch075fr 10 หลายเดือนก่อน +1

    Base requirements are wrong - Doom required a 386 at 33 MHz. It could run on slower hardware (but it had to be 32-bit) with strongly degraded graphics.

  • @llamallama1509
    @llamallama1509 9 หลายเดือนก่อน

    Why would inverting the colour of the depth buffer allow greater accuracy?

  • @cameron1376
    @cameron1376 10 หลายเดือนก่อน +1

    True nostalgia! :)

  • @bobsoft
    @bobsoft 9 หลายเดือนก่อน

    I remembering buying a Monster 3D graphics card so I could play GLQuake.

  • @tnowak
    @tnowak 9 หลายเดือนก่อน

    Sir... Computers (back then) had dedicated graphics cards. Most of us were using Trident, S3 or Cirrus chipsets with Vesa drivers.😮

  • @Marc42
    @Marc42 10 หลายเดือนก่อน

    Amazing video, thank you! 👍

  • @Dr.looksmaxxer
    @Dr.looksmaxxer 10 หลายเดือนก่อน +1

    Blud want us to think he is the genius almighty mastermind and master of invention ahead of his time and the alien in human frame john carmack

  • @saultube44
    @saultube44 7 หลายเดือนก่อน

    Can you make a video showing the differences between OpenGL, Vulkan and DirectX? Specially DirectX 12 Ultimate, that would be the greatest most powerful of all?

  • @JaapioNL
    @JaapioNL 10 หลายเดือนก่อน +1

    I wonder how the destructible demons tech works. If it is done with tessellation shaders like in Nvidia’s triangles vs aliens demo.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +2

      There's some details from the developers here advances.realtimerendering.com/s2020/RenderingDoomEternal.pdf (starting at slide 54)

  • @darthdan
    @darthdan 9 หลายเดือนก่อน

    Great video, definitely feels like talking Doom engine technology while skipping the entire Quake franchise that happened in the middle, skips a lot of development that is tied to ID Tech engines that happened between 1990s doom and Doom 3 (Quake 1 to 3 were released during that time frame and are massive upgrades to original doom visually, too much time passed between original doom games and doom 3). Perhaps it would make the video too long for the purpose of it but there's so many massive changes that occurred during that time.

  • @leathernluv
    @leathernluv 10 หลายเดือนก่อน

    Keep in mind also that there is an OG Xbox version of D3... PIII, 733mHz, 64MB ram.

    • @scpredmage
      @scpredmage 10 หลายเดือนก่อน

      Modern Vintage Gamer did an excellent video on the Xbox port of Doom 3 and the amazing work that went into it.

  • @BMANZZS
    @BMANZZS 8 หลายเดือนก่อน

    doom 3 was revolutionary. graphics were mind blowing

    • @SnakeEngine
      @SnakeEngine 7 หลายเดือนก่อน

      Half Life 2 was actually more impressive. The main disappointment in Doom3 rendering techniques is the flash light. It's essentially a 2D sprite blended on a 3D-scence in screen space. That is common for 2D-ligthing but embarrasing for a 3D game that has a focus on lighting.

  • @SHUTDOORproduction
    @SHUTDOORproduction 8 หลายเดือนก่อน +1

    Audio is rough, out of sync or something super weird

    • @SomeRandomPiggo
      @SomeRandomPiggo 3 หลายเดือนก่อน

      I think it's some sort of noise cancellation, very distracting

  • @AbAb-th5qe
    @AbAb-th5qe 9 หลายเดือนก่อน

    Actually, Doom runs at 35 fps, not 30fps. Monitors when the game came out were 70fps and frames were shown twice. The engine was built around that.

  • @Izzy88izzy
    @Izzy88izzy 10 หลายเดือนก่อน

    Instant sub, this analysis was brilliant

  • @sabiirust6348
    @sabiirust6348 10 หลายเดือนก่อน

    so basically doom 3 is a quake with cooler lights

  • @paulromanchenko
    @paulromanchenko 10 หลายเดือนก่อน

    AFAIK, Dooms after Doom 3 were made by different team.

  • @mostrealtutu
    @mostrealtutu 10 หลายเดือนก่อน +1

    I am confused. The title and your first sentence make no sense. and then you just go through render captures? so what is this video actually about lol

  • @nonsuch
    @nonsuch 9 หลายเดือนก่อน

    You should have at least briefly talked about QUAKE I, II, & III before Doom III being it's the same developer, same genre, preceded DOOM III, required graphics cards, ability to look 360 degrees in games, etc. I really only have an issue because of the title. You should have named the video "DOOM - How One Developer Defied The Impossible".

  • @lguilh
    @lguilh 10 หลายเดือนก่อน

    computers did have dedicated graphics cards, those graphics card did not have computational capabilities, just rasterization.