Why looking up feels weird in Duke Nukem 3D

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.ค. 2024
  • 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.net/doomIphone...
    Build engine internals: fabiensanglard.net/duke3d/bui...
    Ken Silverman's home page: advsys.net/ken/
    Curvilinear perspective: en.wikipedia.org/wiki/Curvili...
    How to Draw (non affiliated):
    www.amazon.com/How-Draw-sketc...
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @kazaloolovesgames
    @kazaloolovesgames ปีที่แล้ว +584

    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 ปีที่แล้ว +14

      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 ปีที่แล้ว +41

      ​@@1erickf50 Yes, we watched the video too lmao

    • @atheist101
      @atheist101 ปีที่แล้ว +9

      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 ปีที่แล้ว +2

      The older ones felt a bit more like a puzzle

    • @KairuHakubi
      @KairuHakubi ปีที่แล้ว +2

      when I first learned these games weren't true 3d, i couldn't believe it.

  • @NinjaRunningWild
    @NinjaRunningWild ปีที่แล้ว +175

    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 ปีที่แล้ว +12

      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 ปีที่แล้ว +6

      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 ปีที่แล้ว +21

      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 ปีที่แล้ว +7

      @@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 ปีที่แล้ว +2

      @@oasntet That was more due to Pentiums allowing a U & V pipe to parallel instructions. Read Mike Abrash.

  • @unfa00
    @unfa00 ปีที่แล้ว +329

    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 ปีที่แล้ว +5

      Hi unfa, surprised to see you here

    • @NinjaRunningWild
      @NinjaRunningWild ปีที่แล้ว +12

      Yeah, it’s called Y-shearing.

    • @Lattamonsteri
      @Lattamonsteri ปีที่แล้ว +17

      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 ปีที่แล้ว +1

      @@Randomgirl13102 Hi! :)

    • @unfa00
      @unfa00 ปีที่แล้ว +9

      @@Lattamonsteri Yeah, I think it's considered to be looking better. It does give a more "neutral" appearance.

  • @JamesTDG
    @JamesTDG ปีที่แล้ว +29

    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

  • @3DSage
    @3DSage ปีที่แล้ว +45

    Great explanation! I recently showed how to program doom from scratch and it's a great thing to learn.

  • @AmberLB93
    @AmberLB93 ปีที่แล้ว +51

    This just shows how these games were made with blood, sweat, tears, and sheer determination of will. It's incredible.

    • @iidoyila
      @iidoyila ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      it shows a lack of intelligence. bungie was able to do it properly before duke3d was released

    • @iidoyila
      @iidoyila ปีที่แล้ว +1

      @@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.

  • @theopenrift
    @theopenrift ปีที่แล้ว +63

    You can also look up and down with the mouse in Duke Nukem 3D if you press the U key.

    • @zummone
      @zummone ปีที่แล้ว +6

      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 ปีที่แล้ว +4

      yeah this is how I played the whole game. Thought everyone did

    • @andyjohnson4907
      @andyjohnson4907 ปีที่แล้ว +1

      And was the crosshair shortcut "I"? I remember always pressing "U" and "I" every time I loaded my save game.

    • @theopenrift
      @theopenrift ปีที่แล้ว +1

      @@andyjohnson4907 yes.

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

      @@andyjohnson4907 haha, I also still get the impulse to press "I" every time I see a Duke3d video clip without the crosshair.

  • @TerryMartinART
    @TerryMartinART ปีที่แล้ว +33

    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.

  • @mmdoof
    @mmdoof ปีที่แล้ว +7

    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 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      @@FSdarkkilla it was a masterclass in efficient programming. Practically full 3D with the hardware requirements of Doom II.

  • @bigscheesy4982
    @bigscheesy4982 ปีที่แล้ว +12

    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 ปีที่แล้ว +1

      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

  • @ImaginaShip
    @ImaginaShip ปีที่แล้ว +23

    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.

  • @Uglynator
    @Uglynator 2 ปีที่แล้ว +45

    Great vid! I've been looking for a comprehensive breakdown like that!

    • @retrogarage8734
      @retrogarage8734  2 ปีที่แล้ว +4

      Thanks!!

    • @Puxi
      @Puxi ปีที่แล้ว

      @@retrogarage8734 Why. Do. you. speak. so. funny. and. take. a. break. after. each. word. are. you. chinese.

  • @alianant
    @alianant ปีที่แล้ว +8

    Wow, this was a fantastic video explaining the concept, and your visualizations were excellent. I'm glad TH-cam put this in my suggesteds.

  • @takacsadam2850
    @takacsadam2850 ปีที่แล้ว +6

    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

  • @z-em4612
    @z-em4612 ปีที่แล้ว +9

    The more you learn about duke nukem 3d, the more you are amazed of the cleverness of its creators

  • @NicholasBrakespear
    @NicholasBrakespear ปีที่แล้ว +5

    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 ปีที่แล้ว +1

      @@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.

  • @ian_b
    @ian_b ปีที่แล้ว +12

    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 ปีที่แล้ว +1

      I played flat shaded 3D games long before Duke 3D, so the wrong perspective always bothered me and I couldn't adjust to it.

  • @brullov_labs
    @brullov_labs ปีที่แล้ว +4

    0:24 it's not ROR, just a bridge made of sprites :]

  • @selatorepico5975
    @selatorepico5975 ปีที่แล้ว +2

    I love that automatically generated captions wrote 'consumer man' instead of 'Ken Silverman'.😂 Great video btw

  • @herr_fuchsnews5630
    @herr_fuchsnews5630 ปีที่แล้ว +3

    You gave some really great visualizations to explain the topic!

  • @Bazztoner
    @Bazztoner ปีที่แล้ว

    Excellent video man!
    Very understandable, very clear examples and very smart way of visualizing the explanation.
    Keep 'em coming!

  • @amzs_deleted
    @amzs_deleted ปีที่แล้ว +1

    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.

  • @matt92hun
    @matt92hun ปีที่แล้ว

    Informative video, really good editing work.

  • @zsciaeount
    @zsciaeount ปีที่แล้ว

    Just stumbled upon your channel. Great content! I love these types of explainers. Subscribed!

  • @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

  • @ploskostnost
    @ploskostnost ปีที่แล้ว +2

    I already knew the technique but I really enjoyed watching the video nonetheless. Your explanation are very well-written and easy to comprehend!

  • @Fank0r
    @Fank0r ปีที่แล้ว +3

    Amazing work!

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

    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!

  • @Caleb-fv5fp
    @Caleb-fv5fp ปีที่แล้ว +17

    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 ปีที่แล้ว +1

      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 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      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

  • @milanmestka416
    @milanmestka416 ปีที่แล้ว +1

    Nicely explained! Thank you, for well made video.

  • @Dargonhuman
    @Dargonhuman ปีที่แล้ว +1

    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.

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

    This is a really good explanation of what my issue is with some doom source ports aswell
    Thanks!

  • @TheSektorz
    @TheSektorz ปีที่แล้ว

    Awesome video. Cool to see you take off time from running the Cyber 8 channel to do some retro gaming stuff, lol.

  •  ปีที่แล้ว +6

    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 ปีที่แล้ว +3

      Shadow Warrior had some level of room-over-room, too, or at least transparent water, which is similar.

  • @frequenco5545
    @frequenco5545 ปีที่แล้ว

    Very well explained, thanks man!

  • @guiguito5505
    @guiguito5505 ปีที่แล้ว +2

    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

  • @TasnuArakun
    @TasnuArakun ปีที่แล้ว +8

    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 ปีที่แล้ว +1

      Classic Bungie was always innovative, such great games!

  • @TheManinBlack9054
    @TheManinBlack9054 ปีที่แล้ว

    Very good explanation. Good job!

  • @Charlymander
    @Charlymander ปีที่แล้ว +1

    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.

  • @master_alex8605
    @master_alex8605 ปีที่แล้ว +1

    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

  • @jamesog15
    @jamesog15 ปีที่แล้ว

    Fantastic Video!

  • @bigbadbyrnes
    @bigbadbyrnes ปีที่แล้ว

    Unintentional asmr, subscribed.

  • @imcrowbug
    @imcrowbug ปีที่แล้ว

    shoutouts for perfectly describing what 1, 2 and 3 point perspective means

  • @VintageModernRemixes
    @VintageModernRemixes ปีที่แล้ว

    Great video!

  • @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.

  • @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".

  • @Muscleduck
    @Muscleduck ปีที่แล้ว

    Excellent video explaining 2.5D thank you.

  • @franzpattison
    @franzpattison ปีที่แล้ว

    Great explanation

  • @Mekyzeroone
    @Mekyzeroone ปีที่แล้ว

    Ooh Marathon, I loved that on my Macintosh Performa. It had 2-3 titles if i remember correctly.

  • @CarlMahnke
    @CarlMahnke ปีที่แล้ว +1

    Looking up and down was needed if you wanted to shoot a switch, because autoaiming did only apply for enemies.

  • @dotcomgamingd5564
    @dotcomgamingd5564 ปีที่แล้ว

    this video is mind blowing. thank you for this.

  • @brutusmagnuson315
    @brutusmagnuson315 ปีที่แล้ว +2

    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.

  • @Dan-yk6sy
    @Dan-yk6sy ปีที่แล้ว

    Well done, I'll always watch a duke3d vid.

  • @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!

  • @danyukhin
    @danyukhin ปีที่แล้ว

    awesome video, thank you

  • @markhill3858
    @markhill3858 ปีที่แล้ว +1

    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 :)

  • @plussum3255
    @plussum3255 ปีที่แล้ว

    Amazing video, great for explaining computer graphics and actually has some relation to my uni graphics course for compsci

  • @I.____.....__...__
    @I.____.....__...__ ปีที่แล้ว +1

    - 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.

  • @calebmoore1582
    @calebmoore1582 ปีที่แล้ว +1

    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.

  • @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.

  • @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.

  • @futureshock7425
    @futureshock7425 ปีที่แล้ว

    This explains everything well thanks

  • @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.

  • @NexuJin
    @NexuJin ปีที่แล้ว +5

    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 ปีที่แล้ว +1

      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.

  • @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 4 หลายเดือนก่อน

      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.

  • @alexthetrain6708
    @alexthetrain6708 ปีที่แล้ว +2

    Only 2k subs??? Underrared channel

  • @Greywander87
    @Greywander87 ปีที่แล้ว +4

    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 ปีที่แล้ว +1

      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.

  • @CJ-jl6hf
    @CJ-jl6hf ปีที่แล้ว +8

    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

  • @user-dg8bc4ey4z
    @user-dg8bc4ey4z ปีที่แล้ว

    very nice. is there a link or something the to the build engine internal analysis from fabien sanglard?

  • @drpavel_
    @drpavel_ ปีที่แล้ว

    Interesting video

  • @sitaroartworks
    @sitaroartworks ปีที่แล้ว +1

    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.

  • @abe-danger
    @abe-danger ปีที่แล้ว +1

    How i see it is that its very nostalgic

  • @impact0r
    @impact0r ปีที่แล้ว

    Thanks, John Carmack.

  • @Disthron
    @Disthron ปีที่แล้ว +2

    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.

  • @ravenweikel5974
    @ravenweikel5974 ปีที่แล้ว +7

    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 ปีที่แล้ว +1

      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.

  • @BSGOST
    @BSGOST ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      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

  • @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...

  • @skeletspook
    @skeletspook ปีที่แล้ว +3

    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.

  • @democracy_enjoyer
    @democracy_enjoyer ปีที่แล้ว

    duke nukem vertical camera movement looks like you are scrilling up a single picture

  • @mwperk02
    @mwperk02 ปีที่แล้ว +6

    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!

  • @supertna9154
    @supertna9154 4 หลายเดือนก่อน

    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 หลายเดือนก่อน

      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

  • @Scalibq
    @Scalibq ปีที่แล้ว

    A game with proper perspective projection that works acceptably even on an 486SX is Descent.

  • @wuspoppin6564
    @wuspoppin6564 ปีที่แล้ว

    Any other cool videos planned like that? Ive seen the PlayStation one and it's dope too

  • @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?

  • @giovannozuglian5179
    @giovannozuglian5179 ปีที่แล้ว +3

    So, looking down in Duke 3D is, at certain extent, the same thing as crouching?

    • @OCTAGRAM
      @OCTAGRAM ปีที่แล้ว

      No, you look from above

    • @rashiro7262
      @rashiro7262 ปีที่แล้ว +2

      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.

  • @weegie3343
    @weegie3343 ปีที่แล้ว

    Great explanation! Really easy to understand, even to someone who only uses raycasting.

  • @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

  • @IrocZIV
    @IrocZIV ปีที่แล้ว

    Everyone forgets about Ultima Underworld that came out just before Wolfenstein

  • @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

  • @Felix-nh5pw
    @Felix-nh5pw ปีที่แล้ว

    As somebody said: Quake is like Chingischan, every fps game has a little bit of Quake in its blood.

  • @KairuHakubi
    @KairuHakubi ปีที่แล้ว

    Basically, the horizontal cheat is so good that it makes you EXPECT a similar vertical cheat, that sadly isn't there.

  • @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.

  • @zeikjt
    @zeikjt ปีที่แล้ว

    Wow, I was just a dumb kid when I played it so I never knew you could use page up/down or the mouse to look around. I just figured it was like Doom and the vertical auto aim worked the same way haha

  • @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.

  • @Puxi
    @Puxi ปีที่แล้ว +1

    1:54 "Dook Nuookum. "

  • @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.

  • @Novous
    @Novous ปีที่แล้ว +3

    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.

  • @CharlesVanNoland
    @CharlesVanNoland ปีที่แล้ว

    @11:00 That was really wacky seeing a Quake2 texture in Quake1!!!

  • @BlueSatoshi
    @BlueSatoshi ปีที่แล้ว +1

    0:08 The technique in question is called raycasting.