Doom engine - Limited but still 3D

  Рет қаралды 497,105

borogk

borogk

Күн бұрын

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

Пікірлер: 1 400
@vahnayasaki6989
@vahnayasaki6989 3 жыл бұрын
That rocket with revenant legs is going to haunt me in my sleep
@ivanweissbein5253
@ivanweissbein5253 3 жыл бұрын
Really funny to see those stray legs with a potential explosion on top
@DinnerForkTongue
@DinnerForkTongue 2 жыл бұрын
Especially now that he has released it for public use.
@ryoandr
@ryoandr 2 жыл бұрын
@@DinnerForkTongue I am both excited and terrified.
@artemiswillow5479
@artemiswillow5479 2 жыл бұрын
Rocket legs be like:
@dexter1981
@dexter1981 2 жыл бұрын
@@DinnerForkTongue its a new Doomguy skin for speedrunners?
@holden6104
@holden6104 2 жыл бұрын
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 Жыл бұрын
That and the build engine, (duke3d)
@Saktoth
@Saktoth Жыл бұрын
@@Dan-yk6sy duke used warp zones to do that, like portal.
@quantumuniversetvinc.6117
@quantumuniversetvinc.6117 Жыл бұрын
@@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 Жыл бұрын
@@quantumuniversetvinc.6117 Precisely.
@Cythil
@Cythil Жыл бұрын
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.
@Jay-ln1co
@Jay-ln1co 2 жыл бұрын
"Does the Doomguy have severe neck pains?" Yes, demons and hell are a major pain in the neck.
@SmallSpoonBrigade
@SmallSpoonBrigade 2 жыл бұрын
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.
@enquea
@enquea 3 жыл бұрын
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 3 жыл бұрын
Clearly you watch civvie lol
@Phobos001_youtube
@Phobos001_youtube 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@Meton12765 you really just wrote a tome to disagree with a youtube comment huh lmao
@Meton12765
@Meton12765 2 жыл бұрын
@@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
@mjc0961
@mjc0961 2 жыл бұрын
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 2 жыл бұрын
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 Жыл бұрын
I came to say the same, absolutely phenomenal edit skills with great humour while still getting the main point across.
@bf1701
@bf1701 3 жыл бұрын
Now I want a mod that adds revenant legs to all the rockets.
@alexeyvlasenko6622
@alexeyvlasenko6622 3 жыл бұрын
This should be an enemy in the game, it just runs up to you and blows up
@ArcturusOTE
@ArcturusOTE 3 жыл бұрын
@@alexeyvlasenko6622 Ah yes I do enjoy having PTSD from Serious Sam and Quake AD
@mjc0961
@mjc0961 2 жыл бұрын
Well, now it exists, check the latest video.
@NGRevenant
@NGRevenant 2 жыл бұрын
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 2 жыл бұрын
@@NGRevenant Hey, it's H.P. Lovecraft's cat, Tigger-man!
@thenate5367
@thenate5367 2 жыл бұрын
Fun fact: the Vanilla style of vertical look, also known as y-shearing, originated in Heretic
@LonelySpaceDetective
@LonelySpaceDetective 2 жыл бұрын
Heretic also added z-collision to monsters and decoration IIRC, allowing you to fly over them when using its flight power up.
@Xilefian
@Xilefian 2 жыл бұрын
Marathon had it too, released almost exactly the same time as Heretic
@LonelySpaceDetective
@LonelySpaceDetective 2 жыл бұрын
@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 2 жыл бұрын
@@Xilefian there's probably other prior art as well, but it's certainly the first doom source based implementation.
@danlock1
@danlock1 Жыл бұрын
@@LonelySpaceDetective Raven Software developed some amazing improvements for the engines on which its games were based.
@TheCarPassionChannel
@TheCarPassionChannel 3 жыл бұрын
Came from the uncle decino recommendation, stayed for the A+ quality and information
@DebugOctopus
@DebugOctopus 2 жыл бұрын
Decino is a legend. He helps smaller channels all the time
@JaapioNL
@JaapioNL 2 жыл бұрын
+1
@stefansv
@stefansv 2 жыл бұрын
My thoughts exactly!
@IngoPagels
@IngoPagels 2 жыл бұрын
uff. i thought THIS is the voice of decino ? With a new channel or something? 0.0
@gram.
@gram. 2 жыл бұрын
Came for ya mum and stayed for dinner
@luigimaster111
@luigimaster111 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@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 2 жыл бұрын
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 2 жыл бұрын
@@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 2 жыл бұрын
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.
@eternal4074
@eternal4074 3 жыл бұрын
Here from decino, this is a fucking great video
@BigboiiTone
@BigboiiTone 3 жыл бұрын
Yes brother
@MC-bh8ph
@MC-bh8ph 3 жыл бұрын
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 2 жыл бұрын
Daggerfall flashbacks
@kekeke8988
@kekeke8988 2 жыл бұрын
The maps are horrible rat mazes. What are you even talking about?
@mcswordfish
@mcswordfish 2 жыл бұрын
@@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 Жыл бұрын
@@kekeke8988 Well, at least it's not a 2 floor maze
@ironcito1101
@ironcito1101 Жыл бұрын
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.
@carterguy2600
@carterguy2600 2 жыл бұрын
"Its likely because of a well known fact: Projectiles dont have legs. They cant run around and make sick platforming." Golden quote
@_antares031
@_antares031 3 жыл бұрын
Thumbs up for all of these visual effects for easier comprehension :thumbsup:
@dario110011
@dario110011 3 жыл бұрын
I agree! This was some awesome visual effects for things like hitboxes!
@LordMisfit
@LordMisfit 3 жыл бұрын
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 2 жыл бұрын
agree this was a highlight, love the effort
@Mikk-ur3fr
@Mikk-ur3fr 2 жыл бұрын
@@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 2 жыл бұрын
@@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.
@PeterLawrenceYT
@PeterLawrenceYT 3 жыл бұрын
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.
@beamweapons
@beamweapons 2 жыл бұрын
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 2 жыл бұрын
Do you recommend CrispyDoom or GZDoom overall? What's the best port? Also what's your fave doom clone like Heretic etc
@beamweapons
@beamweapons 2 жыл бұрын
@@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 2 жыл бұрын
@@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
@JoeyGamer55
@JoeyGamer55 2 жыл бұрын
I appreciate this new genre of people with European accents teaching me about how DOOM works.
@Oli1974
@Oli1974 2 жыл бұрын
That's a russian accent.
@KidPrarchord95
@KidPrarchord95 2 жыл бұрын
@@Oli1974 Russia is (partially) in Europe.
@Oli1974
@Oli1974 2 жыл бұрын
@@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 2 жыл бұрын
only NA would name something an european accent
@rwentfordable
@rwentfordable 2 жыл бұрын
@@Oli1974 He did say 'European accents'.
@nobody-tj1mv
@nobody-tj1mv 3 жыл бұрын
Holy shit this video is well edited. The visuals really help.
@MarphitimusBlackimus
@MarphitimusBlackimus 3 жыл бұрын
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 3 жыл бұрын
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 3 жыл бұрын
@@luisaazul Holy shit, I'd love a link to that.
@taylorkelly6414
@taylorkelly6414 3 жыл бұрын
Hey Marphy, should have figured you'd be here lol
@SirSilicon
@SirSilicon 2 жыл бұрын
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 2 жыл бұрын
Troo Cullers is another good tonemapper if you're not gonna be cranking the ao
@thedungeondelver
@thedungeondelver 3 жыл бұрын
decino sent me here, and I'm glad he did!
@theharlequin7280
@theharlequin7280 Жыл бұрын
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 3 жыл бұрын
Great summary vid on this recurring topic.
@eebu4053
@eebu4053 3 жыл бұрын
I grow more bitter and selfish every day I spend in this world
@scumbag414
@scumbag414 3 жыл бұрын
Shaaaaadup
@thiagovidal6137
@thiagovidal6137 3 жыл бұрын
Don't you hate when people say Doom isn't 3D? Decino brought me here. Great video. Subscribed.
@yogipg2022
@yogipg2022 2 жыл бұрын
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.
@ZX3000GT1
@ZX3000GT1 2 жыл бұрын
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 11 ай бұрын
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 10 ай бұрын
nowaday arcade system are basically pc/console in disguise (ex: sega lindebergh and namco system 357)
@ZX3000GT1
@ZX3000GT1 10 ай бұрын
@@BluBombs 357 is PS3 based. Other than that you're correct
@tristan6509
@tristan6509 10 ай бұрын
@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 10 ай бұрын
@@tristan6509 Well, some machines are not THAT outdated. Sega's ALLS UX uses i5 6500 and GTX 1070 for example.
@yetanotheruser1989
@yetanotheruser1989 2 жыл бұрын
1:26 simply stunning design there!
@chainsawplayin
@chainsawplayin Жыл бұрын
I think that's from Eviternity.
@kennylauderdale_en
@kennylauderdale_en 2 жыл бұрын
Yup. Doom was a good game. A good 3D game.
@pentagramofprotection
@pentagramofprotection 2 жыл бұрын
Doom *is* a good game.
@CrucialDuude
@CrucialDuude 3 жыл бұрын
If anything this just made me appreciate the original Doom's engine and all the hard work that went into it even more.
@MachFiveFalcon
@MachFiveFalcon 5 күн бұрын
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!
@n11n12
@n11n12 2 жыл бұрын
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.
@DoomKid
@DoomKid 2 жыл бұрын
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!
@SevenCompleted
@SevenCompleted 2 жыл бұрын
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 2 жыл бұрын
But none of the vertices do.
@Mikael404
@Mikael404 2 жыл бұрын
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 2 жыл бұрын
@@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 2 жыл бұрын
@@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.
@yobrethren
@yobrethren Жыл бұрын
The Doom Ending soundtrack at the vertical aiming part though, spot on feeling hahahahah
@GeddyRC
@GeddyRC 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!
@benallen4183
@benallen4183 2 жыл бұрын
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!
@ChrisJEPlace
@ChrisJEPlace 3 жыл бұрын
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!
@MrTheMasterX
@MrTheMasterX 3 жыл бұрын
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!
@3DSage
@3DSage 2 жыл бұрын
It's so cool how well you demonstrate this visually! Very cool
@ClassicDOOM
@ClassicDOOM 2 жыл бұрын
_Thank you_ for this. Some of us have been battling the [censored] "Doom is actually 2D" myth for decades. Cheers. :)
@DoomKid
@DoomKid 2 жыл бұрын
Good to see you here, brother in arms!
@ClassicDOOM
@ClassicDOOM 2 жыл бұрын
@@DoomKid You too! (And btw great job on your recent multiplayer video. 👍 )
@nicholasswanson7186
@nicholasswanson7186 2 жыл бұрын
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!
@Samarai-hf9si
@Samarai-hf9si 2 жыл бұрын
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.
@tarkus2455
@tarkus2455 2 жыл бұрын
I only knew about the "no rooms above rooms" thing, but i had no idea of the other limitations! Great video.
@MatthewBester
@MatthewBester 3 жыл бұрын
5:02 Ahhh I always wondered why Duke Nukem 3D's mouse look always seemed a bit off.
@Olek54321
@Olek54321 3 жыл бұрын
that was my first reaction too! Duke Nukem 3D mouse look haha :D
@HammerHand83
@HammerHand83 3 жыл бұрын
Yup, a feature/shortcoming of the Build Engine. The same thing happens in Blood.
@bluebay0
@bluebay0 2 жыл бұрын
Yup, Blood is the first thing that came to my mind.
@LonelySpaceDetective
@LonelySpaceDetective 2 жыл бұрын
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.
@BiodegradableYTP
@BiodegradableYTP 3 жыл бұрын
Terrific video, man. You amped up the production value considerably and the hard work really shows! Tongue-in-cheek and educational, I love it.
@susu5331
@susu5331 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!
@clickpond7825
@clickpond7825 2 жыл бұрын
this channel seriously deserves more views man, i sincerely hope you continue to put out content!
@Allen.Christian
@Allen.Christian 3 жыл бұрын
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.)
@danmanx2
@danmanx2 2 жыл бұрын
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 2 жыл бұрын
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"
@rootfelixfake6716
@rootfelixfake6716 2 жыл бұрын
This editing one of the most beautiful and pleasent things I've seen on KZbin for a long time
@kazeroth1234
@kazeroth1234 3 жыл бұрын
Love your humor and visual storytelling, can't wait to see your next video! :)
@TheFancifulNorwegian
@TheFancifulNorwegian 3 жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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.
@EmApex
@EmApex 2 жыл бұрын
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 3 ай бұрын
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 3 ай бұрын
@@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.
@peccatummihzamiz7376
@peccatummihzamiz7376 3 жыл бұрын
Another amazing video! Thank you so much for making it and I wish you all the best with your future work!
@lazycat9731
@lazycat9731 2 жыл бұрын
HOLY SHIT. The shots are beautiful, the editing is beautiful and your voice is beautiful. Fucking kickass video keep up the work
@awesomeferret
@awesomeferret 2 жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@fusedqyou did you even watch the video my dude
@SpunkMayo
@SpunkMayo Жыл бұрын
@@fusedqyou it isn't a "2.5D" game, it isn't "developed as a 2D game.".
@SpunkMayo
@SpunkMayo Жыл бұрын
@@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 Жыл бұрын
@@fusedqyou your entire "discussion" steams from a false statement, so no, I'm good.
@KepalaMonyet
@KepalaMonyet 2 жыл бұрын
5:17 This is somewhat how Duke Nukem 3D handled the old way of vertical aiming.
@BenHelweg
@BenHelweg 2 жыл бұрын
Build engine, I think it must have because it looks exactly the same.
@andrewt836
@andrewt836 2 жыл бұрын
I used to spend days building my own duke 3D levels. The build engine was so easy to use
@Optimus6128
@Optimus6128 2 жыл бұрын
And Heretic possibly
@KepalaMonyet
@KepalaMonyet 2 жыл бұрын
@@Optimus6128 I believe Heretic could only be played like DOOM (1993)
@Optimus6128
@Optimus6128 2 жыл бұрын
@@KepalaMonyet It did have up/down view shearing, they added it in the engine, although by pressing buttons not sure about mouselook.
@Demonskunk
@Demonskunk 21 күн бұрын
Your use of music during the vertical look demonstration is impeccable.
@shableep
@shableep Жыл бұрын
Whoa, the production quality and care put into this video is mind blowing. Amazing work.
@xmod2
@xmod2 2 жыл бұрын
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.
@Maddin1313
@Maddin1313 2 жыл бұрын
5:10 It's like using a shift lens. It's pretty cool.
@artcox2991
@artcox2991 2 жыл бұрын
Fantastic content, thanks! Really looking forward to more of your vids.
@EDEdDNEdDYFaN
@EDEdDNEdDYFaN 2 жыл бұрын
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!
@potatoface4698
@potatoface4698 2 жыл бұрын
5:15 🤣 also, top tier editing and fantastic humor
@x1teDota
@x1teDota 3 жыл бұрын
2:29 That got a laugh out of me.
@yogipg2022
@yogipg2022 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
@bannisray3683
@bannisray3683 3 жыл бұрын
Decino sent me here. Great Vid man.
@ArpeggioPegasusMusic
@ArpeggioPegasusMusic 2 жыл бұрын
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 ?"
@eebu4053
@eebu4053 2 жыл бұрын
doke nokem
@fakeplasticsoldier
@fakeplasticsoldier 2 жыл бұрын
This is a great piece of work. The visualizations of the systems involved are awesome.
@UtterSpartan
@UtterSpartan 2 жыл бұрын
This is genuinely the best Doom tech video I've ever seen. Good job!
@Arkan1986
@Arkan1986 2 жыл бұрын
Now that's some quality content, мое почтение!
@Xegethra
@Xegethra 2 жыл бұрын
"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 2 жыл бұрын
Even VR is just 2 2d images fooling our brains, it's all very clever stuff really, but just math!
@bronzemoongames
@bronzemoongames 2 жыл бұрын
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 2 жыл бұрын
@@bronzemoongames "How can mirrors be real, if our eyes aren't real". ~Jaden Smith
@RickyMcSpanish
@RickyMcSpanish 2 жыл бұрын
Awesome Video, did not expect to watch the full thing, Video was randomly recommended to me but now subbed :)
@kvazimozi_EN
@kvazimozi_EN 2 жыл бұрын
I like very much the clean and stylish presentation of the video, it's very nicely put together... much appreciate it!
@ahmadbani1452
@ahmadbani1452 3 жыл бұрын
I sure hopes youtube recommends this video. Not just decino
@Mkemcz
@Mkemcz 2 жыл бұрын
The vertical look reminded me of Star Wars Dark Forces where you could look up and down with the same distorted visuals.
@LonelySpaceDetective
@LonelySpaceDetective 2 жыл бұрын
​@@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 Жыл бұрын
@@LonelySpaceDetective I didn't mean to imply that DF runs on the same engine, just that it uses the same rendering technique. :-)
@LonelySpaceDetective
@LonelySpaceDetective Жыл бұрын
@@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 Жыл бұрын
@@LonelySpaceDetective Oh, I see it now. :facepalm: That's what happens when your brain takes shortcuts. :-D Have a good day! :-)
@jonnyronnyguy
@jonnyronnyguy 2 жыл бұрын
Haha got PTSD from Shadow warrior and Duke3D's pixel distortion from vertical aiming when you used crispy DOOM. Also loved the Eviternity references in the video. Love your work.
@burgerthief5333
@burgerthief5333 2 жыл бұрын
Yes! That vert look stuff like in Duke3d gives me flashbacks of places I've never been to :)
@onlyusernameleft2
@onlyusernameleft2 2 жыл бұрын
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.
@Matt-td8xw
@Matt-td8xw 3 жыл бұрын
5:18 i renember when i discovered i could look up and down in the classic doom, it was horrible...
@WSADKO
@WSADKO 3 жыл бұрын
rocket with legs reminds of "Run for it!" mod, hilarious :D
@Halfpipesaur
@Halfpipesaur 2 жыл бұрын
The visualisations are great! Really well explained in under 7 minutes. I'll sure check out the linked article as well.
@user-ri7yc6lw2w
@user-ri7yc6lw2w Ай бұрын
Insane editing man! Got me really hooked on the video. Can tell you put insane time to it 💪🏻
@PsychoRavager
@PsychoRavager 2 жыл бұрын
In conclusion, DOOM is 4D.
@willeatpants7691
@willeatpants7691 3 жыл бұрын
I'm going to dream about rockets with legs now. Then have a nightmare about colum rendering gone wrong!
@EditorJohn_TIRL
@EditorJohn_TIRL 2 жыл бұрын
Both learned something knew AND found it entertaining! You do a great job of visually explaining things! Great work here!
@Cham-
@Cham- 2 жыл бұрын
The amount of work here is... Unmatched for this type of content. Just wow.
@diegog1853
@diegog1853 2 жыл бұрын
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 2 жыл бұрын
​@@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 2 жыл бұрын
@@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 2 жыл бұрын
Height bitmap?
@fasgamboa
@fasgamboa Жыл бұрын
If it is "How high" then it is already 3D...
@GUARDIANA01
@GUARDIANA01 2 жыл бұрын
Absolutely excellent and informative vid brother . Well done 🤘 As an OG gamer , this was a pleasure to watch mate , cheers .
@deuone
@deuone 3 жыл бұрын
the visual designs in this video are amazing, helps visualize the narration so exemplary.
@jaha9329
@jaha9329 3 жыл бұрын
This rocket on revenant legs gave me serious Rayman 2 vibes. Nice video man!
@Kevin-jb2pv
@Kevin-jb2pv 2 жыл бұрын
1:11 Did you really take the imp encounter doomguy sprite and just swap in a bubble level? Subbed.
@Kevin-jb2pv
@Kevin-jb2pv Жыл бұрын
@@borogk Kids these days just don't have their minds in the gutters like they used to.
@MonarkenRTV
@MonarkenRTV 2 жыл бұрын
Amazing work, alot of love put into this video!
@Computer_Freak_2004
@Computer_Freak_2004 2 жыл бұрын
Wow! Didn't expected such a video from a small KZbin Channel! Great video!
@christiangottsacker6932
@christiangottsacker6932 3 жыл бұрын
The Doom community and the Valve community are still the best. Much wholesome, so helpful.
@dragonsinfluence68
@dragonsinfluence68 3 жыл бұрын
i blame game theory for spreding this miss information
@GLENC0C0
@GLENC0C0 Жыл бұрын
Amazing video! Looking forward to more of your stuff!
@Optimus6128
@Optimus6128 2 жыл бұрын
Such a good short and high quality video of the eternal argument. Just found your channel from this video and am surprised how good the videos are and how fun and interesting to watch.
@MrVinicius5000
@MrVinicius5000 2 жыл бұрын
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 2 жыл бұрын
@@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 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. kzbin.info/www/bejne/d3LIgIuniJdqZ8k
@MrVinicius5000
@MrVinicius5000 2 жыл бұрын
@@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 2 жыл бұрын
@@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 2 жыл бұрын
@@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 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@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 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 2 жыл бұрын
@@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.
@Spartan195X
@Spartan195X 11 ай бұрын
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!
@ayerle3083
@ayerle3083 3 жыл бұрын
This video was so good made. I hope we will see more of that stuff. Exactly that type I love to watch.
@BigHailFan
@BigHailFan 3 жыл бұрын
Finally someone debunks that stupid game theory video.
@BigHailFan
@BigHailFan 3 жыл бұрын
@@borogk sadly people still push it as fact.
Why Doom is Awesome: Binary Space Partitioning
26:25
ShreddedNerd
Рет қаралды 974 М.
kkrieger: Making an Impossible FPS | Nostalgia Nerd
28:49
Nostalgia Nerd
Рет қаралды 1,1 МЛН
◆テンゲテンゲダンス~Tengelele~◆ #ひめちゃんとおうくん #funny #shorts
00:24
プリンセス姫スイートTV Princess Hime Suite TV
Рет қаралды 21 МЛН
A closer look at the Super NES DOOM Source Code Release | MVG
13:49
Modern Vintage Gamer
Рет қаралды 722 М.
Build Engine: A Short Lived but Glorious 2.5D Powerhouse
16:37
brokenportals
Рет қаралды 11 М.
More Interesting Findings About Doom's Graphics
10:02
decino
Рет қаралды 2,3 МЛН
Sunlust - Why is it Great?
10:44
borogk
Рет қаралды 44 М.
The Best Boomer Shooters Are Amazing
11:58
LevelCapGaming
Рет қаралды 747 М.
Doom Crushers Are Weird
17:17
decino
Рет қаралды 368 М.
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,3 МЛН
The Truth About PS1 Graphics
3:06
Garbaj
Рет қаралды 1,5 МЛН
Peek-a-boo! [SFM] #shorts
0:16
Kostamoinen
Рет қаралды 31 МЛН
skibidi toilet 73 (part 1)
4:46
DaFuq!?Boom!
Рет қаралды 30 МЛН
Minecraft Japanese Mountain Temple Build Timelapse 🤯
0:41
CraftedGaming Shorts
Рет қаралды 58 МЛН
Can BRAWLERS SURVIVE in The SMOKE BATTLE!?🤯 #brawlstars #bs #shorts
0:34
KINGS OFFICIAL YT
Рет қаралды 6 МЛН
Что творит этот боец
0:59
Garga
Рет қаралды 1,3 МЛН