No video

Why looking up feels weird in Duke Nukem 3D

  Рет қаралды 167,352

RetroGarage

RetroGarage

Күн бұрын

In this video I explain why looking up and down feels weird in 2.5D games like Duke Nukem 3D.
Reading materials:
Doom engine source code review: fabiensanglard...
Build engine internals: fabiensanglard...
Ken Silverman's home page: advsys.net/ken/
Curvilinear perspective: en.wikipedia.o...
How to Draw (non affiliated):
www.amazon.com...

Пікірлер: 364
@kazaloolovesgames
@kazaloolovesgames 2 жыл бұрын
The work around hardware limitations is amazing. I prefer fully polygonal 3D games but there is undoubtedly a charm in the 2.5D aesthetic.
@1erickf50
@1erickf50 Жыл бұрын
2.5D's both charm and limitation is the use of 2-point perspective as opposed to true 3D's 3-point perspective
@mjay6245
@mjay6245 Жыл бұрын
​@@1erickf50 Yes, we watched the video too lmao
@atheist101
@atheist101 Жыл бұрын
I've been going back to build engine games recently and started to appreciate them more. I was a kid when I first played Doom and Duke Nukem. I never heard of Blood until recently so I've been really enjoying it. There's more than just the rendering and charm of the engine, it's the style of game play they have. Sure it's a simple run and gun shooting game but the way they are played is unique. Ion Fury managed to capture it and is one of my favorites. Doom 2016 and Eternal almost got it but barely missed the mark. It's about the maps, the enemy placement and the crazy hectic combat. Eternal has empty corridors and then an arena you fight in instead of rooms and halls filled with cunning enemy placement. There's nothing better than getting done with a big fight only to turn a corner and there's 5 expert level monsters immediately gunning you down.
@pokechamp3987
@pokechamp3987 Жыл бұрын
The older ones felt a bit more like a puzzle
@KairuHakubi
@KairuHakubi Жыл бұрын
when I first learned these games weren't true 3d, i couldn't believe it.
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
It’s due to the technique used : *Y-shearing.* Heretic & Dark Forces also used it. True 3D needs to divide each coordinate by the Z to implement perspective projection, which is an “expensive” operation in computer performance terminology. It really only became feasible once graphics accelerators proliferated.
@user-sl6gn1ss8p
@user-sl6gn1ss8p Жыл бұрын
One thing to note is that "diving stuff by z" is also not "correct": the distance from the camera is not really the z coordinate on all points, and for large angular apertures the difference can be fairly drastic. The "correct" thing would be to calculate the actual distance from some point, but that would be even more expensive. This is actually quite noticeable on many "real 3D" games when you have stuff extending near the camera
@OCTAGRAM
@OCTAGRAM Жыл бұрын
System Shock, dated 1994, provides 3D projection, but all the map is aligned to a grid, and maybe it is a technological limitation
@oasntet
@oasntet Жыл бұрын
It was less about graphics accelerators and more about floating point accelerators. Quake and Half-life were fully 3d, and while they could use a GPU, they both also had perfectly functional software renderers. The GPU just allowed for better resolutions and higher framerates.
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
@@user-sl6gn1ss8p It is once you transform the coordinates into camera space. You also need to do screen projections by the view angle & distance. Seems like you know math but have never actually implemented a 3D engine. There’s no need to do a square by the distance on arbitrary points. This is what they transformation matrices are for. So, yes, it’s “correct”. I’ve done it. You just don’t know what you’re talking about. Please stop trying to strawman me.
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
@@oasntet That was more due to Pentiums allowing a U & V pipe to parallel instructions. Read Mike Abrash.
@unfa00
@unfa00 Жыл бұрын
The funny thing is - we can achieve the "incorrect" look of Build Engine's "looking up" by using a tilt shift camera lens. The Build Engine does not simulate rotating the camera up or down like Quake does, but shifting the camera's frame up or down without changing the perspective.
@Randomgirl13102
@Randomgirl13102 Жыл бұрын
Hi unfa, surprised to see you here
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
Yeah, it’s called Y-shearing.
@Lattamonsteri
@Lattamonsteri Жыл бұрын
That's something architecture photography uses a lot, right? :P They wanna make walls look straight instead of leaning because of some subconscious things, like the building might look like it's falling or something if it's pictured with 3-point perspective? :D Or is it just a stylistic choice?
@unfa00
@unfa00 Жыл бұрын
@@Randomgirl13102 Hi! :)
@unfa00
@unfa00 Жыл бұрын
@@Lattamonsteri Yeah, I think it's considered to be looking better. It does give a more "neutral" appearance.
@mmdoof
@mmdoof Жыл бұрын
Descent from 1995 was full 3D and was semi-playable on a 386 computer. It was more about optimisation and the features that the Duke team wanted to focus on, not the absolute lack of suitable hardware. Descent's mapwork was more ascetic, but on the other hand it had 3D enemy characters and some pretty solid effects. I also remember Quake running slightly smoother than Duke on my friend's 486, but I'm not sure what type that machine was exactly...
@FSdarkkilla
@FSdarkkilla Жыл бұрын
Yeah as an old Descent player I'm always enraged how people constantly ignore that it was released before Quake and had "actual" 3D rendering, even if the engine was limited to rendering indoor things... the only 2D sprites (apart from the cockpit view) were the hostages, weapon projectiles* (not rockets...) and powerups. Enemies were full 3D and even the player's ship was (in multiplayer) full 3D. Later there even was an official patch to utilize 3DFX Voodoo cards and Descent (+ Descent 2 and 3 - even though that one was Glide/Direct3D/OpenGL and a 32 Bit Windows game from the start) could use the Voodoo to its full potential, where other games still had 2D enemy sprites and no real vertical movement - their 3DFX patches (if they existed) where far worse.
@mmdoof
@mmdoof Жыл бұрын
@@FSdarkkilla it was a masterclass in efficient programming. Practically full 3D with the hardware requirements of Doom II.
@jimmy21584
@jimmy21584 Ай бұрын
The enemies had fast affine texture mapping; the levels were perspective correct but had a lot of jaggies up close; it’s been a while since I looked at the Descent source code, but I imagine they aren’t doing the perspective correction for every z distance. Super genius and optimised engine for sure!
@AmberLB93
@AmberLB93 Жыл бұрын
This just shows how these games were made with blood, sweat, tears, and sheer determination of will. It's incredible.
@iidoyila
@iidoyila Жыл бұрын
and code . and some maths knowledge . and some computers . being in the right place at the right time with the right knowledge ; not something you can always have just by crying about it .
@dukkemonterier3429
@dukkemonterier3429 Жыл бұрын
Imagine if it was still like this today.
@nil0bject
@nil0bject Жыл бұрын
it shows a lack of intelligence. bungie was able to do it properly before duke3d was released
@iidoyila
@iidoyila Жыл бұрын
@@nil0bject are you talking about doom ? they had to solve the problem of displaying massive variations in the z axis in 3d, id were legends and everyone else had to play catch-up
@holl7w
@holl7w Жыл бұрын
​@@iidoyila the hardest parts were optimisation.
@JamesTDG
@JamesTDG Жыл бұрын
Keep in mind it's easier to notice when you are directly playing the game. A perfect way to make sure you can see the difference is in fact to play the anniversary version of nukem 3d, as you can toggle between classic and modern cameras
@theopenrift
@theopenrift Жыл бұрын
You can also look up and down with the mouse in Duke Nukem 3D if you press the U key.
@zummone
@zummone Жыл бұрын
I'm screaming at the video right now, thank you. Also, I hope he will say this only concernes the renderer part of the game, not the actual assets.
@thewerepyreking
@thewerepyreking Жыл бұрын
yeah this is how I played the whole game. Thought everyone did
@andyjohnson4907
@andyjohnson4907 Жыл бұрын
And was the crosshair shortcut "I"? I remember always pressing "U" and "I" every time I loaded my save game.
@theopenrift
@theopenrift Жыл бұрын
@@andyjohnson4907 yes.
@yuotueb
@yuotueb Жыл бұрын
@@andyjohnson4907 haha, I also still get the impulse to press "I" every time I see a Duke3d video clip without the crosshair.
@TerryMartinART
@TerryMartinART Жыл бұрын
This was the first game I ever tried to mod. Remember making maps then going to friends house on the weekend for a lan party and playing it with others. Used to make hugh pits that annoyed players... Where they would fall for a long time before being able to respawn. Remember vividly making sprites of mesh planes. Billboards is what I would say they are called today.
@bigscheesy4982
@bigscheesy4982 Жыл бұрын
Btw quakes inability to display curvilinear or 5-point perspective is not due to its "perspective" but fov. Quake is not rendering 3 point perspective as it is not rendering one type of perspective as they all exist in a 3d space given it is true 3d. The only thing required to display curvilinear perspective is to widen the fov (which im sure is doable in quake), similar to changing from a long focal lens to a wider one, the nature of our worlds perspective doesn't change, just the parameters of the lens viewing it.
@NexuJin
@NexuJin Жыл бұрын
The fov setting in Quake is horizontal field of vision based on a 4:3 aspect ratio output.
@1e1001
@1e1001 Жыл бұрын
pretty sure not, it can only render straight lines for the polygons
@3DSage
@3DSage Жыл бұрын
Great explanation! I recently showed how to program doom from scratch and it's a great thing to learn.
@takacsadam2850
@takacsadam2850 Жыл бұрын
i was like, bruh it's like a VERY long vertical image that allows scrolling and then you actually said the same thing at the end was so satisfying
@selatorepico5975
@selatorepico5975 Жыл бұрын
I love that automatically generated captions wrote 'consumer man' instead of 'Ken Silverman'.😂 Great video btw
@ImaginaShip
@ImaginaShip Жыл бұрын
Fascinating video! I always thought games like DN3D, Dark Forces, Shadow Warrior, and other games with the ability to look up and down felt unnatural but figured it was the limitations of the engine and never put more thought into it.
@NicholasBrakespear
@NicholasBrakespear Жыл бұрын
What I find interesting about this progression of technology is how certain things now make sense about the old days - when I first got into gaming, I had a crappy 486 with 8MBs of RAM (upgraded from 4). I bought Quake... it wouldn't run. I remember something about "floating point" being the issue; my CPU at the time couldn't handle the calculations a true 3D game needed. Now, knowing more about the technology later in life, it all makes more sense. At that point in history, one of the biggest changes... was mathematical; it wasn't a matter of brute force, of raw computational power, but about the type of computation being done. The type of mathematics being done.
@novemberbreed4669
@novemberbreed4669 Жыл бұрын
I actually first ran Quake (Dos version) on a 486DX4@100MHz and 8MB of RAM, with a Trident 9440 1MB video card. It was slow, but it worked.
@NicholasBrakespear
@NicholasBrakespear Жыл бұрын
@@novemberbreed4669 I would have envied you intensely back then. Whatever my setup was, it was evidently impossible to get it running. I remember listening to the soundtrack (once I realised you could play the CD audio on a CD player), and staring at the manual, and the box, and fantasizing about playing it.
@Uglynator
@Uglynator 2 жыл бұрын
Great vid! I've been looking for a comprehensive breakdown like that!
@retrogarage8734
@retrogarage8734 2 жыл бұрын
Thanks!!
@Puxi
@Puxi Жыл бұрын
@@retrogarage8734 Why. Do. you. speak. so. funny. and. take. a. break. after. each. word. are. you. chinese.
@brullov_labs
@brullov_labs Жыл бұрын
0:24 it's not ROR, just a bridge made of sprites :]
@ian_b
@ian_b Жыл бұрын
I never had an issue with the 2.5D version and found it somewhat easier to decode visually; I suspect because our brains do an autocorrect before we're aware of the distortion from real 3D, but not so readily on a screen where it's actually a flat image.
@fonesrphunny7242
@fonesrphunny7242 Жыл бұрын
I played flat shaded 3D games long before Duke 3D, so the wrong perspective always bothered me and I couldn't adjust to it.
@alianant
@alianant Жыл бұрын
Wow, this was a fantastic video explaining the concept, and your visualizations were excellent. I'm glad KZfaq put this in my suggesteds.
@z-em4612
@z-em4612 Жыл бұрын
The more you learn about duke nukem 3d, the more you are amazed of the cleverness of its creators
@Caleb-fv5fp
@Caleb-fv5fp Жыл бұрын
Duke nukem 3d was not the last 2.5d fps, when quake came out, no one had ever seen anything like it and it took at least a year for developers to scramble and make their own 3d engine. There where plenty of 2.5d games released later in 1996 into 97 and some from 98. In 1996 you had duke nukem 3d, strife, Chex quest, powerslave, and final doom and it’s 2 expansion packs, and in 1997 you had blood, shadow warrior, chasm the rift, hacx, red neck rampage, and outlaws. There where probably less 3d games released in this time then 2.5d, I can only think of quake, quake 2, and turok.
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
All the same engines as Duke 3D & Doom; Build & idtech1 respectively. The only exception in your list is oulaws which used the Dark Forces engine & Chasm (that’s its own thing). Yes, all 2.5D, but with existing engines. The tech was still useful so we got more games using it.
@OCTAGRAM
@OCTAGRAM Жыл бұрын
System Shock came out in 1994, and its 3d was more proper. Its map was forced to a grid of 45 and 90 degrees, but player was free to look in any direction, lean left and right from the corner
@moosemaimer
@moosemaimer Жыл бұрын
The game nobody ever remembers is Descent. It had a fully-3D engine with 6 degrees of freedom in 1995.
@OCTAGRAM
@OCTAGRAM Жыл бұрын
@@moosemaimer I have in Steam all versions of it, but indeed I had no idea if I should play it.
@Shikaku2
@Shikaku2 Жыл бұрын
Daggerfall was released in 1996 and the environments were full 3D. If it wasn't 3D it did a damn good job making it look 3D in a DOS game
@amzs_deleted
@amzs_deleted Жыл бұрын
Wonderful explanation! An illustrator here: We need more points more farther we are. Very close, it's 1-point perspective. A bit far - 2-point. Up to fish-eye, 5-point, which is human eye vision.
Жыл бұрын
0:24 - There is no ROR in Duke3D, you've shown a sprite bridge. In Duke3d you can have 2 sectors intersecting if you can't see both of them occupying the same vertical space. The game with ROR was Blood, but it is kind of limited, you can have only 2 sectors using the portal rendering.
@morlamweb
@morlamweb Жыл бұрын
Shadow Warrior had some level of room-over-room, too, or at least transparent water, which is similar.
@Dargonhuman
@Dargonhuman Жыл бұрын
So this is, essentially, the 2.5d version of the "pan and scan" technique movies used to adjust 16:9 movies to 4:3 TV screens back before widescreen TVs were a thing. Basically, how pan and scan worked was a "focus frame" that matched the TV's 4:3 aspect ratio was placed on the 16:9 movie frame, which the editor could move (or "pan") around the larger frame to focus on essential bits of action. Whenever the focus frame moved, though, it created the same unnatural and offputting feeling of looking up and down in Duke Nukem 3D as the perspective didn't shift as predictably as a real camera movement would have. This offputting feeling was made worse if the focus frame was panned at the same time as the camera was moving as the perspective shift of the camera often would move contrary to the focus frame panning - a very poorly edited movie using pan and scan could even trigger someone who suffers from motion sickness and, rarely, even epilepsy. There's a very good reason why many of the more prolific and artistic filmmakers of the day said pan and scan ruined cinema for home viewing... It's still very interesting to see that similar techniques were developed for games of the same era.
@Charlymander
@Charlymander Жыл бұрын
Now that I look back at how this weird effect looked back in the day, It reminds me of how you scroll a pdf document with photos up and down lol. Its strange how they thought this could be a convincing solution for its time, it always looked weird but interesting.
@CarlMahnke
@CarlMahnke Жыл бұрын
Looking up and down was needed if you wanted to shoot a switch, because autoaiming did only apply for enemies.
@calebmoore1582
@calebmoore1582 Жыл бұрын
As a former 3D game developer, something I’d like to clarify here is true 3D games don’t have perspective per se, they have projections. The reason straight lines must be rendered straight even though human vision is curvilinear is that you are seeing the game world through a flat monitor. The renderer’s job is to work out what colour light would come through a point of an imaginary rectangle towards a set of of imaginary eyes in the game world and set it to the corresponding pixel of the monitor that is in front of your real eyes in the real world. If anyone is interested in how all of this works, they should look at projection matrixes. It is all just matrix multiplication.
@guiguito5505
@guiguito5505 Жыл бұрын
I didn't finish watching the video but I gotta correct you my friend. You need to aim up and down to effectively use splash weapons and the shrinker, also you need it to shoot at buttons to progress and to access secret s
@KingPBJames
@KingPBJames 5 ай бұрын
I'm glad I watched this video. I already knew most of how it works, I think from a video by Decino, but seeing the screenshots stacked on top of each other to show that the camera scrolls was not something I realized!
@I.____.....__...__
@I.____.....__...__ Жыл бұрын
- It's actually a lot simpler than that and has nothing to do with perspective at all. Looking up or down in _Quake_ actually TILTS the camera up and down, but in _Duke 3D,_ it PANS the camera up and down as if the player is standing or squatting. - Ken Silverman made the Build engine then disappeared. He played around with voxels, but never kept up with 3D games.
@TasnuArakun
@TasnuArakun Жыл бұрын
9:16 Glad to see Marathon mentioned! Though I feel that you failed to mention that the Marathon games did not have automatic vertical aim. You had to carefully aim up and down, which was quite tricky without a cross-hair. Sometimes it was impossible because you could only tilt your head a limited amount or the illusion would be ruined. As far as I can tell, Marathon was the first game with mouse-controlled free look. Many still played with keyboard only for the first few years though.
@steve7745
@steve7745 Жыл бұрын
Classic Bungie was always innovative, such great games!
@brutusmagnuson315
@brutusmagnuson315 Жыл бұрын
Yeah, mouselook in Build Engine games almost feel orthographic. Though, an actual orthographic camera in an FPS would be impossible to use, unless it was a sniping game.
@master_alex8605
@master_alex8605 Жыл бұрын
5:09 I know that effect to well every time I check if something's bent it looks bent because of my eye even if it's not bent
@NexuJin
@NexuJin Жыл бұрын
I remember making maps for Duke3D. Trying to make a swimming pool was complicated because of the fake 3D perspective. But before Duke3D and Quake. There was Descent, which came out a year before both games, in 1995. Which was also fully 3D and fully traversable in any direction, at any time. Since you are piloting a spaceship which has sideways, forward/backward and up/down movements. But this full freedom of motion was hard to control for many at the time with only a keyboard. This was prior to a mouse being generally accepted input device for FPS games.
@sitaroartworks
@sitaroartworks Жыл бұрын
The swimming areas required to recreate the flooded ones as the same size of the surfaces and the sector effector provided to link the two, just like a teleport. No matter where you draw the area. But the real issues came with mirrors. That was pretty tricky and buggy, especially on too large rooms, but the principle was just the same as pools.
@ravenweikel5974
@ravenweikel5974 Жыл бұрын
This could likely be remedied by skewing the final rendered image in post depending on the "angle" of the player camera. Of course, it won't be perfect, but it would likely be noticeably more realistic than the vertical scrolling method.
@DanaOtken
@DanaOtken Жыл бұрын
Doable with some precalculated tables, though I think you'd see a noticeable frame rate drop overall with the hardware of that era.
@BaddeJimme
@BaddeJimme Жыл бұрын
This makes the texture fuzzy unfortunately. If you die in Duke3D you see a rotated view, which is fuzzy for the same reason. Another issue that you see with source ports of 2.5d games is that true perspective makes sprite based enemies look really weird when you look up and down. So Duke3D was never going to look good if you did that, and getting too fancy wasn't worth the effort.
@herr_fuchsnews5630
@herr_fuchsnews5630 Жыл бұрын
You gave some really great visualizations to explain the topic!
@giovannozuglian5179
@giovannozuglian5179 Жыл бұрын
So, looking down in Duke 3D is, at certain extent, the same thing as crouching?
@OCTAGRAM
@OCTAGRAM Жыл бұрын
No, you look from above
@rashiro7262
@rashiro7262 Жыл бұрын
Nope. When you crouch/stand up, vertical lines stay vertical indeed, however you also shift the horizon line up and down. That's not the case here, otherwise you would see the top of the box when he looks up.
@CJ-jl6hf
@CJ-jl6hf Жыл бұрын
I remember getting real sick trying to look up in down in 2.5d games back then, so I never really did.😆 Always thought it was a cheap gimmick till Quake roared onto the scene
@markhill3858
@markhill3858 Жыл бұрын
Fisheye cameras dont produce "5 point perspective" .. they produce "sinusoidal perspective". This means the lines going to the vanishing point are curved .. they are sine waves, whose amplitude varies according to their variance from the three straight "horizon" lines that go thru the dead center of the image. Each of the three sine waves goes thru two vanishing points beyond the edges of the frame .. or at least far from the center of the image. A vanishing point near the center of the frame must have its next vanishing point beyond the edge of the image .. unless it is some kinda panoramic 360 degree type view. First demonstrated in the works of MC Esher (1898 - 1972) EDIT .. actually I think we are talking about the same thing .. I just never bothered to consider there are 5 vanishing points before .. usually Id add in a separate vanishing point per object in the drawing, to best suit its orientation :)
@Swenglish
@Swenglish Жыл бұрын
I wonder how much heavier it would have been to distort the entire image so that when you look down, the top of the frame stretches wider, and when you look up, the bottom of the frame stretches wider...
@sitaroartworks
@sitaroartworks Жыл бұрын
Quake wasn't the very first fully polygonal game, by the way. Descent had geometry and enemies fully polygonal and Terminator Skynet and Future Shock had the same but with 2D weapons and VFX.
@KairuHakubi
@KairuHakubi Жыл бұрын
Basically, the horizontal cheat is so good that it makes you EXPECT a similar vertical cheat, that sadly isn't there.
@UnderSkys
@UnderSkys 14 күн бұрын
Duke wasn't support room above room, untill Shadow Warrior updated engine, who empliment some sort of portal effects (we got translussive water, upper flors etc) , but in duke 3d no room above rooms, what you see there, 0:20, is 4 stretched sprites that put together.
@georgef551
@georgef551 Жыл бұрын
Later on, DooM-Engine games can do the same look up/down, with the same limit, such as Heretic, and HeXeN. Still no slopes, or room-over-room abilities. HeXeN did bring in tricks to make sectors deform, like swinging doors, for example.
@mwperk02
@mwperk02 Жыл бұрын
You actually can see 2.5d games using proper 3d perspective today. Most notably through modern source ports for doom. These source ports permit free looking and even full free aiming. One thing that does immediately become apparent is that the sprites really are 2d objects. The most extreme example is trying to look at them when they are directly below you on a ledge they become barely visible. The way the world is rendered also still looks a little weird. Though you can see why besides the hardware limitations of the time up and down looking wasn't utilized.
@sitaroartworks
@sitaroartworks Жыл бұрын
Yes, they squeeze as 2D points once you reach an upper point of view level. 2D sprites also show only one face, despite the Build engine could fake them in flat mode in order to make things like plants, trees or platform that allow you to overlap fake geometries. The engine always sees and classify them as simple sprites. I remember also that you were able to set their angle (eight-directional) from their "tail" on screen as a sort of indicator. Ah...good memories, what a glorious time!
@oleksiyprotas6376
@oleksiyprotas6376 Жыл бұрын
5 cents: the bridge in E1M1 isn't really a room over room, it's a bunch of horizontal and vertical sprites. As such, it's destructible.
@democracy_enjoyer
@democracy_enjoyer Жыл бұрын
duke nukem vertical camera movement looks like you are scrilling up a single picture
@ploskostnost
@ploskostnost Жыл бұрын
I already knew the technique but I really enjoyed watching the video nonetheless. Your explanation are very well-written and easy to comprehend!
@Bazztoner
@Bazztoner Жыл бұрын
Excellent video man! Very understandable, very clear examples and very smart way of visualizing the explanation. Keep 'em coming!
@Disthron
@Disthron Жыл бұрын
I have to say, I never had a huge problem with how Build Engine games handled looking up and down. Like when someone pointed it out I was like 'yeah that is a bit odd' but it didn't hurt the game for me.
@skeletspook
@skeletspook Жыл бұрын
I kinds like the distorted perspective but that’s probably the nostalgia. I do think modern ports for Duke or Doom that use 3 point perspective look off too. Mostly because it makes it much more obvious the sprites arr just flat billboards.
@homersimpson8955
@homersimpson8955 Жыл бұрын
And also because DirectX and OpenGL API based on projection matrix approach, so modern GPU are targeted for 3D projection and for a good reason.
@TheSektorz
@TheSektorz Жыл бұрын
Awesome video. Cool to see you take off time from running the Cyber 8 channel to do some retro gaming stuff, lol.
@IneptOrange
@IneptOrange Жыл бұрын
It's so strange seeing that effect. When I first saw it, I could have sworn the perspective shifted in the opposite direction to what it should, but in reality, my eyes are so used to seeing the normal perspective changes that I genuinely couldn't figure out what was going on.
@JReybabay
@JReybabay Жыл бұрын
You are an amazing youtuber! I’ve watched your playstation graphics video and this video and you have an amazing ability at describing these retro graphics
@jimboswe
@jimboswe Жыл бұрын
I remember spending a lot of time with the level editor for Duke Nukem 3D, but I never published any maps. You had to plan and work around the limitations, which in a way had its charm. In a top view you would draw and divide shapes that would be your walls, doors, floor height levels, crates and so on. Then in a 3D view you could select areas and raise the floor and/or lower the ceiling. So you could never have a floor or a platform that you could be both under and above. To create a mirror you needed a secret room behind the mirror that was at least as large as the room the player would be in infront of the mirror. And you would just set a special texture on walls and ceilings to show the skybox so it looked like you were outside, but you are always in a "closed box".
@alexthetrain6708
@alexthetrain6708 Жыл бұрын
Only 2k subs??? Underrared channel
@nemtudom5074
@nemtudom5074 9 ай бұрын
This is a really good explanation of what my issue is with some doom source ports aswell Thanks!
@Felix-nh5pw
@Felix-nh5pw Жыл бұрын
As somebody said: Quake is like Chingischan, every fps game has a little bit of Quake in its blood.
@Greywander87
@Greywander87 Жыл бұрын
Quake wasn't the first 3D game, though. I remember playing X-Wing on DOS, which used true 3D graphics. Looking it up, it seems X-Wing was released in 1993, as opposed to Quake's 1996. I'm sure there were other older 3D games as well, though obviously the graphics would have been more primitive. This suggests to me that we knew how to do it before computers were powerful enough to handle something like Quake. Games less intense graphically than Quake could get away with using 3D graphics on less powerful hardware, though it wouldn't look as visually impressive. This also explains some of the weirdness in looking up and down in Dark Forces, which was a Doom clone.
@comexk
@comexk Жыл бұрын
One reason we knew how to do it is that more or less the same algorithms had previously been used for non-real-time rendering, e.g. for movies and TV. You can get away with quite a lot weaker hardware when you're willing to wait hours for a single frame.
@kveller555
@kveller555 Жыл бұрын
Speed in general was the biggest roadblock. You could get away with having a dungeon crawler running at 10 fps, but a fast-paced shooter? They just needed the extra frames, so compromises had to be made.
@ddnava96
@ddnava96 Жыл бұрын
Instead of tilting the camera they're using a tilt-shift lens
@ArjunTheRageGuy
@ArjunTheRageGuy Жыл бұрын
so Duke Nukem 3D POV camera moves like an elevator when looking up and down while Quake and shooters after it moves the POV camera on angles
@imcrowbug
@imcrowbug Жыл бұрын
shoutouts for perfectly describing what 1, 2 and 3 point perspective means
@Novous
@Novous Жыл бұрын
you could have compared Duke Nukem with the software renderer vs one of the opengl renderers available in 25th anniversary edition or world tour edition, side-by-side. Instead of two different games.
@tweeleaf
@tweeleaf Жыл бұрын
put in simpler terms, duke nukem is rendered as a long vertical screen, like on a phone. looking up and down scrolls that vertical screen up and down, making it fit in a rectangle monitor.
@jasonkyleadams7577
@jasonkyleadams7577 Жыл бұрын
0:26 I could watch a full video on how room over room worked in vanilla Duke Nukem 3D and how the level designers used those tricks to create an immersive world.
@zsciaeount
@zsciaeount Жыл бұрын
Just stumbled upon your channel. Great content! I love these types of explainers. Subscribed!
@Fank0r
@Fank0r 2 жыл бұрын
Amazing work!
@Vic47
@Vic47 Жыл бұрын
Honestly, I don't remember issues with Duke Nukem 3D's way to do it (it was kinda weird, but generally felt okay, as if you're really just inspecting a flat photo or picture, or a page of text, so my brain accepted it fine, but Quake's way to di it, when teh camera rotates in one spot, creating something like the "fish eye effect", distorting walls and objects almost makes me dizzy. My brain just refuses to percieve this as "normal", because in real life when you look at things, you only clearly see that small area of the whole picture, much like in Duke Nukem 3D, and the rest of the picture is not so clear, so you don't see any distortions (also because they don't happen in solid objects), but when you "bow down" in Quake and the top end of the walls and boxes starts getting closer, as if they are falling at you, this makes me feel that something is not right, like if I'm very drunk and hallucinating.
@Mblackwell1024
@Mblackwell1024 Жыл бұрын
The weird sense of things visibly warping into that surreal "correct-ish" perspective shape is from shifting the aspect of the overdrawn pixels to fake the perspective via shearing (iirc calculated against the horizon in the case of Build). You can get this same effect emulated in EDuke32's 3D renderer (Polymost) by setting the console variable `r_yshearing` to 1. Set back to 0 disable. It works with modern Build games like Ion Fury as well.
@Dan-yk6sy
@Dan-yk6sy Жыл бұрын
Well done, I'll always watch a duke3d vid.
@Littlefighter1911
@Littlefighter1911 Жыл бұрын
"Might not be obvious" DUUUUUDE the camera just pans. WTF?! How can one NOT notice, that the camera doesn't rotate?
@milanmestka416
@milanmestka416 Жыл бұрын
Nicely explained! Thank you, for well made video.
@AbandonedVoid
@AbandonedVoid Жыл бұрын
You can see the warping of the edges of your vision if you make a C with left hand (or a backward C with your right) and move it close to your face at the very edge of your peripheral vision while staring at a fixed point. It's really weird!
@AbandonedVoid
@AbandonedVoid Жыл бұрын
It's not as dramatic as the example picture shows, as the 3-point perspective is essentially a huge oval. It just warps near the edges of our vision in a hyperbolic way
@supertna9154
@supertna9154 5 ай бұрын
The doom engine did have looking up and down but only in Heretic and Hexen which both use the Doom Engine just modified by Raven Software. However the rendering of the modified Doom engine at the time in 1994 and 1995 had the same rendering as the Build Engine just without slopes and overlapping sectors. Hexen did have wavy effects in both Dark Crucible and Darkmare but still didn’t have slopes.
@jess648
@jess648 3 ай бұрын
there’s a doom fork called Eternity Engine that recreates Build’s linked portal/silent teleport or room over room shenanigans as well. still no overlapped sectors to my knowledge though
@beemoh
@beemoh Жыл бұрын
I remember playing the Demo of DN3D more or less when it came out, and noticing that looking up and down looked *odd* but not really knowing why- it's so good to know why now!
@BlueSatoshi
@BlueSatoshi Жыл бұрын
0:08 The technique in question is called raycasting.
@bigbadbyrnes
@bigbadbyrnes Жыл бұрын
Unintentional asmr, subscribed.
@IrocZIV
@IrocZIV Жыл бұрын
Everyone forgets about Ultima Underworld that came out just before Wolfenstein
@BSGOST
@BSGOST Жыл бұрын
8:56 It seems to be sliding by layers (near objects slide faster than far objects slide slower), not just scrolling of static view.
@MilkshakeBoiDarude
@MilkshakeBoiDarude Жыл бұрын
No, it's really just a vertical offset value applied to the rendering. I am pretty familiar with the source code of the Build engine because I wrote an engine using the same rendering method, partially using Build as reference.
@vibaj16
@vibaj16 Жыл бұрын
@@MilkshakeBoiDarude Well the skybox scrolls slower
@lukabrasi001
@lukabrasi001 Жыл бұрын
@@vibaj16 but the skybox is drawn separately with a different parallax
@taskanawa9604
@taskanawa9604 Жыл бұрын
wow, probably this is why i have motion sickness from doom and duke3d engines, i almost die playing blood. but new fps i play just fine
@Scalibq
@Scalibq Жыл бұрын
A game with proper perspective projection that works acceptably even on an 486SX is Descent.
@frequenco5545
@frequenco5545 Жыл бұрын
Very well explained, thanks man!
@andyjohnson4907
@andyjohnson4907 Жыл бұрын
I used to make maps in Duke Nukem, and I'm sure you couldn't do floors above floors. Not properly, anyway. In the example in the video, I think the platform was achieved by placing sprites I'm the right orientation with collision on. I hope I'm right, because I had to make lots of compromises in my maps.
@markdfox
@markdfox Жыл бұрын
You are right - I think some later iterations of the Build engine did support true Room-Over-Room, but every implementation in Duke3D was done using sprite based platforms. The editor was incapable of creating actual level geometry for multiple rooms that overlapped in a. useful way.
@andyjohnson4907
@andyjohnson4907 Жыл бұрын
@@markdfox Yeah, I think I remember Shadow Warrior had a workaround, but I never made maps for that. I have a very faint recollection of it seamlessly teleporting the player to a different part of the map when entering a small secret room that was supposed to be above the main map. That could be a false memory, though.
@matt92hun
@matt92hun Жыл бұрын
Informative video, really good editing work.
@satibel
@satibel Жыл бұрын
The look up and down is more like tippy toe and crouching.
@danielribastandeitnik9550
@danielribastandeitnik9550 Жыл бұрын
When you look up/down on Duke Nuken it appears as if the game just offsets the image up/down, i.e., just slides it vertically.
@OCTAGRAM
@OCTAGRAM Жыл бұрын
I like those old engines because of how "direct" they are. What you see is what you get. You can see a wall somewhere, and indeed there is a wall with exactly the same shape. And all the monsters automatically inhabitate almost any world you can draw for them. In modern games with modern graphics the correspondence between visible and playable is lost. I can see houses and borders around them, these are all visually complex structures, but the real borders are still simple, it is just the player cannot see directly the "true" simplified level geometry. This can be exploited. Some indie game can run real Build engine for game logic and use another engine to render decorated level. Indie games are known to suffer from bad fight mechanic. Really bad. There are lots of custom maps for DN3D, and they are played better than many starter's indie games. Indie game developer can use Build to obtain passable enemies and fight mechanic
@Mekyzeroone
@Mekyzeroone Жыл бұрын
Ooh Marathon, I loved that on my Macintosh Performa. It had 2-3 titles if i remember correctly.
@sunbleachedangel
@sunbleachedangel Жыл бұрын
I like how you explain everything making it clear that they used tricks and stuff but still doing it with respect, like "yes, it wasn't true 3D but it was still ground breaking for its time"
@NexuJin
@NexuJin Жыл бұрын
Descent had true 3D perspective in 1995. But Duke 3D got more appraisal because of Duke Nukem and it was the '90, we loved corny jokes.
@kveller555
@kveller555 Жыл бұрын
@@NexuJin Descent might technically have true 3D graphics, but it's still a far cry from Quake in terms of level geometry. Everything seems to be based on a grid, kind of like a polygonal version of Wolfenstein 3D.
@NexuJin
@NexuJin Жыл бұрын
@@kveller555 The level of geometry of Quake was also why you rather run it on a Pentium, instead of a 486. Descent was a series of "cubes" interconnected. Hence lots of those tunnels, leading into some smaller or bigger spaces.
@mihalydozsa2254
@mihalydozsa2254 Жыл бұрын
Why didn't they just tilt the rendered image plane like a wall and render it tilted like the walls in the left right direction when you look up and down?
@cartoonraccoon2078
@cartoonraccoon2078 Жыл бұрын
When we released the Duke Nukem World Tour, we made it true 3d.
@Turbobuttes
@Turbobuttes Жыл бұрын
Having played through Dark Forces with a free mouse aim mod but not an engine port, you do get used to the weird Z perspectives, but in turn real life will feel weird when you're done gaming.
@MarkWhich
@MarkWhich Жыл бұрын
Duke 3D was a mix between polygon 3D Graphics and Bitmap Sprites. Sprites were 2D and used to for the monsters, items, weaponry and ammo. They could of allowed a true look up/down like Quake but things would of looked laughable flat.
@Extra_Mental
@Extra_Mental Жыл бұрын
I feel like the 2 point perspective is more accurate to real life, looking up and down irl doesnt make objects seem closer
@sadasdafa
@sadasdafa Жыл бұрын
"2.5 D technology" dude just making things up
@morganwilliams5591
@morganwilliams5591 Жыл бұрын
This is so fascinating. These games were before my time, and I always just kind of assumed by watching them (mostly Doom) that it was a true 3D environment and they saved on processing power by just making everything out of sprites instead of 3D models. I guess I didn't totally understand that true 3D just wasn't feasible in those times. Even though I've never played these games I find myself so fascinated by their inner workings.
@bsaintnyc
@bsaintnyc 5 ай бұрын
I played these games growing up. Despite descent being from the same era and being fully 3d it was not until quake that the limitations of 2.5d engines became apparent.
@htcbelyaev
@htcbelyaev Жыл бұрын
looking up-down looks more like move camera by 1 axis up/down, not like rotation over axis
@Puxi
@Puxi Жыл бұрын
1:54 "Dook Nuookum. "
@RusticRonnie
@RusticRonnie Жыл бұрын
Don’t forget about Maze wars, the Actual 1st FPS 1974
@impact0r
@impact0r Жыл бұрын
Thanks, John Carmack.
@abe-danger
@abe-danger Жыл бұрын
How i see it is that its very nostalgic
Build Engine: A Short Lived but Glorious 2.5D Powerhouse
16:37
kkrieger: Making an Impossible FPS | Nostalgia Nerd
28:49
Nostalgia Nerd
Рет қаралды 1,1 МЛН
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 3,5 МЛН
Box jumping challenge, who stepped on the trap? #FunnyFamily #PartyGames
00:31
Family Games Media
Рет қаралды 30 МЛН
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 16 МЛН
Get 10 Mega Boxes OR 60 Starr Drops!!
01:39
Brawl Stars
Рет қаралды 14 МЛН
Valve's Catwalk Conspiracy
9:38
PurpleColonel
Рет қаралды 731 М.
The Duke Nukem Iceberg Explained
42:23
REVENANT EVIL
Рет қаралды 13 М.
Why Doom is Awesome: Binary Space Partitioning
26:25
ShreddedNerd
Рет қаралды 1 МЛН
Doom didn't kill the Amiga...Wolfenstein 3D did
16:58
Modern Vintage Gamer
Рет қаралды 753 М.
Fixing Quake's Ending - QuakeC Coding
16:01
Big Beige Box
Рет қаралды 74 М.
Doom 64's Weapon Differences
11:06
decino
Рет қаралды 372 М.
The best game Ubisoft won't let you play
27:14
Nick Robinson
Рет қаралды 9 МЛН
Auto Aim
6:13
decino
Рет қаралды 454 М.
The WORST Rated Game In Steam History...
11:22
Shinyodd
Рет қаралды 3,5 МЛН
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 3,5 МЛН