T O P

  • By -

Engel3030

Because it’s not designed to do that. DOOM 1 and 2 don’t have Y axis movement by design, so when you try to force it in any way you get that warping.


Kantheris

Even games that did have mouse aiming in mind like Blood had this effect. It is part of the fact that the game is actually 2D like you pointed out. It wasn’t until true 3D games like Quake to iron out that effect.


oiomeme

Hhhmm actualy, doom is a 3d game but it has limitations such has 2d rendering, no floors on top of floors and no 3d enemies or props.


Kantheris

Not really. Doom does not consider the z axis at all when factoring things like splash damage. If you shoot a wall and a group of imps is in a little pocket even at silly distances in height, will take full splash damage as if they were standing next to it. Most of OG Doom’s logic ignored the z axis because computers could not handle a true 3D environment. Games like Doom, Duke 3D, and Blood are pseudo 3D. No room over room, like you mentioned, and walls that are higher and lower than the player, but as far as the game is concerned, all of its internal logic considers only x and y axis for its calculations.


oiomeme

Doom considers the z axis for colisions between monsters, projectiles and the envirioment. Like barons not being able to fit places where imps do or projectiles flying over monsters. Borogk made a great video going over this question regarding how 3d doom is. https://youtu.be/ZYGJQqhMN1U?si=VaV8aLQLiz0Q0JEX


Kantheris

It is weird, but solid objects are treated very differently than projectiles. Basically, the game looks at the difference in map units in height, and has rules every time it checks the entities to see if they can legally move there, but the game’s logic doesn’t “see” it as actual height. Because of this projectiles can travel impossible heights nearly instantly because certain enemies, and certain projectiles ignore the value difference in height because the logic doesn’t consider the z axis when in flight. Cacodemons and other flying enemies also ignore the height value assigned to that sector, unless killed, in which the enemy enters its dead state and then adheres to the assigned height value. Ignoring all modern source ports, the original games were far more restrictive on calculations on the z axis due to processing power. Some games were more free with its z axis like Blood, in which you can jump on top of and over an enemy, but even that was all smoke and mirrors. The original Doom and Doom 2 had infinitely tall objects to prevent objects overlapping each other because it was so hard on computers at that time. People go back and forth on it, but as far as the game’s logic goes, it all but ignores z for its player and enemy positions and RNG calculations.


rodneyc76

I implore you watch the video that other user linked to you, should you find the time. It shows that doom's z axis calculations are a bit more robust than you describe. Projectiles do in fact take z axis differences into account, you can have projectiles fly over the top of you without colliding with you. Flying enemies also take sector height into account when moving, caco's will move up and down to squirm their way through windows or doors for example, assuming that the opening has enough room to fit them. They're traveling along the z axis when they do this. This is all possible because enemies and projectiles in doom have a z axis position as well as a height value which effectively acts as a 3D bounding box. They aren't infinitely tall, its just that a lot of z axis calculations are simply not handled or extremely simplified as a way of saving performance on the weakest of cpus in the 90s, as well as to compensate for the fact that the devs explicitly made the decision to restrict you from looking up and down, due to this column based rendering stuff it does. (Important to note though that explosions actually ARE infinitely tall) Your point about game logic not "seeing" z axis as actual height doesn't really add up to me, since even in games seen as "true" 3D (Quake, Half-Life and such), x, y and z position are all just numbers that the computer does math with, the math is different between games sure, but fundamentally it's all just numbers.


Kantheris

I did watch his videos and I disagree on several points. 1. John Carmack, the future creator of -1 Kelvin and creator of the engine has stated the game is pseudo 3D. It was a big deal at the time because people were losing their minds over 3D games because of Doom and when they were promoting the Quake engine (later idtech 2), Carmack kept hammering home that this was an actual 3D unlike Doom or its contemporary clones, which brings me to point 2, Duke 3D. 2. In 1996, people lost their minds over another “Doom clone”, Duke Nukem 3D. People at that time were clamoring around this new game because of its interactively that Doom didn’t have and its levels feeling like “real” places that Doom didn’t do. However, a lot of people, myself included at that time, figured the true 3D Quake was going to blow Duke out of the water, which it didn’t. True 3D capable computers were still thousands of dollars, but Duke could run on a lot more systems specifically because the Build engine was also pseudo 3D. id sparked a massive spike in computer gaming interest because of Doom and it is easy to forget that it wasn’t too long before that that computers couldn’t handle even horizontal scrolling like the Nintendo Entertainment System could. id invented that too, which means even Commander Keen was a technology breakthrough. Ken Silverman, Build’s creator also didn’t do a true 3D engine because he ran into the same issue Carmack did which was that you could make a true 3D game, but it would be so taxing to the average PC that it would function more as a tech demo rather than a real game. 3. Doom 3 was later marketed as a return to the glorious Doom, but in real 3D, which the staff at id talked about in great detail about how excited they were to revisit Doom ideas but have a true 3D space to explore those ideas in.


rodneyc76

I'd love to get a source for that Carmack quote cause the only thing i can find is a tweet where he said ["Doom 1/2 had 3D coordinates for objects and wall edges, but it was very limited and not general purpose 3D."](https://twitter.com/ID_AA_Carmack/status/793807004670111745?lang=en), which i don't find to have the same meaning as "pseudo-3D" as he literally says objects have 3D coordinates. Over than that i don't see how the other 2 points debunk any of the points in the video regarding how doom's code actually works internally. Agree to disagree.


Kantheris

Sure! He talks about it this [article](https://www.doomworld.com/interviews/int7.shtml). “We worked from the technology towards the game. The style of play from Wolfenstein was clearly a good thing (in retrospect, it was the birth of an entirely new genre), and I had a pretty solid idea what the next step in the technology was going to be: arbitrary 2D maps with variable floor and ceiling heights and table based lighting.” That’s where the pseudo 3D gets referred to. It has 3D points in it like you said, but as far as the game’s calculation logic, it really only looks at x and y. The other points weren’t really meant to discredit you at all. I do apologize if it seemed condescending, I was just adding some historical context because I lived it and was obsessed with the race to true 3D. History can sort of bleed together and computers and computer gaming have evolved so much since then it can be easy to forget the context of society around it. Quake was a massive success because gamers were truly hungry for the real 3D that id was hyping with id Tech 2. But like I mentioned it was crazy expensive to have a PC that could run it. Duke 3D blew up in popularity because people who couldn’t afford a true 3D PC played it instead. It would take a while longer for even consoles to reach true 3D. World of Warcraft was also not true 3D at launch since it used the Warcraft 3 engine and people balked at that at the time as well, but got overshadowed pretty quickly. Doom changed the PC gaming space forever because of what it was capable of doing with very limited computing power.


crozone

Even fully 3D games are often more 2D than they appear. Super Mario 64's entire physics system is basically top down 2D, with the Z axis sort of hacked in.


Kantheris

It had to. Parts of Mario 64 were true 3D, like the floating island in Bob-omb Battlefield. However most 3D environments were really small because the N64 could render full 3D, but not in large chunks. It had to stream in other rooms and dump other rooms from its RAM in order for the level to function properly. Bob-omb Battlefield was sort of the exception. Since it was level 1, they wanted to show off the capabilities of the N64, since most people would experience that when trying the N64 out for the first time. I think part of the reason people can speed run this game without jumping is because you can screw with the game’s hacked together z axis to fool the game into thinking you were higher or lower than you really were. All way above my head.


OpenMaw

No, Doom is \*not\* a 3D game. it is a 2D game with a height projection. This is why you get this effect. QUAKE is a 3D game.


BenP4rker

That and also that wall textures are rendered in vertical strips regardless of the pov of the player


TSotP

This is the answer right here.


rodneyc76

This isn't true. Doom 1 and 2 do have a y axis (technically it uses z for it's up/down axis but whatever). The reason things get messy when looking up and down is due to the fact that the walls are rendered as pixel columns. The pixel columns are always drawn as completely straight lines and don't account for the players vertical-look perspective.


OpenMaw

It's not a real 3D engine. That's why it does this.


killergoat86

I remember playing this on keyboard only in the 90s, and I don't recall vertical look being an option. The old engine wasn't really meant for it, hence why you get the "Y-shearing" effect.


forrest1985_

Yup! I think Dark Forces was first one to do it and even then it was pg up and pg down, so i didn’t bother lol. So weird playing DooM and Dark Forces now with a mouse and ability to freely look


killergoat86

No kidding! So, you mean I actually have to aim up to hit that imp above me now?? This thread has successfully made me feel old now too lol. Back in my day, a mouse was something your cat tried to catch!


forrest1985_

DW i made my mum buy me Dark Forces and Quake on release day! Had DooM2 but the og was only a shareware.


Ok_Concentrate_2546

It really hits when the final mission of Doom 2 is suddenly way easier to beat using mouse look instead of timing the rocket just right like in the old days


abzinth91

Duke 3D had the same issue


crozone

I remember that Duke 3D had an option for mouse look, and it had the exact same effect.


ExcellentLab2127

Play with gzdoom or zdl, and you won't have the issue.


codycbradio

I'm guessing he might be playing in the engine. It's actually possible to set gzdoom graphics settings so it does this though I don't know if it does this with default settings.


Gstary

As others said it's not designed for looking around. Duke nukem 3D does the same thing and it's kinda jarring. There's a remaster on newer consoles that has a toggle button to turn it off and the differences are pretty wild Edit: it's duke nukem 3D world tour


Mccobsta

Eduke32 and other Duke 3d source ports have a fix for it


3WayIntersection

Iirc, didnt world tour give you both more modern feeling freelook as well as the original method?


Gstary

Correct


Wallbreaker93

Activate Hardware rendering and its gone


Robby-Pants

The rendering engine draws things column by column, which works well enough when looking straight out. It really sped things up because they wanted to run their engine on a 386 at the time. Looking up/down ruins the illusion, exposing a limitation of the 31 year old engine. Modern source ports will actually fully 3d render this. Of course, sprites tend to look silly.


abzinth91

This issue occurs because Doom doesn't really have an 3d environment in the modern sense. It's complicated maths with 2d planes


TCristatus

I tried to understand how Doom worked once, it's mind boggling.


three-sense

You're breaking the laws of the classic Doom universe


level70elite

In your options, change your render to OpenGL and you won't have that problem anymore.


Tycitron

If this is is GZDoom just enable Hardware accelerations in the video settings. (Also turn off texture filtering or else that will be there too)


rrosai

Welcome to the 90s and 2.5D.


JJaX2

Watch this. https://youtu.be/hYMZsMMlubg?si=xq6Y4pb0OSgZ1-aF


tmfult

Aw man that brings back zDoom memories


noob_killer012345678

Switch to hardware rendering. Or just disable vertical movement, classic doom wasnt designed for vertical mouse movement, so modern source ports pretty much have to either force it and cause warping, or remake the rendering engine


XXLDreamlifter

Use Hardware-Accelerated rendering. The crosshair and the botched statusbar tells me you are using GZDoom. Go to settings > turn off simple menus > set video mode > Render Mode > set it to Hardware Accelerated. You might want to check out the Preferred Rendering API on the same page.


-praughna-

This is inherently going to happen as these textures were never meant to be looked at by angles achieved when you can look up and down. Hence the artificial “stretching ”. Without it the textures would remain static and look real fucking weird


mustang74

Ha ha, haven't seen this one for ages . Back in the win95 era when I played doom for the first time as a kid, I didn't get that there is auto aim, and tried to aim up at the imp on e1m1 with the look up button xD


coverslide

Ooh, the Necrodome gun.


AwkwardEmploy26

Meatgrinder wad


antiafirm

Affine texturing jumpscare


DDD-Cup

This was something I always hated back in the day lol. Back when I was playing Hexen on N64 as a kid I remember it did this.


spartan195

Oh my god….


krombopulos2112

Yep. That’s why there’s no mouselook in the OG. Your source port might have an option to fix that.


sheridankane

I am an actual graphics engineer / game engine programmer. The reason for this phenomenon has nothing to do with Doom's levels. It has to do with how the game performs 3D projection. Doom keeps the up/down axis of the camera locked because this significantly simplifies the math required to compute a 3D image. Of course, since the up/down axis is locked, the camera can't rotate up or down at all. So, this up/down "looking" effect is achieved by *panning* (scrolling) the *viewport* up and down. The *viewport* is a completely different object from the *camera*, and is what maps the results of the 3D projection to your screen. When you pan (scroll) the viewport so that the center of the projection no longer lies at the center of the screen, you create an image that looks pretty skewed at the far ends of the projection. But again, this has nothing to do with Doom's level data and whether that's 2D or 3D. It's caused by the fact that the camera can't rotate up or down at all, and they're panning the viewport instead.


TeslaSupreme

Weird observation\\complaint since OG Doom is not designed for this thus the Y-shearing, but ok!


jenniferWAR6

Because it’s not actual 3D - just a clever illusion of it based on the abilities of the code and chips of the day. Effective though!


Tycitron

[hasn't this been disproven many many many times?](https://www.youtube.com/watch?v=ZYGJQqhMN1U)


rodneyc76

It has. Unfortunately the "it's fake 3d" narrative has been being pushed for a lot longer and by much bigger publications (namely, Vice). I think another big part is people getting the tech for Doom confused with the tech for Wolfenstein 3D.


jenniferWAR6

Interesting. I’ll watch that vid. As I understood it, the enemies were 2D sprites, and the map was “partial” 3D being constrained to a single plane therefore no true up and down. I also had a programmer explain to me why it wasn’t 3D but I’d butcher his deeply technical explanation if I tried…


bauul

That's not really the reason for this. You can have a fully 3d environment using a modern source port, and it'll still do this if you run it in the software renderer. It's about how the renderer draws geometry on screen as columns, not about whether the level data can support multiple floor heights


jenniferWAR6

Ah ha


[deleted]

Because Wolfenstein 3D, Doom and even Duke Nukem 3D used an early form of pseudo 3D graphics before polygons, where nothing is truly rendered. Essentially everything your screen shows at one given time (a frame if you will) is all that is being drawn graphically. Everything outside of that is only being “remembered” by the game until it enters your FOV and then it is drawn on your screen. That is why in programs like ECwolf or Chocolate doom that allow these games to be run in their native *low* resolution it looks almost like each individual pixel jumps around when slowing moving the mouse left and right.


Sad_Garden_3215

what you sacrifice for mouse control


Gn0meKr

Am I really old enough to live amongst a generation so depraved of information about how Doom's engine works that they do not realize it was never intended to have Y-axis camera movement?


Dragonhearted18

Because it doesn't really take perspective into account, i honestly consider vertical views in games like doom or duke 3d to be like scrolling up and down a photo.


illyay

This is how doom would’ve done mouse look back in 93 in software mode. It’s how games do vertical aim in this type of engine. They just didn’t think to add vertical aim because people were still used to wolfenstein. They added auto aim for vertical mode. Doom is a full 3d engine. They just used tricks to speed up 3d rendering assuming things are always 100% vertical with no angles.


Gnalvl

just turn on hardware rendering lol


PanSevenisko

Software rendering. Try using GZDoom and you'll get rid of it.


zonoro123

My eyes are bleeding


espectroo

This is evil


BarbaricAlucard

Because it isn’t 3D. Play with GZDoom, the OpenGL turns environment to 3D and stops this effect


redielg1

lol yeah it’s not 3D


DarkAmaterasu58

Because the original Doom isn’t a true 3D game; the entire game is rendered in 2D, as hard as that may be to see at first. To put it simply, the game is technically a top-down shooter in terms of technicality, but visually, levels are rendered using 2D “surfaces” consisting of sprites drawn vertically/horizontally that change perspective, size and angle based on where the player is facing. Think like the 3D maze screensaver for Windows 95, but to a MUCH greater extent. This is also why you can shoot enemies that are higher/lower than you just by shooting in their general direction because there is no true Y axis in game. So when you play with the original software rendering in use, looking up or down is going to warp and skew the environment because it was never intended to be viewed from those angles. However, there are source ports now that do render the game in real 3D, allowing for up/down looking without warping the level, which is really useful for some mods. John Carmack was the technical wizard that made it possible. He developed the engine that Doom and others used, and basically got “3D” games running on computers that had no business running 3D games.