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

A quick thought on the "Is Doom 3D" debate

Recommended Posts

In an attempt to be as concise as possible in describing the peculiar nature of the Doom engine, I came up with this:

 

Doom has three dimensional axes (X, Y, Z), making it 3D in broad terms. The difference is that Z has limited functionality, used only to define altitude via a second set vertices that are parallel to those of X and Y. Because of this forced parallelism, geometry can only be defined as height maps, preventing the construction of rotatable, enclosed, "true" 3D structures.

 

Does this accurately describe the engine, broadly? It only recently occurred to me that you cannot move coordinates on all three axes simultaneously, just X and Y, which would also explain why even the advantage of slopes and 3D floors  is still limited by this previously mentioned parallelism.

Share this post


Link to post

To a limited degree, the game makes 3D calculations since it takes actor height, difference in sector height, and the z axis for projectiles into account. ZDoom also adds a calculation not present in the Original Doom, z axis collision calculations for actors, whereas Vanilla just made them infinitely tall in terms of that. I would consider Wolfenstein 3D more of an example of a game that appears 3D but, in actuality, uses exclusively 2D calculations. Doom is more like a hybrid in my opinion.

Share this post


Link to post

Those calculations are certainly 3D, and I neglected to mention them. I suppose I was focusing on the way geometry is presented.

Share this post


Link to post

In every engine, geometry has limitations. In Doom engine, geometry has different limitations for x/y and different limitations for z.

 

1 hour ago, GoatLord said:

you cannot move coordinates on all three axes simultaneously, just X and Y,

 

Things in the game move on all 3 axes, floors and ceilings move only on z axis, and walls can't move at all, so what are you talking about?

 

1 hour ago, GoatLord said:

parallelism

 

Some nonsense.

Share this post


Link to post

The z axis is like stretching out the xy plane.  The height only exists for actors because they 3d.  Wall height is debatable as to whether or not it actually exists.

Share this post


Link to post
21 hours ago, scifista42 said:

In every engine, geometry has limitations. In Doom engine, geometry has different limitations for x/y and different limitations for z.

This is what I was trying to say, although you worded it better. What I meant by parallelism is that any given set of XY coordinates defining a sector has a parallel set of coordinates at a higher or lower altitude (Z), thus allowing for height differences. If I have it correct, this second set of coordinates is always parallel as you cannot have any of the vertices alter its X/Y position without altering the corresponding X/Y position of its parallel vertex.

Share this post


Link to post

Doesn't 3D mean that all 3 axis / dimensions are present? regardless of the limitations? although the geometry can't freely move on X and Y axis you can see them in 3D view anyway, I'm I missing something?

Share this post


Link to post
Just now, tempdecal.wad said:

Doesn't 3D mean that all 3 axis / dimensions are present? regardless of the limitations? although the geometry can't freely move on X and Y axis you can see them in 3D view anyway, I'm I missing something?

"Regardless of the limitations" is not something most people consider when imagining a 3D space. Doom's tech is from a unique period in real-time rendering in which programmers made the conscious choice to intentionally limit Z so that environments could have a limited 3D effect without having to go through the extra computation required to provide proper perspective, or Z-sheering.

Share this post


Link to post
1 hour ago, GoatLord said:

any given set of XY coordinates defining a sector has a parallel set of coordinates at a higher or lower altitude (Z), thus allowing for height differences. If I have it correct, this second set of coordinates is always parallel as you cannot have any of the vertices alter its X/Y position without altering the corresponding X/Y position of its parallel vertex.

 

The term "vertex" has its own meaning in the context of the Doom engine. It's not a point on a side of a polygon in 3D space. It's a point in 2D space. It's not a limitation, it's a definition. The word is the same, but the intended meaning is different.

 

Vertex as a point on a side of a polygon in 3D space is supposed to define a point in 3D space explicitly as x/y/z coordinates. Vertex in Doom is not supposed to define a point in 3D space at all - not by itself alone, that is. Doom engine doesn't define 3D geometry via explicit x/y/z coordinates. It defines 3D geometry as a combination of vertexes (points with x/y coordinates), sectors (floors and ceilings with z coordinate each) and linedefs (connecting vertexes and sectors). This approach comes with its own limitations.

 

The point is - it's an entirely different concept than using 3D polygons. Some of your statements about the engine make no sense and it might be because you keep thinking of polygons, even though you haven't used that word in this thread yet.

 

(Also, let's say this again - all players/monsters/projectiles/items/decorations/blood-chunks/bullet-puffs/things in Doom have explicit x/y/z coordinates used for moving and colliding with geometry and each other. I simply can't think of that as not 3D.)

Share this post


Link to post

A vertex in Doom has a specific X and Y stored, that is correct. However, this can be viewed as a form of compression. The Z-coordinates of all the vertices in that X,Y position can be derived from the height of sectors. Walls are rendered spanning from a X,Y,Z coordinate to another X,Y,Z coordinate with quad-polyogons.

This is what it looks like in-game, any optimizations, clever trickery, etc doesn't change that. You can clearly find a X,Y,Z coordinate for any pixel in the 3D part of the game. The only 2D stuff are things like the status bar, automap, menus etc.

Quake 3 Team Arena has an outdoor terrain map mode, allowing for really big map via the use of terrain maps. As far as I know, you can't have terrain in different heights at the same x,y-position. Dos that make Q3TA a 2D game?

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
×