Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Doomkid

Game Theorists "Doom Wasn't 3D" video and my refutation

Recommended Posts

But then, the level is 2D. Not the game. That would be like flattening some clay into a silhouette-shape and calling clay 2D media.

Share this post


Link to post

Quake does 3D rendering of a 3D environment.

Doom does 3D rendering of a 3D environment, with some caveats. Not all camera angles can be rendered. Although the environment has three dimensions, there are some restrictions on the particular geometries that can be represented in it.

Wolfenstein 3D does 3D rendering of a 2D environment. Not all camera angles can be rendered (as with Doom).

I think it's still fair to call Wolf3D "3D" since just like Doom, it's still doing a 3D perspective transformation. The limitations are in the environment you're exploring.

Share this post


Link to post

Where did Ling put that "no true Scotsman" image? :P

My argument is thus; if the player makes any considerations or has to interact in any way with a third dimension (even if only partially or incomplete); it's a 3D game.

Out Run: 2D
Space Harrier: 3D

Et cetera.

Share this post


Link to post

Cool video Doomkid!

I've used to think of Doom as "2.5D", but I'm leaning more and more towards "limited 3D" as this discussion moves along.

GoatLord said:

A cube, perhaps the simplest object one could construct in 3D space, is completely impossible in vanilla Doom, because any attempt to create one will result in one or more faces being cut off by the single ceiling/floor limit. In a true 3D renderer the cube would be floating in the void, as opposed to being situated at the top or bottom of an abstract ceiling or floor.


You can make that cube with mid textures.

In IDDT Doom is a bit like fusing Asteroids with Qix - until you run into a complex Z-axis situation.

Share this post


Link to post

That would work, yes, but it wouldn't be rotatable. Once again I have to comment that we must define whether a Z-axis that can only be adjusted in two directions counts as a proper third dimension.

Share this post


Link to post

I'd also make the argument that Doom's flying monsters AI is vastly superior to that of the Quake games, simply on its strength to track the player down. Doom's fliers don't get trapped in concave Z-spaces the way Quake's monsters do. The limited Z-axis geometry of Doom tends to play into the hands of good gameplay.

Share this post


Link to post
GoatLord said:

I guess then, we have to stipulate what KIND of third dimension is legitimate or if they all are.

If it's a legitimate dimension, the engine has ways to try to shut the whole thing down.

Share this post


Link to post

Interesting reading/viewing here. What i take from this more than anything is the what a genius Carmack is - this has given me a massive appreciation for how clever Doom's game engine was, something that i have never really considered in detail before.

Share this post


Link to post

Here's a Game Theory... that channel is just click bait creepy pasta for the most famous games.

Share this post


Link to post
GoatLord said:

we must define whether a Z-axis that can only be adjusted in two directions counts as a proper third dimension.

An axis only has two directions.

Share this post


Link to post

I recall that a source port had this hilarious option (commandline parameter maybe?) that made every map flat! Was it 3DGE? Can someone help out?

Share this post


Link to post

Yes, 3DGE. Even the original EDGE had it. To enter the mode, type "goobers 1" into the console. You might need to restart the map for it to take effect.

GoatLord said:

That would work, yes, but it wouldn't be rotatable.

Doom engine doesn't allow rotation precisely because vertices can't move along x and y axes. Would you say that x and y axes are therefore also not proper dimensions, which makes Doom a 0D game? Also, rotation is movement, and movement isn't dimension. Limited movement doesn't imply limited dimension, just limited interaction, because an object's movement usually affects its interaction with other objects. Every game has limited interaction in some ways - hell, even the real world does. A dimension is just a scale on which objects have positions that predictably affect interaction between these objects. All 3 axes in the Doom engine serve this purpose (even if they're not all handled the same way), as opposed to Wolfenstein 3D for example. That's why I think Doom is basically 3D, with limits that just rather obviously differ from the limits of the real world - which, although to a lesser degree, applies to the Quake engine and modern 3D game engines as well.

Share this post


Link to post

You really can't sum Doom's description -or that of any game- in just "2D", "3D" or "2.5D" or whatever. You really need to differentiate between a) the map format, b) rendering mode, and c) movement/camera degrees of freedom.

For Doom, those would be, accordingly:

  • 2D + 1D (2D floorplan with independent floor and ceiling elevation per sector)
  • 3D. Period.
  • 2 + 1 DOF for movement (no suprise here, same as the map format!), 3 DOF for the camera (the camera can, at least in theory, be placed freely anywhere on the level, even where the player cannot go). With Heretic view pitch you might be able to afford a 4th DOF, while with flight controls you have 3 (almost full) DOFs
Otherwise you come up with non-sensical results like "0D" or "2.5D".

Share this post


Link to post

Pretty much, yeah. Doom's walls not being able to move around is actually a limitation in a 2D sense since the game would be calculated in a top-down sense. Presumably, this is a limitation of the engine rather than the dimension because the Build Engine (Duke 3D) was fully capable of moving walls, despite being arguably no more 3D than Doom was, albeit being able to fake room over room by only rendering one of them at a time.

Come to think of it, I wonder if Doom could have faked 3D bridges in the same manner as Duke 3D by simply rendering objects flat and then throwing floor/wall textures on them.

Share this post


Link to post
MetroidJunkie said:

Come to think of it, I wonder if Doom could have faked 3D bridges in the same manner as Duke 3D by simply rendering objects flat and then throwing floor/wall textures on them.

No, because the original renderer used a flood-fill algorithm for drawing flats. Basically, it draws floors from the very bottom of the screen up to the furthest point that they're bounded by (or from that point down to the very bottom of the screen), and similarly with ceiling, except that those are drawn from the very top of the screen downwards (or oppositely). If a floor or ceiling is being filled while the corresponding part of the screen below or above it hasn't been properly filled yet, it results in HOMs.

Share this post


Link to post

The debate here is a bit silly. Does an engine have to be able to render every possible 3D construct to be considered a 3D engine? Of course not! Ever see a picture of a landscape, or of a face, or of any real-world scene? Can anyone argue that that picture is depicting a 3D environment? Even if the picture can only show that one scene, the scene is still perceived as 3D, despite being rendered on a 2D plane.

To argue that Doom is not 3D is to argue that, when covering one eye, we only see 2D. Yes, there is no true depth to a non-holographic picture. Instead, it a perspective transformation of a 3-dimensional scene. Objects further away are smaller, and converge to the center of the scene. Surfaces behind other surfaces are not visible. When both eyes can see the scene, slight differences in each image, caused by the difference in physical placement of the eyes, are perceived as depth. However, after covering one eye, most people would say that they still can perceive depth. The brain assists the eyes. Because we know the basic sizes of many objects, the brain adds the sensation of depth, even with one eye closed.

Often, amusement parks will have a "fun house". Sometimes these have displays that are designed to distort this very sense of depth, by having odd-shaped objects, fake shadow and light lines painted on oddly-shaped walls, etc, to trick the mind into seeing a different depth than is actually present. These displays cause people to bump into walls, and experience vertigo, as the viewer navigates within them.

Closer to the point, our retinas are absolutely 2-dimensional, so what we see as 3D is merely a perception. It is this perception that we call 3D. Therefore, any renderer that emulates this perception is called a 3D renderer. Whether or not it can render every possible 3D construct is irrelevant when classifying the renderer.

Share this post


Link to post

I think one of the more important factors in whether a game is considered 3D or not is in its gameplay functions. Wolfenstein 3D doesn't utilize a Z-Axis at all during normal gameplay. Doom, on the other hand, has stairs and elevators and different levels of height, even taking 3D calculations into account with projectiles. It's a limited 3D since actors have infinite heights (To save on CPU calculations) as well as the lack of rooms above other rooms but it's no less a 3D calculated game. I think, when people like this say Doom isn't 3D, they're going by the standards of polygons which, if you think about it, polygons are just a lot of 2D shapes (Triangles or squares, mostly) strung together with 2D textures slapped on top of them, making every game arguably 2D by that reasoning.

Share this post


Link to post

I feel the lack of rotation and translation, and the inability to construct even the simplest enclosed 3D structures, makes Doom slightly less than "true" 3D. Calling it 2.5D is a bit silly, since dimensions can't really be halved, but it describes the hacky nature of the game well.

Share this post


Link to post
Guest Unregistered account

Do Hexen's polyobjects not count as translatable sectors? They achieve the same effect.

Share this post


Link to post

Polyobjects don't achieve the same effect as translatable sectors, because polyobjects are not even sectors, they're just linedefs. They may be 1-sided or 2-sided linedefs, but never involve their own floors and ceilings, they just overlap the floors and ceilings of the actual sectors they're in.

Share this post


Link to post

You can use polyobjects to change the shape of a room, but not to move the room. Ultimately, they don't do anything that couldn't be done with instantly raising or lowering floors, but they have a better visual representation of walls/doors swinging and sliding around.

Share this post


Link to post
Gez said:

Ultimately, they don't do anything that couldn't be done with instantly raising or lowering floors,

What about horizontal pushers/crushers? Or impassable, shootable-through, movable fences?

Share this post


Link to post
scifista42 said:

Polyobjects don't achieve the same effect as translatable sectors, because polyobjects are not even sectors, they're just linedefs. They may be 1-sided or 2-sided linedefs, but never involve their own floors and ceilings, they just overlap the floors and ceilings of the actual sectors they're in.


By that logic, then, can Duke 3D be considered "true" 3D? It can have fully moving sectors without limitation and, by only rendering one at a time, it can have rooms on top of other rooms. It can even have pseudo polygons by rendering sprites flat.

Share this post


Link to post
scifista42 said:

Yes, 3DGE. Even the original EDGE had it. To enter the mode, type "goobers 1" into the console. You might need to restart the map for it to take effect.

You can also set this from the Main Menu (in Video Options), don't gotta use a CVAR or command line (just make sure to restart the current map). That option is only available in 3DGE -- with the original, you have to use the CVAR =D

Share this post


Link to post
MetroidJunkie said:

By that logic, then, can Duke 3D be considered "true" 3D?

Firstly, I still disagree with GoatLord about rotation and translation of map geometry being necessary to achieve "true" 3D. I'd define the criteria as "any possible 3D structure can be constructed + any implemented interaction that should realistically take all 3 axes into account, actually takes all 3 axes into account", but NOT necessarily "any possible interaction is implemented". Now, you can construct any 3D structure in Duke3D (I think), but not render any 3D structure (anything that involves room over room in the same column is unrenderable), which makes using unlimited 3D structures within the game extremely inconvenient, to put it mildly. I'm not sure if the engine crashes or just visually glitches when it tries to render such a scene, but either way, it's not what I'd expect of a "true" 3D game. So I'd say it's "technically true 3D", with the limitation that you can't look at the true 3D geometry, so "practically not true 3D". No matter how I'm calling it, feel free to apply your own definition of "true" 3D onto the facts that it can construct true 3D and can't render it.

Share this post


Link to post

There were fully 3D engines (in the strictest sense) before and after Doom -those that came before were usually untextured polygonal engines used in flight sims and the such, but a purely polygonal engine put a lot of challenges. Just to mention a few:

  • Poor visual results -you needed a quite high number of polygons and/or very skilled 3D artists to realistically render pretty much anything in an acceptable, recognizable manner. Vehicles, planes and simple buildings were already so-so, humans, animals and monsters just looked rough-cut and ridiculous, even with later polygonal games such as Fade To Black.
  • Collisions performed purely between polygonal objects in a 3D environment were computationally expensive -Doom, unlike sims, had a completely different internal representation of its world than what a compromise between
  • Depending on the kind of game, the theoretically infinite motion and rendering flexibility of a pure 3D engine might not be much of an advantage: e.g. for a flight sim you surely wand 6 DOF, rotating camera views, etc. but for a "stiff" driving simulator already you could do away with XY-axis rotation in many cases), for a dungeon crawler game like Ultima you probably don't need player view rolling etc. so the overhead of a full 3D engine worked against gameplay speed/fluidity.

I once wondered how Doom would've been received had it been released with a truly 3D, but polygonal engine, everything else about the gameplay being equal.

Terminator (DOS, 1990)


Robocop 3 (DOS, 1993)


Not so great looking, are they? And the second game is from the same time as Doom. Even with many more polygons, it would still look like crap, and play even worse.

Doom managed to strike a good balance by avoiding the complexities of a pure 3D engine, by mixing a mostly 2D internal representation with a constrained 3D rendering which, however, looked much better than anything else at its time, and played much better too. Going full 3D in all aspects of the engine and rendering wouldn't have given it much of a further advantage vs other games of its time, and in that sense id made the right choice/compromise. After all, if they wanted, they could just have licensed/copied Ultima's engine, but they didn't. Why?

It also set a precedent for Duke 3D and Quake -that you don't need to go full 3D in order to make a successful FPS game. Did anybody care about the lack of player view rolling in Duke 3D? Even in Quake, can the player's view roll on demand? Nope, it's pretty much constrained in Doom/Heretic style, so in that sense, the engine is normally underutilized.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×