Doom engine - Limited but still 3D

Sdílet
Vložit
  • čas přidán 3. 05. 2024
  • Visualized overview of Classic Doom 3D engine limitations. Contains mild amounts of humor.
    Fabien Sanglard's article about Doom engine:
    fabiensanglard.net/doomIphone...
    Timestamps:
    00:00 - Intro
    00:23 - No rooms above rooms
    01:37 - "No Z-axis"
    03:52 - Fixed camera angle
    05:59 - Conclusion
    Soundtrack used in the video (in order of appearance):
    "Citadel of Might" by James Paddock
    "Running from Evil" by Robert Prince
    "Prototype" by James Paddock / Stuart Rynn
    "Adrenaline in the Blood" by James Paddock
    "Sweet Little Dead Bunny" by Robert Prince
    "Fallen Sun" by James Paddock
    #Doom #3D #Limitations
  • Hry

Komentáře • 1,4K

  • @vahnayasaki6989
    @vahnayasaki6989 Před 3 lety +1624

    That rocket with revenant legs is going to haunt me in my sleep

    • @ivanweissbein5253
      @ivanweissbein5253 Před 3 lety +60

      Really funny to see those stray legs with a potential explosion on top

    • @DinnerForkTongue
      @DinnerForkTongue Před 3 lety +40

      Especially now that he has released it for public use.

    • @ryoandr
      @ryoandr Před 3 lety +15

      @@DinnerForkTongue I am both excited and terrified.

    • @artemiswillow5479
      @artemiswillow5479 Před 3 lety +13

      Rocket legs be like:

    • @dexter1981
      @dexter1981 Před 2 lety +12

      @@DinnerForkTongue its a new Doomguy skin for speedrunners?

  • @Jay-ln1co
    @Jay-ln1co Před 3 lety +541

    "Does the Doomguy have severe neck pains?"
    Yes, demons and hell are a major pain in the neck.

    • @SmallSpoonBrigade
      @SmallSpoonBrigade Před 2 lety +23

      If we really need a reason, his helmet probably doesn't allow for much movement of his neck, otherwise his neck would be at risk when he gets hit. Most of the other joints in the suit are only in one direction.

  • @holden6104
    @holden6104 Před 2 lety +652

    I remember the fact that Quake could have rooms on top of rooms was a massive tech breakthrough at the time.

    • @Dan-yk6sy
      @Dan-yk6sy Před rokem +51

      That and the build engine, (duke3d)

    • @Saktoth
      @Saktoth Před rokem +63

      @@Dan-yk6sy duke used warp zones to do that, like portal.

    • @quantumuniversetvinc.6117
      @quantumuniversetvinc.6117 Před rokem +22

      @@Saktoth I need to watch some videos like this on how they built levels for Duke3D. If they used warp zones I'm wondering how they achieved levels like L.A. Rumble when they have aliens shooting you from the windows which you can jump into and is a floor above a block, so I suppose that isn't technically a floor above a floor, but a carved box and actually is just another height

    • @jameson32
      @jameson32 Před rokem +2

      @@quantumuniversetvinc.6117 Precisely.

    • @Cythil
      @Cythil Před rokem +6

      Yes. Warpzones, or Portals as they are more commonly referred today, are pretty neat. Since you can do tricky like that with a rather limited engine. Though you can see this being a limitation sometimes in the build engine if you look through several intersecting portal view since it will not render them all. So you have to be careful about the layout of a level.
      Portals are still used today in many game engines, even when you can make a true 3D space. They're useful, and have implemented in some Doom derived engines too. If in to map making, then I really recommend playing around with them, just for fun. Since you can do a lot of neat tricks with them. But I bet any experienced mapmaker knows this already.

  • @luigimaster111
    @luigimaster111 Před 3 lety +915

    If you wanna really pull hairs, you could easily argue that modern 3D raster graphics aren't technically 3d either, it all comes down to 2d triangles that are being warped via equations to appear to exist in the 3rd dimension. This becomes fairly obvious on the original PlayStation, as the lack of a Z-Buffer meant that one triangle could only block other another triangle from view if it came up later in the draw order.

    • @informativt
      @informativt Před 3 lety +80

      Around the time doom came out and until uniform 3d was widespread one could absolutely say doom wasn't 3d. When doom came out there had been many many years of flatshaded 3d games, but texturing and 3d transforms were both expensive. So, when doom came out many didn't realize it was a cheating all the way down. The debate now seems a bit like misunderstanding what the debate then actually was about.

    • @MiklosHajma
      @MiklosHajma Před 2 lety +41

      @@informativt Yup, in that sense Elite was true 3D even on a C64. We called Doom 2.5D back then, but not because we weren't in awe, it was because we recognised the tricks (to be fair, Wolfenstein, Doom, Duke Nukem 3D, all those games had the same rendering techniques because it was quick). It was a step to the direction of real 3D.

    • @torbjornkallstrom2316
      @torbjornkallstrom2316 Před 2 lety +55

      Yeah, anything projected on a computer screen is just pretending to be 3D. The only difference is how sofisticated the process of faking it is.

    • @informativt
      @informativt Před 2 lety +14

      @@MiklosHajma So "under a killing moon" is the first fully 3d textured pc game I can identify. However I am not surprised if even that game has a hybrid renderer, even though I am quite sure it handles arbitrary camera transformations.
      (edit: and it would be funny. The origin of 3d would no longer be Austin, but... Somewhere in Utah)

    • @cesarkopp2
      @cesarkopp2 Před 2 lety +19

      It's a different point of view. You can choose different criteria to define 3D. For example... A 3D game is any game made with an engine who works/process x,y,z axis. Doom works with x,y only - to build the world. That's why we have a 2D map editor only. So Doom is not 3D. Games like Shovel Knight SEEMS 2D, but if you look into how it was made, you'll se is clearly a 3D game (but with 2D sprites, no triangles calculated etc). But if we talk about gameplay and impressions, Doom is clearly 3D.

  • @TheCarPassionChannel
    @TheCarPassionChannel Před 3 lety +711

    Came from the uncle decino recommendation, stayed for the A+ quality and information

    • @DebugOctopus
      @DebugOctopus Před 3 lety +17

      Decino is a legend. He helps smaller channels all the time

    • @JaapioNL
      @JaapioNL Před 3 lety +2

      +1

    • @stefansv
      @stefansv Před 2 lety +2

      My thoughts exactly!

    • @IngoPagels
      @IngoPagels Před 2 lety +2

      uff. i thought THIS is the voice of decino ? With a new channel or something? 0.0

    • @gram.
      @gram. Před 2 lety

      Came for ya mum and stayed for dinner

  • @enquea
    @enquea Před 3 lety +860

    Can we just safely assume this simple fact : Carmack is some godlike being ascended from the depths of hell to give us this timeless masterpiece of game.

    • @liamaldrich2476
      @liamaldrich2476 Před 3 lety +84

      Clearly you watch civvie lol

    • @Phobos001_youtube
      @Phobos001_youtube Před 3 lety +55

      Both John Carmack and John Romero were key components to this fantastic game. The whole iD team made this possible, but those two made a really good team :)

    • @Meton12765
      @Meton12765 Před 3 lety +30

      No. He is a man who simply could envision how to take the PC beyond it's conventionally accepted limitations and make it do 3D CAD/CAM Workstation level stuff as a game and push the graphics spec beyond design parameters by using the same methods the lower-end PC-based CAD/CAM machines nipping at coat tails of UNIX RISC boxen, were already doing, by developing a game engine that rendered an acceptable approximation in real-time, by devising of a way of using only the functions that were necessary to fool a player. All the while, codifying this engine into a cross-platform application from the ground-up, investing in a NeXT workstation and using it's genuinely visionary level of built-in platform supremacy (NeXTstep 3.3 and (OpenStep) 4.2 run on M68K black hw, the Intel 486 and 586, HP PARISC 32bit and SUN SPARC sun4m systems with "fat binaries" or universal binaries like on NeXTstep 5.x Aka MacOSX and PPC32/PPC64/IA32/AMD64 being built into one executable, with only the platform specific optimizations being molded in and read on the fly) with ANSI-C and a low-key DOS port of the GNU toolchain being what was used to make release versions. Slating the thing to run on pretty much anything with ease. As the original engine has very little in terms of x86 assembler specific optimization. FPU stuff, being standardized thanks to IEEE754, quite universally.
      And all this, because at first he made a side-scrolling engine doing what was considered "impossible" with IBM PC and CGA/VGA and ported the Nintendo killer-app "Super Mario Bros 3" for the system and being told to fuck off by Nintendo, and that, they don't want their vendor lock-in to HW being broken.
      And essentially fueling a fire with in him to forge an entire gaming industry that would be PC native forever, knock console HW manufacturers off their HW gadgety perches and make it the gold standard of GPU through output. Doing this, by maximizing the inherent HW advantages there in, with this, culminating in him telling the entire 3D accelorator and professional CAD/CAM Framebuffer manufacturers to go do nasty things to themselves, unless they make a consurmer priced version of a chip that runs the entire OGL 1.x specification with _all_ of the features fully functional with universal API calls.
      Yes. Even the ones considered too experimental even for Arcade machines, with MIPS RISC / SGI IRIX based industry being content to just use 3Dfx Glide to do it at the time. :D www.system16.com/hardware.php?id=619
      Now, as he has said himself, he wasn't the only one pushing the envelope and making the platform do things conventional software engineering fuddyduddies didn't even attempt, because they simply told themselves that it wasn't good enough, nor could ever be, good enough.
      The Unreal Engine was released into internal testing and development use in 1995. And; well. For reference the point to which you can push that engine in V1.x and it's variant's is literally Duke Nukem Forever.
      Note, Duke Nukem 3D was released in 1996. So, UE team was doing real 3D when the DUKE3D game devs were just getting to grips with 2.5D slight-of-hand tricks the Buld engine could do, such as, teleporting the user to another place in the game map and rendering this teleport seamlessly so as to create an illusion of objects and rooms stacking on top of each other. And the Quake engine was still equally heavily work in progress. With, not nearly as forward looking a technical approach at it's center.
      Which is kick off 2010's poly counts in geometric complexity and modern API rendering. The game play is awful and horrid yank in dynamic features such as basic controls and player movement, because it's literally the part most difficult aspect of that engine to make fluid. :D And, this is the part they never really got to with the game since they were perpetually bolting on new stuff to the 1995-vintage engine to compete with it, with stuff that was literally relased into production less than a year ago and written from scratch :D
      Yeah. No. He is the personification of this development, since his engines were first to market.
      But to be frank, and as he has himself said; the shit the people developing UE were doing in 1995 was way beyond what iD tech 2 was trying to do.
      It is, after all. A DOS game. And was bolted onto the OGL API as an _after_ _thought_ with Carmack smelling a rat and becoming frustrated with vendor-lockin bullshit of 3D accel makers and their proprietary APIs and piss-poor cost-reduced way of doing, essentially what OGL does, and this interfering with his grand vision of a... DOS game. That runs on a CAD/CAM 3D API. :D
      When UE was multiplatform, multirenderer and on the Win32 etc. by design. In 1995. FFX.
      He is a visionary. But Civvie-11 and the industry markedroids who got a shit sandwich fed to them at the time, give him way too much credit. When, as he himself acknowledges (and elaborates in his. .plan files at lenght already during the Wolf3D -> Doom-engine dev cycle) that, there is a small school of 3D engine nerds already on it, who want to make their homebrew PCs dance like the 100k USD+ UNIX RISC Workstations that they use at their jobs at the Univ. :D
      Just so, they can prove a point to the entire military-industrial complex and Computer Generated Imagery Academia, that you don't need a SR-71 Blackbird to fly at Mach 3.2.
      A MIG-25 with it's engine turned to full War Emergency Power, making it a single-use Ramjet will suffice. And if you just make the damn thing do the Ramjet functionality at minimum induced wear and use the material engineering and tolerances at your disposal appropriately, it can match SkunkWorks over-engineering in endurance, eventually.
      And then just crank 'em out by the millions and you don't need 33% of US GDP, Kelly Thompson and his highly specialized teams of engineers, physicists AND machinists at ridiculous cost-overruns to break limits of traditional engineering.
      It's what Koeniggseg does to the Bugatti Veyron/Chiron. While the VAG over-engineering behemoth and personal legacy of Ferdinand Piech makes about 5-7 million net loss per unit.
      Koenigsegg is around 1,5 million on the green. With a unit price of around 2.5mil. From a small shop in the middle of a decomissioned air force base of a small Nordic country, Sweden. Conveniently near high-arctic conditions, so as to have quick access to proper endurance testing environment for only the cost of fuel to cross the arctic circle.
      And, the irony is what Von Koeniggseg is doing is literally what Bugatti was doing during his life-time. So, it's like a proverbial flip of the bird to the entire ridiculous paragon of German over-engineering, that, you know... Lost them every conflict they got involved in as a nation state. :D

    • @liamaldrich2476
      @liamaldrich2476 Před 3 lety +41

      @@Meton12765 you really just wrote a tome to disagree with a youtube comment huh lmao

    • @Meton12765
      @Meton12765 Před 3 lety +30

      @@Phobos001_youtube Well. To be frank. Carmack isn't a game developer. He is a demo-scene wizard that just decided that people will pay millions to use his technical supremacy for anything.
      Romero is the _game_ developer in that combo.
      And, well. That's then a matter of taste how you grade the man. But, I'll leave it to Civvie-11 and GManLives et al. And the fall from a very high place that was Daikatana, to asses that.
      There were far more competent and visionary developers at work at the time. Such as the team behind Acitivisions Interstate 76.
      Which is btw. the fist 3D engine game to support 16 concurrent players in an online multiplayer.
      But, not only that features a story-driven single-player campaign with voice acting that's actually beyond Hollywood A-shelf stuff. Mainly, because it did what Rockstar and others do today, which is to fish in the "Talent" end of the pool.
      Not, "fame". And thus were able to keep actual costs of hiring the talent at a sane budgetary level. With John DeLancie making a superme performance as the games villain.
      And, seriously, with 1996 level pre-rendering quality, these actors needed to be of the Shakespearian school and of high-caliber in it, to make that story fly. Since, the only things with any definitive detail were the cars.
      As, covering the low-poly count models made for the pimped up MW2 engine it was running on, would just looked extremely disturbing with texturing on top of them, so there's only some definition to eye-brows and non-motion captured larger body movements. :D
      What finishes that thing off, is the soundtrack which for which they actually setup a band and kitted it out with 1960/70s instruments so, they could play OG FUNK (not, _disco_ eww) like it has never before or since been played on this planet.
      It's a combination of MadMax and 1970s road movies and Charlies Angels with sprinkling of Connery's Bond in the mix.
      Automotive combat in the mid-1970s with american V8 muscle cars that has heavy artillery bolted on to it, and a damage model and physics engine so detailed, every player made their own style. And things like mass-center point etc. etc. etc. are very accurately modeled for the time and this is at the same time done in a way that is reflected positively in game play.
      And, yes. You can actually mess up setting up a car so, you'll have a bad time if you do not know what you are doing with it. :D But, skilled players turn these things, such as 70/30 weight distribution across the front and rear axle's, to their advantage.
      You have to have in-depth understanding of car handling, to do that though. And then know how to apply this through a keyboard, or a racing wheel; an a-typical controller for real-time combat, I might add, to really fly in it. But, at the end of the day, a skilled driver could dominate a international public server for weeks. :D
      The next time 3D games with physics engines and story driven narratives kicked off a truly immersive experience, to this kind of a degree, was when Valve released HL1.
      This little gem has unfortunately been forgotten, but did kick off spin-offs based off of it's game design in the console platforms with Vigilante8 etc.
      Them being, shitty, with the damage and physics modelling being nerffed as this was considered too "cerebral" for console players....
      Yeah. That thing needs a remake. With BlackJack AND Hookers. And it's own bespoke engine :D And, definitively John DeLancie reprising his role. :D:D:D
      Romero ain't nothing but a cheap bag of tricks in comparison to these guys. :D

  • @bf1701
    @bf1701 Před 3 lety +337

    Now I want a mod that adds revenant legs to all the rockets.

    • @alexeyvlasenko6622
      @alexeyvlasenko6622 Před 3 lety +50

      This should be an enemy in the game, it just runs up to you and blows up

    • @ArcturusOTE
      @ArcturusOTE Před 3 lety +40

      @@alexeyvlasenko6622 Ah yes I do enjoy having PTSD from Serious Sam and Quake AD

    • @mjc0961
      @mjc0961 Před 3 lety +15

      Well, now it exists, check the latest video.

    • @NGRevenant
      @NGRevenant Před 3 lety +27

      there's a mod called "Run for it" that gives every pickup and map fixture legs, pretty sure it gives the cyberdemon rockets legs too

    • @Hapetiitti
      @Hapetiitti Před 2 lety +1

      @@NGRevenant Hey, it's H.P. Lovecraft's cat, Tigger-man!

  • @mjc0961
    @mjc0961 Před 3 lety +258

    This editing was great. The rocket with revenant legs, Doomguy with a neck brace, and the incredibly well timed Sweet Little Dead Bunny metal turn with the YOLO'd Crispy Doom.

    • @nibblrrr7124
      @nibblrrr7124 Před 2 lety +9

      I had to pause for the imp with the hardhat & bubble level. 1:14
      (I guess Doomguy's helmet is certified for construction as well? Handy!)

    • @FloodclawKupo
      @FloodclawKupo Před rokem +2

      I came to say the same, absolutely phenomenal edit skills with great humour while still getting the main point across.

  • @thenate5367
    @thenate5367 Před 3 lety +218

    Fun fact: the Vanilla style of vertical look, also known as y-shearing, originated in Heretic

    • @LonelySpaceDetective
      @LonelySpaceDetective Před 3 lety +46

      Heretic also added z-collision to monsters and decoration IIRC, allowing you to fly over them when using its flight power up.

    • @Xilefian
      @Xilefian Před 2 lety +14

      Marathon had it too, released almost exactly the same time as Heretic

    • @LonelySpaceDetective
      @LonelySpaceDetective Před 2 lety +6

      @Hammy Burgers Not him, but I do believe DN3D (and every other Build engine game) used the same technique for vertical look, yeah.

    • @xeostube
      @xeostube Před 2 lety +3

      @@Xilefian there's probably other prior art as well, but it's certainly the first doom source based implementation.

    • @danlock1
      @danlock1 Před rokem

      @@LonelySpaceDetective Raven Software developed some amazing improvements for the engines on which its games were based.

  • @eternal4074
    @eternal4074 Před 3 lety +302

    Here from decino, this is a fucking great video

  • @carterguy2600
    @carterguy2600 Před 2 lety +42

    "Its likely because of a well known fact: Projectiles dont have legs. They cant run around and make sick platforming." Golden quote

  • @MC-bh8ph
    @MC-bh8ph Před 3 lety +84

    One nice advantage of not having rooms above rooms that no one talks about - it makes the maps easy to look at and navigate

    • @akeem2983
      @akeem2983 Před 2 lety +9

      Daggerfall flashbacks

    • @kekeke8988
      @kekeke8988 Před 2 lety +17

      The maps are horrible rat mazes. What are you even talking about?

    • @mcswordfish
      @mcswordfish Před 2 lety +3

      @@kekeke8988 I used to love typing idbeholda and spending 20+ minutes on each level ensuring there was no grey left on the map at all

    • @-m.zenterra-5001
      @-m.zenterra-5001 Před rokem +9

      @@kekeke8988 Well, at least it's not a 2 floor maze

    • @ironcito1101
      @ironcito1101 Před rokem +3

      I remember the true-3D maps in Descent. Larger levels could get pretty confusing, especially since there was no up or floor or anything. But the six degrees of freedom in that game were awesome.

  • @MarphitimusBlackimus
    @MarphitimusBlackimus Před 3 lety +249

    For a more advanced rendering engine, GZDoom's palette tonemapping sure pales in comparison to the plain ole software renderer, especially with ambient occlusion enabled. Look at that smooth gliding color banding at 4:00!

    • @luisaazul
      @luisaazul Před 3 lety +23

      I don't think you could achieve a effect like that with simple tonemapping like gzdoom's
      But i remember a post on doomworld of a guy that made a shader that replicates the software rendering's 256 colors and bandinha perfectly

    • @DinnerForkTongue
      @DinnerForkTongue Před 3 lety +4

      @@luisaazul
      Holy shit, I'd love a link to that.

    • @taylorkelly6414
      @taylorkelly6414 Před 3 lety +2

      Hey Marphy, should have figured you'd be here lol

    • @SirSilicon
      @SirSilicon Před 3 lety +7

      I recently played some Doom1 with the prboom and was thrown back into the 90s with the 8bit color range of the renderer. It's one thing to have 8bit textures but 256 colors for lighting is very oldschool. It's not retro anymore, it's vintage. I wish some modern indy games would have an 8bit color render option.

    • @LoserHands
      @LoserHands Před 3 lety +4

      Troo Cullers is another good tonemapper if you're not gonna be cranking the ao

  • @_antares031
    @_antares031 Před 3 lety +219

    Thumbs up for all of these visual effects for easier comprehension :thumbsup:

    • @dario110011
      @dario110011 Před 3 lety +6

      I agree! This was some awesome visual effects for things like hitboxes!

    • @LordMisfit
      @LordMisfit Před 3 lety +4

      Yeah, I've been hoping to find a GZDoom mod that renders the proper hitboxes of monsters and projectiles, it'd make a good debugging tool, though this might just be a lot of clever editing and not so much a mod. That's why I asked a question about this in it's own post here.

    • @busygirlbeauty8437
      @busygirlbeauty8437 Před 3 lety +1

      agree this was a highlight, love the effort

    • @Mikk-ur3fr
      @Mikk-ur3fr Před 2 lety

      @@LordMisfit such a mod exists already! It's not as elegant as the effects shown in the video but RadiusDebug works very well. forum.zdoom.org/viewtopic.php?f=105&t=60804&hilit=RadiusDebug

    • @LordMisfit
      @LordMisfit Před 2 lety

      @@borogk @mikk0451 I did recently accquire RadiusDebug. While it seems to work fine in vanilla GZDoom loadouts, for some reason, if I load it with my mod, I only see the hitboxes when I use the "freeze" cheat to freeze time. I'm not sure off hand what would be needed to address this, but sadly it mostly won't work alongside my mod "out of the box" (which was kind of the point of looking for a mod, instead of just porting their code over with tweaks for it to work in my mod, since at that point, it'd just become a debugging feature for the mod itself and I'd probably get complained at for lifting the code by some less observant players, even if I credited the mod author). x.x
      Also, RadiusDebug as it currently is, does utilize models to visualize the hitboxes, and it's been stated if they could directly incorporate their mod into the main engine code they'd have to make a non-model visual version.
      The other thing is, though it could just be clever editing, the presentation of your version just appears to be more involved than RadiusDebug, since it's also appearantly more than just rectangular hitboxes [like when you make the monsters stretch to represent them being infinitely tall, etc. :V ], so I'm still interested in the mod you're working on nonetheless, mistakes in aspect ratios or not, that can be tweaked, as you suggested.

  • @JoeyGamer55
    @JoeyGamer55 Před 3 lety +211

    I appreciate this new genre of people with European accents teaching me about how DOOM works.

    • @Oli1974
      @Oli1974 Před 2 lety +8

      That's a russian accent.

    • @KidPrarchord95
      @KidPrarchord95 Před 2 lety +9

      @@Oli1974 Russia is (partially) in Europe.

    • @Oli1974
      @Oli1974 Před 2 lety +10

      @@KidPrarchord95 yea, the smallest part of it. I don't even know what an "European" accent is supposed to be, considering there are more than 25 languages of three entirely different language families spoken there.

    • @MageAtYou
      @MageAtYou Před 2 lety +14

      only NA would name something an european accent

    • @rwentfordable
      @rwentfordable Před 2 lety +1

      @@Oli1974 He did say 'European accents'.

  • @kennylauderdale_en
    @kennylauderdale_en Před 2 lety +43

    Yup. Doom was a good game. A good 3D game.

  • @PeterLawrenceYT
    @PeterLawrenceYT Před 3 lety +175

    Holy crap what a fantastic video! Really good job on this. I really appreciate how much effort was put into the editing of this video on top of the great explanations.

  • @thedungeondelver
    @thedungeondelver Před 3 lety +50

    decino sent me here, and I'm glad he did!

  • @beamweapons
    @beamweapons Před 2 lety +85

    As a moderately experienced Doomer, this video didn't tell me anything I didn't know, but I have to say that the polish and clarity with which you presented this was really impressive. I could listen to you talk about Doom all day.

    • @seronymus
      @seronymus Před 2 lety

      Do you recommend CrispyDoom or GZDoom overall? What's the best port? Also what's your fave doom clone like Heretic etc

    • @beamweapons
      @beamweapons Před 2 lety +3

      @@seronymus Honestly my choice of sourceport has more to do with what wad I want to play than anything else. I play vanilla and limit removing wads like Sigil on Crispy, Boom-compatible wads like Eviternity on PrBoom+, and generally only use GZDoom for really mod-heavy stuff that requires it.
      GZDoom makes some behavior changes to the engine that make it play quite differently in the small details. For a particularly noticeable example, enemy projectiles will collide with things like lampposts in GZDoom, but will pass right through in any of the more faithful sourceports. Because it has diverged so far in demo compatibility it also won't play title-screen demos, which many high-effort wads like Sigil contain.
      I've played through Hexen, and thought it was a confusing mess. There aren't many Doom contemporaries that really stand out to me. On the other hand if I can I can count modern games that have a throwback aesthetic and engine, I thought Ion Fury was fantastic.

    • @seronymus
      @seronymus Před 2 lety +1

      @@beamweapons I actually tried to play doom95 vanilla (as in raw everything from a torrent) today and even windowed it played like a tiny top-left grayscale mess. I only tried GZDoom and it fixed everything but, it definitely a bit "off" as impressive as it was (colors a bit washed too). Thank you very much for the recommendations! I will say that although I adore Heretic and Hexen aesthetic, I believe the Brutal mod enhances the lackluster gameplay. I definitely will try Sigil on Crispy and the other stuff and give my thoughts later

  • @DoomKid
    @DoomKid Před 3 lety +18

    THANK YOU!! For the love of god, I’ve wanted to make this video but lacked the patience to do editing on this level - this video explains it clear as day. Well done, and well earned sub!

  • @theharlequin7280
    @theharlequin7280 Před rokem +11

    This is not only one of the most straightforward and coherent explanations of the Doom engine, but also absolutely amazing in presentation and editing.
    Awesome video

  • @QuasarEE
    @QuasarEE Před 3 lety +48

    Great summary vid on this recurring topic.

    • @eebu4053
      @eebu4053 Před 3 lety

      I grow more bitter and selfish every day I spend in this world

    • @scumbag414
      @scumbag414 Před 3 lety

      Shaaaaadup

  • @nobody-tj1mv
    @nobody-tj1mv Před 3 lety +68

    Holy shit this video is well edited. The visuals really help.

  • @ZX3000GT1
    @ZX3000GT1 Před 2 lety +25

    This puts into perspective how awesome arcade games looked back in the day. While PC and Console games struggled in 3D, Ridge Racer and Daytona USA manages that with proper texture mapping, 60FPS, and high resolution at the time (496x384 for Daytona USA, and 640x480 for Ridge Racer).

    • @tristan6509
      @tristan6509 Před 11 měsíci +1

      And don't forget that arcades ran in RGB, something only seen by Europeans with scart RGB input
      The rest of the world got composite video with all it's artifacts. Only PCs had RGB video (VGA)

    • @BluBombs
      @BluBombs Před 11 měsíci

      nowaday arcade system are basically pc/console in disguise (ex: sega lindebergh and namco system 357)

    • @ZX3000GT1
      @ZX3000GT1 Před 11 měsíci

      @@BluBombs 357 is PS3 based. Other than that you're correct

    • @tristan6509
      @tristan6509 Před 11 měsíci

      @BluBombs yeah arcades used to have cutting edge hardware inside while the home market only got the atari 2600
      Nowadays it's the opposite, it seems that the hardware in modern arcades are 10 years old. The most recent pump it up machine uses a core 2 quad from mid 2000s...

    • @ZX3000GT1
      @ZX3000GT1 Před 11 měsíci

      @@tristan6509 Well, some machines are not THAT outdated. Sega's ALLS UX uses i5 6500 and GTX 1070 for example.

  • @ClassicDOOM
    @ClassicDOOM Před 3 lety +16

    _Thank you_ for this. Some of us have been battling the [censored] "Doom is actually 2D" myth for decades. Cheers. :)

    • @DoomKid
      @DoomKid Před 3 lety +4

      Good to see you here, brother in arms!

    • @ClassicDOOM
      @ClassicDOOM Před 3 lety +3

      @@DoomKid You too! (And btw great job on your recent multiplayer video. 👍 )

  • @thiagovidal6137
    @thiagovidal6137 Před 3 lety +36

    Don't you hate when people say Doom isn't 3D? Decino brought me here. Great video. Subscribed.

    • @yogipg2022
      @yogipg2022 Před 2 lety +1

      also in real life, when you hold your head stiff and don't look up or down, it means you are no longer seeing in 3D. crazy how that works.

  • @MachFiveFalcon
    @MachFiveFalcon Před 10 dny +1

    I always wondered how the Doom code was so well-optimized and if it was truly 3D - thanks for answering both questions so concisely! I've also noticed how much respect many people from Eastern Europe have for early PC games, and it always makes me smile. Thank you!

  • @SevenCompleted
    @SevenCompleted Před 3 lety +23

    I been trying to tell people this for years. Even if the z axis is faked with heightmaps on 2d sectors those sectors still have 3 axis

    • @Hamdad
      @Hamdad Před 2 lety

      But none of the vertices do.

    • @Mikael404
      @Mikael404 Před 2 lety +4

      Technically heightmap and z-axis are basically the same the only difference is z-axis can calculates depth of the line and heightmap depth of the area.
      People who argues over these don't usually even know what z-axis actually calculates they just know it is for 3d and some reason an basic knoweldge is humiliating for them so they don't even try to understand the basic.

    • @SevenCompleted
      @SevenCompleted Před 2 lety +1

      @@Mikael404 yes exactly its not like real life 3d of course but its still 3 dimensional because it does have length width and height in the game world. Levels made of 2d shapes put together each stretched a certain height and brought to life with textures amazing really.

    • @khhnator
      @khhnator Před 2 lety

      @@Hamdad no the room vertices does have Z values, but they are inferred from the sector's floor and ceiling. like if every vertices will have the same z as the ones connected to it, why waste memory?
      in fact you can even do a doom style renderer with rooms over rooms. there is nothing in the techniques used in doom that forbids that. heck you could even make you able to see all levels at same time with some changes in the rendering. it has been done actually.
      the reason why they did not do it is because of doom's levels geometry is stored in something called binary partition tree.
      essentially you cut the level geometry half with a arbitrary line and put everything left of that line in one group and right in other. then you repeat the process with those groups, and again and again. till you have all the geometry in tiny bit chunks in a hierarchical structure.
      you can use that structure to check if the whole chucks of the level are visible or not in one go, as in: "is the left group visible? no? then none of its subgroups are visible either"
      else you would need to check every single wall in the level one by one every frame.
      now remember i said arbitrary line? if the levels were not flat. you would need to use a plane to split the level in 2, not a line.
      just with that you made a jump of something you could do by hand... into something that is even hard to visualize.
      and believe me the implementation gets just as messy and that is actually what quake does.

  • @n11n12
    @n11n12 Před 2 lety +6

    At 5:20 I flashed back to being 14 years old, playing Dark Forces, and looking up as far as I could and wondering what was wrong with my game. Now I know what was up. That's some cool stuff.

  • @3DSage
    @3DSage Před 2 lety +4

    It's so cool how well you demonstrate this visually! Very cool

  • @yetanotheruser1989
    @yetanotheruser1989 Před 3 lety +11

    1:26 simply stunning design there!

  • @awesomeferret
    @awesomeferret Před 2 lety +33

    I always wondered why people took the "doom isn't 3D" thing seriously since it objectively provides a proper 3D environment, thus no matter what tricks it used it still is grammatically speaking a 3D game. Maybe having a very very very basic knowledge of how modern raster graphics work helps since those are "tricks" too depending on how many hairs you want to split.

    • @crazyeyes8962
      @crazyeyes8962 Před rokem +1

      It objectively does but not from a mathematical perspective. Also the "objectively 3D environment" is extremely constrained. You will always have programmers like myself who will disagree because we're used to using math terms for math, and when a system is incomplete it isn't a system. You can't define mathematics by looking at the end product and say "well it's kind of a good approximation of what a different system does so obviously they're the same thing." It would be quite misleading to talk in those terms to someone who hadn't just watched a video like this.

    • @SpunkMayo
      @SpunkMayo Před rokem +2

      @@fusedqyou did you even watch the video my dude

    • @SpunkMayo
      @SpunkMayo Před rokem +2

      @@fusedqyou it isn't a "2.5D" game, it isn't "developed as a 2D game.".

    • @SpunkMayo
      @SpunkMayo Před rokem +2

      @@fusedqyou it's been settled dozens of times by folks that know a hell of a lot more about the subject matter than you ever could. Doom is three dimensional. Period.

    • @SpunkMayo
      @SpunkMayo Před rokem +3

      @@fusedqyou your entire "discussion" steams from a false statement, so no, I'm good.

  • @bannisray3683
    @bannisray3683 Před 3 lety +17

    Decino sent me here. Great Vid man.

  • @ChrisJEPlace
    @ChrisJEPlace Před 3 lety +6

    Holy shit the editing in this is top tier.
    Great video overall! Everything was explained really well, and I learned a lot from it, thank you!

  • @yobrethren
    @yobrethren Před rokem +2

    The Doom Ending soundtrack at the vertical aiming part though, spot on feeling hahahahah

  • @MrTheMasterX
    @MrTheMasterX Před 3 lety +1

    This just popped up in my recommended. The visualizations in-engine are both really great for demonstration purposes and have a great sense of humor. Fantastic stuff!

  • @CrucialDuude
    @CrucialDuude Před 3 lety +12

    If anything this just made me appreciate the original Doom's engine and all the hard work that went into it even more.

  • @nicholasswanson7186
    @nicholasswanson7186 Před 2 lety +4

    Literally answered every question I had about Doom’s geometry, z-axis, and rendering weirdness (especially when looking up or down). Great video, seriously good job!

  • @susu5331
    @susu5331 Před 2 lety +2

    Such an amazing visualization video, really shined light on how the modified raycaster in Doom works while keeping the video brief at the same time!

  • @tarkus2455
    @tarkus2455 Před 2 lety +1

    I only knew about the "no rooms above rooms" thing, but i had no idea of the other limitations!
    Great video.

  • @BiodegradableYTP
    @BiodegradableYTP Před 3 lety +18

    Terrific video, man. You amped up the production value considerably and the hard work really shows! Tongue-in-cheek and educational, I love it.

  • @benallen4183
    @benallen4183 Před 2 lety +5

    I won't lie, I was going at this thinking you were just some sentimental, overly nostalgic kid, but actually you have convinced me against all my reasons. Well done!

  • @GeddyRC
    @GeddyRC Před 2 lety +2

    This popped up on my homepage at the top of my recommended. Definitely going to subscribe- this video was awesome. I really like how instead of showing boring ass footage you actually made custom footage and then added the marks to demonstrate ceiling and enemy heights and all that. Very cool. Must have taken ages!

  • @artcox2991
    @artcox2991 Před 2 lety +1

    Fantastic content, thanks! Really looking forward to more of your vids.

  • @KepalaMonyet
    @KepalaMonyet Před 2 lety +6

    5:17 This is somewhat how Duke Nukem 3D handled the old way of vertical aiming.

    • @BenHelweg
      @BenHelweg Před 2 lety +1

      Build engine, I think it must have because it looks exactly the same.

    • @andrewt836
      @andrewt836 Před 2 lety +1

      I used to spend days building my own duke 3D levels. The build engine was so easy to use

    • @Optimus6128
      @Optimus6128 Před 2 lety

      And Heretic possibly

    • @KepalaMonyet
      @KepalaMonyet Před 2 lety

      @@Optimus6128 I believe Heretic could only be played like DOOM (1993)

    • @Optimus6128
      @Optimus6128 Před 2 lety +4

      @@KepalaMonyet It did have up/down view shearing, they added it in the engine, although by pressing buttons not sure about mouselook.

  • @MatthewBester
    @MatthewBester Před 3 lety +28

    5:02 Ahhh I always wondered why Duke Nukem 3D's mouse look always seemed a bit off.

    • @Olek54321
      @Olek54321 Před 3 lety +7

      that was my first reaction too! Duke Nukem 3D mouse look haha :D

    • @HammerHand83
      @HammerHand83 Před 3 lety +6

      Yup, a feature/shortcoming of the Build Engine. The same thing happens in Blood.

    • @bluebay0
      @bluebay0 Před 3 lety +1

      Yup, Blood is the first thing that came to my mind.

    • @LonelySpaceDetective
      @LonelySpaceDetective Před 2 lety +1

      IIRC Build engine games had somewhat iffy mouse input as well, though that issue is unrelated to the y-shearing as seen in this video.
      Source ports like EDuke32 have better mouse input, and for anyone who wants to stay in DOS there's a utility you can use to fix the input.

  • @kazeroth1234
    @kazeroth1234 Před 3 lety +1

    Love your humor and visual storytelling, can't wait to see your next video! :)

  • @RickyMcSpanish
    @RickyMcSpanish Před 2 lety

    Awesome Video, did not expect to watch the full thing, Video was randomly recommended to me but now subbed :)

  • @danmanx2
    @danmanx2 Před 3 lety +4

    I can tell you that the engine is still amazing, because we're still talking about it in 2021.
    I am an old school gamer and was born on an IBM PC 386 with DOS and Windows 3.1. I swear [for those younger viewers] in 1993, this was the utter jam! There was nothing like Doom. It ran decently. It was fun. You could download levels [or make your own]. Even with all the limitations, I would rather make a Doom level than a quake level.

    • @seronymus
      @seronymus Před 2 lety

      It's always amazing to meet a veteran old school guy out there. I'm only 23 24 soon, my first OS was 98 but I love the 90s gaming, some early 2000s more than anything. I miss the "old web"

  • @Allen.Christian
    @Allen.Christian Před 3 lety +5

    Great explanation. Really good breakdown of all these aspects. I've been making this argument for years, but haven't been able to get this succinct with it.
    Sanglard's Game Engine Black Book on Doom is an amazing resource if you really want to get into the nitty-gritty on the engine. It even breaks down the common hardware of the time to give you context as to why Carmack made the decisions he did. You can get the PDF for free, I think (though I recommend throwing some cash their way, because it's obvious they put a ton of work into it.)

  • @EDEdDNEdDYFaN
    @EDEdDNEdDYFaN Před 2 lety

    I already knew everything in the video but i was completely engrossed and blown away by your footage and editing. Incredible demonstration and explanations of everything!

  • @EditorJohn_TIRL
    @EditorJohn_TIRL Před 2 lety

    Both learned something knew AND found it entertaining! You do a great job of visually explaining things! Great work here!

  • @x1teDota
    @x1teDota Před 3 lety +23

    2:29 That got a laugh out of me.

  • @WSADKO
    @WSADKO Před 3 lety +11

    rocket with legs reminds of "Run for it!" mod, hilarious :D

  • @clickpond7825
    @clickpond7825 Před 2 lety +2

    this channel seriously deserves more views man, i sincerely hope you continue to put out content!

  • @Xegethra
    @Xegethra Před 2 lety +62

    "Doom isn't 3D. It's fake 3D"
    All 3D games are fake 3D, drawing on a flat screen. It's all trickery, different methods.

    • @phutureproof
      @phutureproof Před 2 lety +7

      Even VR is just 2 2d images fooling our brains, it's all very clever stuff really, but just math!

    • @bronzemoongames
      @bronzemoongames Před 2 lety +15

      In that context, your eyes are also fake, because they only receive a 2D image at the cornea and forward it to your brain to process it as if it is a 3D image.

    • @SimonJ57
      @SimonJ57 Před 2 lety +8

      @@bronzemoongames "How can mirrors be real, if our eyes aren't real". ~Jaden Smith

  • @ArpeggioPegasusMusic
    @ArpeggioPegasusMusic Před 3 lety +5

    DOOM players discovering free-look on software rendering : "OH GOD MY EYES"
    Me, a Sonic Robo Blast 2 player who's played match mode in first-person view : "First time ?"

  • @fakeplasticsoldier
    @fakeplasticsoldier Před 2 lety

    This is a great piece of work. The visualizations of the systems involved are awesome.

  • @37racso
    @37racso Před 2 lety

    Great video! Very well explained and the topic is fascinating to me. Well done!

  • @xmod2
    @xmod2 Před 2 lety +3

    Great video. Personally, every time I've heard of Doom being referred to as "2.5D", it was in reference to the billboarding sprites used for npcs.

  • @TheFancifulNorwegian
    @TheFancifulNorwegian Před 3 lety +13

    The way I always understood the room-over-room limitation is that the engine draws levels in 3D space but they're internally represented as a series of connected points on a 2D plane. This video made it a lot more vivid and also addressed some things I was never quite sure about, like why some objects have height and others don't. Really great work.

    • @Dan-yk6sy
      @Dan-yk6sy Před rokem +2

      Duke3d was similar, you built the initial level layout like creating shapes snapped to a grid in ms paint. You could build rooms over rooms in duke3d, but it was kind of hackey, I forget now how it was done in the 2d level editor though. I think you overlapped two sectors and made the second one's floor height higher than the first floors' ceiling height maybe? Little limited on how you could connect the two heights though.
      Going under water actually teleported you to a new room/sector outside the main map.

    • @TheFancifulNorwegian
      @TheFancifulNorwegian Před rokem

      @@Dan-yk6sy "Kind of hackey" is a good description of Build in general. I haven't worked with it since the DN3D days, but your description of how overlapping sectors worked in the editor lines up with my memory.
      The major restriction is that the overlapping sectors have to be completely independent of each other, meaning they can't share any vertices and you can't see into or interact with one overlapped sector from another. So they have to be connected via a third, non-overlapping sector, like the twisty stairwell that leads to the projection booth in DN3D E1M1. This works because (as I understand it) Build uses portal-based occlusion to determine which sectors are visible in real time instead of relying on a preprocessed BSP tree, so it doesn't matter if multiple sectors occupy the same space on the 2D plane so long as their vertices (the only parts with specific XY coordinates) are different and only one of the sectors is drawn at a time. Thankfully the Build editor had a built-in first-person view, which helped a lot with managing this stuff.
      Later Build games like Redneck Rampage and Shadow Warrior allowed multiple visible rooms over rooms through elaborate use of viewports and teleporters, but while I never worked with the editors for those games, I believe the different "overlapping" rooms were actually located in separate areas of the map, like the underwater sections in DN3D.
      EDIT: Thinking about it more, I'm not even sure it's necessary to have the overlapping sectors at different heights, since the absence of precomputed occlusion means the editor can specify which sector a sector boundary is open to, unlike the Doom engine where these connections are worked out by the node builder. In theory, it seems like you could have a door open into a corridor that loops around on itself through the strategic placement of sectors, one of which would partially overlap with the sector containing the door and take you past it into the middle of the corridor.
      EDIT 2: Maybe my guess was right? There's a secret level in DN3D (E2M11) that apparently uses this trick (or something like it) to create a 720-degree loop.

    • @jarlfenrir
      @jarlfenrir Před rokem

      @@Dan-yk6sy In Duke there were portals. E.g. when exiting one room, you were teleported to a different place on a 2d map. So 3Dness was still a trick. I haven't played duke much, but of what I know the engine allowed you to create thing like a small house with huge interior.

  • @shableep
    @shableep Před rokem +1

    Whoa, the production quality and care put into this video is mind blowing. Amazing work.

  • @yogipg2022
    @yogipg2022 Před 2 lety +2

    man, you made an amazing video, with the visuals and explanation!! i subscribed just because it was so good. i've been fascinated with this game since i was a kid, when i knew nothing about programming, but i saw the little channels sometimes that were hidden in the ceiling and i knew they had a purpose but i didn't know what. many years later i learn about the "sound channels" to activate the monsters in other rooms. ever since then i've been fascinated with this little engine :D

  • @EmApex
    @EmApex Před 2 lety +11

    Thank you for this, after that Game Theory video came out claiming Doom wasn't 3D I saw a bunch of people repeating what that video said without thinking about it even though the game is obviously 3D if you've spent any amount of time actually playing it. Excellent presentation too, the bounding box visualisations are really clean

    • @johnq4061
      @johnq4061 Před 3 měsíci

      It’s not. The Renderer doesnt have a true 3D perspective so it isnt. Because it has 3D movement and object placement data doesnt really mean anything, you could do that with a console app, plus nothing can even rotate freely only the walls rotate horizontally, in other words there are no 3D objects, not even the walls, unlike polygonal models which have a volume that freely rotates.

    • @EmApex
      @EmApex Před 3 měsíci

      @@johnq4061 I feel like this entirely depends on how you define 3D. If you're looking at it purely from the technical side then yeah you could make an argument that Doom is not 3D, but if you're looking at how the game plays then I'd personally say that it IS 3D, and the technical side doesn't matter because in actual gameplay it both looks and feels 3D. I guess it depends more on what you value more: how it plays, or how it works.

  • @potatoface4698
    @potatoface4698 Před 2 lety +3

    5:15 🤣 also, top tier editing and fantastic humor

  • @kvazimozi_EN
    @kvazimozi_EN Před 2 lety

    I like very much the clean and stylish presentation of the video, it's very nicely put together... much appreciate it!

  • @GLENC0C0
    @GLENC0C0 Před rokem

    Amazing video! Looking forward to more of your stuff!

  • @Arkan1986
    @Arkan1986 Před 2 lety +3

    Now that's some quality content, мое почтение!

  • @Maddin1313
    @Maddin1313 Před 2 lety +3

    5:10 It's like using a shift lens. It's pretty cool.

  • @onlyusernameleft2
    @onlyusernameleft2 Před 2 lety +1

    Great video! I've been searching around for an explanation of the difference between OpenGL and vanilla renderers, and the difference in their appearance in-game. I think your video lays it out pretty well.

  • @Spartan195X
    @Spartan195X Před 11 měsíci

    Incredible video! I really enjoyed watching it. Know most of the tech aspects of the doom engine, but anything about z-axis.
    I like the way you explain complex aspects, they are really easy to understand. And really funny how you changed and added sprites and mod the game making specific scenarios to make a explanation.
    Great work!

  • @Mkemcz
    @Mkemcz Před 3 lety +4

    The vertical look reminded me of Star Wars Dark Forces where you could look up and down with the same distorted visuals.

    • @LonelySpaceDetective
      @LonelySpaceDetective Před 2 lety +1

      ​@@idkanymore3382 Dark Forces was not on the DOOM engine, indeed if I recall correctly DF ran on a custom engine that wasn't used by any other game. Probably closer to the Build engine (aka the engine Duke 3D, Shadow Warrior and Blood ran on) if anything, but I digress.
      I know a lot of FPSes of this age and type look very similar in terms of technology, but that doesn't mean they all used the same engine.

    • @Mkemcz
      @Mkemcz Před rokem

      @@LonelySpaceDetective I didn't mean to imply that DF runs on the same engine, just that it uses the same rendering technique. :-)

    • @LonelySpaceDetective
      @LonelySpaceDetective Před rokem

      @@Mkemcz That wasn't my intention, actually! When I originally made that comment, there was a reply stating that DF used the DOOM engine (or maybe they just speculated about it, I don't remember), which was deleted at some point afterwards.
      You can see that I'm @ing someone who is no longer in this reply thread at the start of the comment.

    • @Mkemcz
      @Mkemcz Před rokem +1

      @@LonelySpaceDetective Oh, I see it now. :facepalm: That's what happens when your brain takes shortcuts. :-D Have a good day! :-)

  • @jaha9329
    @jaha9329 Před 3 lety +5

    This rocket on revenant legs gave me serious Rayman 2 vibes. Nice video man!

  • @Samarai-hf9si
    @Samarai-hf9si Před 2 lety +1

    I don't know how this misconception that doom "isn't 3d" started, but thank you for making a comprehensive video proving that it is.

  • @lazycat9731
    @lazycat9731 Před 3 lety +1

    HOLY SHIT. The shots are beautiful, the editing is beautiful and your voice is beautiful. Fucking kickass video keep up the work

  • @ahmadbani1452
    @ahmadbani1452 Před 3 lety +3

    I sure hopes youtube recommends this video. Not just decino

  • @diegog1853
    @diegog1853 Před 2 lety +14

    I appreciate the fairly neutral opinion-based approach of this video.
    It really depends on your definition of 3D. At least from a mathematical standpoint, it is not enough to simply have a z parameter to consider, there is a subtle but crucial difference between a 3D space and a 2D space with an extra scalar z variable, which is what doom is as far as I understand it.
    Doom's rendering works like a graph of a two-dimensional function into a scalar f(x,y)=z in which every point of the floor or ceiling is asigned a height. Which can be represented in 3D but not necesarily, it could be represented with colors like a heat map or numbers, doom chooses to represent it like that to appear 3D but that doesn't transform the world into a 3D space, but a very specific 3D visualization of a 2D function. And you can do a lot with having this third parameter asigned to the 2D space, if you've ever played the genesis game beyond oasis, height considerations are taking into account all the time to determine if you are hiting an enemy or not, but it doesn't have the fancy rendering of doom so no one would call it 3D. But there are limitations to the approach, like yeah... by definition of a function, no point can be assigned to two different values so that is why there cannot be floors on top floors, or enemies on top of enemies which I assume are processed together on the same function. But you can calculate trajectories just find and do all of your trigonometry, like with projectiles.
    So in my opinion, the existence of z doesn't actually make doom 3D, it means that it is a 2D game that assigns a z parameter to all of its objects as a shortcut to do a lot of pseudo 3D calculations.
    Think of it this way, you can have a 3D map of the earth and assigned to it a temperature value for each 3D point, you would have x,y,z and T and you could even make a 4D graph of it but that wouldn't make the earth a 4D space.

    • @diegog1853
      @diegog1853 Před 2 lety +3

      ​@@borogk Floors and ceilings having separate coordinates can be described by two distinct functions with z values, you can map any number of 2D functions on top of each other and still not have a proper 3D space. The same with enemies.
      After thinking about it. I don't think it is impossible for a 2D engine to process doom guy going above the demons if you program explicitly to check for the z data, they are all separate entities. And if you turn off collisions that is exactly what would happen, doom guy would not go "above" the demon but through its collision box. And I think collisions are handled with only two variables precisely because the game is already processed in 2D and is cheaper. It would be more problematic if you had floors on top of floors. Not that it is impossible, you can program whatever you want if you do the math for it.
      And in the topic of projectiles I believe that is what is happening, the trajectory of projectiles are more important so they made the collision calculations take into account the height value for the enemies, since projectiles (I believe) have no height, that is automatically easier. They also can't collide with each other as far as I know.
      I think we could say that in general doom is a 2D game with a lot of 3D calculations to compensate. Being 2D or 3D is not a real restriction to what kind of math you could do, so I think that is where all the contention is.

    • @diegog1853
      @diegog1853 Před 2 lety

      @@borogk Thanks for answering! And for the patience responses. I haven't looked at much of the code and I'm not a very skilled programmer so my opinion is to be taken with a grain of salt.
      Yeah I've never consider that the 2D/3D argument is kind of meaningless. The code or the math within the code doesn't care if you consider it 2D or 3D. Is just what it is, and it has some 2D simplified elements and some 3D elements. It is pretty ingenious how they crafted a convincing 3D world without needing 3d graphics cards.
      Thank you again for all the great points.

    • @kjl3080
      @kjl3080 Před 2 lety

      Height bitmap?

  • @GUARDIANA01
    @GUARDIANA01 Před 2 lety +2

    Absolutely excellent and informative vid brother . Well done 🤘
    As an OG gamer , this was a pleasure to watch mate , cheers .

  • @user-ri7yc6lw2w
    @user-ri7yc6lw2w Před měsícem

    Insane editing man! Got me really hooked on the video. Can tell you put insane time to it 💪🏻

  • @Matt-td8xw
    @Matt-td8xw Před 3 lety +10

    5:18 i renember when i discovered i could look up and down in the classic doom, it was horrible...

  • @dragonsinfluence68
    @dragonsinfluence68 Před 3 lety +9

    i blame game theory for spreding this miss information

  • @MonarkenRTV
    @MonarkenRTV Před 2 lety

    Amazing work, alot of love put into this video!

  • @SunkenState
    @SunkenState Před 3 lety

    Great video, can't wait to see what else you produce!

  • @PsychoRavager
    @PsychoRavager Před 3 lety +6

    In conclusion,
    DOOM is 4D.

  • @willeatpants7691
    @willeatpants7691 Před 3 lety +3

    I'm going to dream about rockets with legs now. Then have a nightmare about colum rendering gone wrong!

  • @ayerle3083
    @ayerle3083 Před 3 lety

    This video was so good made. I hope we will see more of that stuff. Exactly that type I love to watch.

  • @edooix
    @edooix Před 3 lety

    Keep up the amazing work! I can't wait for the next video!

  • @fasgamboa
    @fasgamboa Před rokem +3

    If it is "How high" then it is already 3D...

  • @UndeadRyker
    @UndeadRyker Před 3 lety +3

    This is sick. Awesome video, couldn't have debunked them any quicker and clearer!

  • @mothweb8088
    @mothweb8088 Před 3 lety

    absolutely incredible video, man! can’t wait to see what ya make in the future :)

  • @haikidsboy3102
    @haikidsboy3102 Před 3 lety

    Came from decino, and i really need to say, I love how U explain all those details and stuff ! Can't wait for more videos from U!

  • @Kevin-jb2pv
    @Kevin-jb2pv Před 2 lety +3

    1:11 Did you really take the imp encounter doomguy sprite and just swap in a bubble level? Subbed.

    • @Kevin-jb2pv
      @Kevin-jb2pv Před rokem

      @@borogk Kids these days just don't have their minds in the gutters like they used to.

  • @christiangottsacker6932
    @christiangottsacker6932 Před 3 lety +3

    The Doom community and the Valve community are still the best.
    Much wholesome, so helpful.

  • @angusarctor1766
    @angusarctor1766 Před 2 lety

    Great video. Been waiting for a video that explains how the doom engine worked and the reason for it’s limitations, and this video did it perfectly. Nice and succinct.

  • @adonisx82
    @adonisx82 Před rokem

    I really enjoy videos that show the inner workings of games
    the math, the hit boxes, stuff like that
    good video

  • @MrVinicius5000
    @MrVinicius5000 Před 2 lety +3

    Really good vídeo but i think that a very important aspect have been overlooked in this conclusion, that is the projection method of doom, If the projection really is capable of 3D calculations this shuld be it, other wise , doom is a Scan line renderer that can not project 3D geometry only vertical walls, dispite enemy and player use the z Axis the result is a scaled 2d image that is not necessary to use the z Axis in calculations to display this 2d sprite, If you could check this information, everything would be more clear

    • @MrVinicius5000
      @MrVinicius5000 Před 2 lety +1

      @@borogk what i refer to is not rendering limitations, but actual data trasformation, im sorry If i'm be a bit too tecnical, but the main factor that defines this discution is the methematical and tecnical information, limitations indeed not defines the existence or lack of 3D in doom. About gameplay be a deciding factor well... capabilities of a tecnology are not defined by user perception. Anyway i'm not saying that i disagree in your conclusion since i have no deep information on how doom engine actually works and many points that you come up with actually drives aroud actual 3D, but i would insist in a more directional investigation of the case.

    • @filibuster2249
      @filibuster2249 Před 2 lety +2

      @@MrVinicius5000
      "The gameplay is strictly on a 2D plane, but the rendering is done with 3D coordinates." John Carmack
      The engine is a hybrid using several techniques to achieve its unique features, I think that instead of asking "Is DOOM 3D?", a better question would be "What in DOOM is 3D?"
      As far as the data structure goes, DOOM is a top down 2D shooter with X,Y coordinates for vector drawing, hitboxes, movement, acceleration, collision detection, line of sight for the A.I. and projectile trajectory calculations. Actors and sectors have an internal stored value for Z that's used for z-clipping calls (a technique used for depth sorting and hit detection in 2D games) and rendering offsets for walls and sprites, which's what creates the illusion of 3D physics, but it cannot be used for trigonometric functions and world coordinates. Another oddity of the IDTech1 is that a lot of its functions are sector based, meaning that every entity inside a given bounding box called "sector" will inherent some of its variables for data check (that's why walking monsters "pop" glued to the floor when crossing sectors of different height or "disappear" in dark sectors). The game physics and geometry are bound to a 2 dimensional plane, but the rendering of walls requires 3D calculations for dinamic horizontal perspective corrections, which's simplified by the fact the engine can only draw orthogonal projections from the camera POV, while floor and ceilings always keep their perspective and are rendered separately from the walls.
      Here's a 2D game prototype I found that uses techniques similar to DOOM to emulate "height". What it lacks is the ability to rotate the camera 360 degrees, which would require those tiled sprites to be vector rendered with 3D perspective correction, which, although limited due to processing power of PCs at the time, is what's actually 3D in DOOM.
      czcams.com/video/AAeOXqS271g/video.html

    • @MrVinicius5000
      @MrVinicius5000 Před 2 lety +1

      @@filibuster2249 now, that does ring a bell, so actually there is 3d calculations ! really cool, i certanly shoud give a deep look in the subject, doom engine always was a true mistery for me since most of the easy to consume information really never show up in dept implementation, i already try to come up with a psudo 3D "engine" but never took the time to actually look what other engines actually do, thanks for the colaboration.

    • @filibuster2249
      @filibuster2249 Před 2 lety

      @@borogk // "Z value is used movement and collision detection against the level boundaries"
      That's pretty much covered by what I said here:
      "Actors and sectors have an internal stored value for Z that's used for z-clipping calls (a technique used for depth sorting and hit detection in 2D games) and rendering offsets for walls and sprites, which's what creates the illusion of 3D physics, but it cannot be used for trigonometric functions and world coordinates"
      Collision detection against the level boundaries (linedefs) are pre-calculated and stored in the BLOCKMAP lump using X,Y coordinates and called when an entity collides with each and every linedef regardless of "height". If the value assigned for the entity (zfloor + height) is > than next sector zfloor and < than zceiling, the projectile enter the next sector, otherwise it collides. These aren't world coordinates but values stored in the entities themselves for z-clipping.
      In the case of mobs, if the floor offset is

    • @filibuster2249
      @filibuster2249 Před 2 lety

      @@borogk " The end result is very close to what a modern engine would achieve if you construct a polygonal 3D level with straight walls, flat floors, flat ceilings and cuboids for entity hitboxes."
      Modern engines can and do trace angled lines in (x,z) (y,z) and (x,y,z) for movement, collision detection and line of sight and much more. DOOM can only trace trajectories in (x,y) since z is only an object variable for reference, it would require the engine to keep track of all points in (z,x) and (y,z) that an object occupies (like in 3D engines) and it would be too demmanding for computers at the time. Instead, everything is checked on a plane and when collision is detected it does a value range check for a single z point reference stored in the object. It's no different than checking a random value against variables called 'Avoidance' and 'Accuracy' to check if it will be a hit or a miss.
      "It doesn't matter what data structures are used to construct the level geometry and store objects elevation. You have to store it somewhere. Effectively, Doom data structure represents a traversable empty space in a shape of multiple 3D prisms (with sector shapes defining their cross-sections). And objects' hitboxes are effectively cuboids. "
      "Vertical angle in Doom source code is called "slope" and it's totally used in the engine.:"
      It's not so much only about where it is store and more about what functions call these values and what operations are done with it.
      Note that at all times in the lines of code you linked the functions are storing numbers to be checked against each other for z. It is not tracing a constant diagonal angle but checking value ranges whenever it moves to a new subsector (BSP cuts of a sector). It always comes down to z1' > 'z2' < 'z3'. Since everything (including things hitboxes) are lines drawn in (x,y), z functions can only be called and change variables when (x,y) trajectories finds a linedef or a hitbox.
      If anything, the way the engine manages to define occlusion points with simple math without relying on a third axis only adds to its ingenuity and brilliance. As I said, I'm answering the question "What in DOOM is 3D?" and none of z-functions I'm aware requires (x,z) (y,z) angles, let alone 3D calculations.

  • @SinaelDOverom
    @SinaelDOverom Před 3 lety +10

    The most annoying thing is that a lot of people like to invent their own definition of "3D" in order to fit Doom into "not 3D" category. If you try to argue with them they will just move the goalposts further.

    • @DoomKid
      @DoomKid Před 3 lety +7

      Doom doesn’t have 3D rotating cubes flying around in the air, and if you look up the definition of “three dimensional” in any REPUTABLE dictionary, it *clearly* states that 3D is “when you have a bunch of cool cubes and stuff spinning around”. None of this “consisting of height, length and width” nonsense!!

    • @HUNDOLOS
      @HUNDOLOS Před 3 lety +1

      I haven't seen much back and forth discussion on this, but I'm surprised if "not being able to map rooms above or below each other" is not enough of a reason to close the argument that it's not authentic 3D.

    • @DoomKid
      @DoomKid Před 3 lety +1

      @@HUNDOLOS A building being 1 story doesn’t make it 2D. 3D is defined as “consisting of height, width and depth”, all of which are present in Doom levels. Nothing about requiring multiple stories

    • @HUNDOLOS
      @HUNDOLOS Před 3 lety +2

      @@DoomKid Indeed a 1 story building in the real world is still 3D. However, you can go inside, look around, and then also go up on the roof as well, same x y coordinates as before, except higher z axis. Can you build a map in Doom where you can do the same? You can build such a map in later engines, Quake etc. correct?

    • @Ehal256
      @Ehal256 Před 3 lety +1

      @@HUNDOLOS if you convert a doom map to quake, does it become more 3d, or does quake suddenly become 2d? Answer: the doom map was describing a 3d space all along. Doom can handle some 3d spaces, but not all 3d spaces. Quake and later games can handle a larger subset of possible 3d spaces, but still not all spaces are possible.

  • @nerro984
    @nerro984 Před rokem

    This is an amazingly compact yet full of amazing technical explanations and all presented in a good balance of education and entertainment.

  • @ronnyandersson5144
    @ronnyandersson5144 Před 3 lety +1

    Great video, I thank Decino for recommending! Hope there will be more

  • @BigHailFan
    @BigHailFan Před 3 lety +4

    Finally someone debunks that stupid game theory video.

    • @BigHailFan
      @BigHailFan Před 3 lety +2

      @@borogk sadly people still push it as fact.