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

12 hours ago, VGA said:

Quake had not been released then or else these authors would be able to give a proper example of what a truly 3D game geometry/world is by pointing to it.

 

There were a lot of "truly 3D" games by then, but let's face it, most of them were boring-as-shit flight sims or otherwise vehicle sims, or weird stuff like Continuum/Alpha Waves. 3D Construction Kit and the like were also out since the 1980s but you guessed it....more boring polygons. Yawn.

 

If we restrict ourselves to textured 3D games on the PC...then Ultima Underworld was certainly more advanced than Doom. Only it was shit-slow, stamp-sized, and the game genre wasn't everybody's cup of tea. Doom simply hit the perfect storm of -barely- powerful enough average hardware at the time of release, a good compromise between geometry/visuals/dimensionality, and of course hooking gameplay that everybody could pick up in a matter of minutes.

 

Titles like Descent, released between Doom and Quake, just proved that yeah, you could go full 3D if you really wanted, but at the cost of near-prohibitive computational power requirements, and that, unless your gameplay really required it, you didn't really need it. Other "post-Doom" games like Dark Forces and Duke3D caught up on that and didn't go full/free 3D exactly for this reason, again choosing a compromise but providing some incremental enhancements (slopes, RoR design etc.)

Edited by Maes

Share this post


Link to post
12 hours ago, VGA said:

Sandy Petersen in that recent video said it wasn't 3D but 2.5D (actually he had a senior moment and said 1.5D but you know he meant 2.5D)

 

Lmao I'm pretty sure he said that tongue-in-cheekily for humor as a parody of basically this exact argument from this thread, much like all the other humorous random memery going on in that video.

Share this post


Link to post
1 hour ago, Maes said:

Titles like Descent, released between Doom and Quake, just proved that yeah, you could go full 3D if you really wanted, but at the cost of near-prohibitive computational power requirements, and that, unless your gameplay really required it, you didn't really need it. Other "post-Doom" games like Dark Forces and Duke3D caught up on that and didn't go full/free 3D exactly for this reason, again choosing a compromise but providing some incremental enhancements (slopes, RoR design etc.)

Descent ran fantastically on my 486 DX4 75 MHz, so not sure what you're on about with that. It's a highly tuned software quad rasterizer written almost 100% in x86 assembly.

Share this post


Link to post
27 minutes ago, Quasar said:

Descent ran fantastically on my 486 DX4 75 MHz, so not sure what you're on about with that. It's a highly tuned software quad rasterizer written almost 100% in x86 assembly.

 

But it didn't run fantastically at all my 486 DX/40 (not even overclocked to DX/50). Between mine and your machine however, there could be worlds of differences like e.g. yours using a PCI video card and 72-pin DIMM RAM (EDO, even) vs mine's ISA/VLB video card and 30-pin SIMM RAM, not to mention larger/faster onboard cache, so the CPU alone and its frequency doesn't tell the whole story.

 

Ah, the 1990s, a wonderful time of transitional technology where 1-2 years difference in purchase date could make or break, and either leave you with a machine that was already obsolete or something that could be OK-ish for a few good more years. :-)

 

To be fair, RAM seemed to be a much more limiting factor than CPU power alone: with 4MB Descent was simply unplayable due to the constant disk trashing (but so would be large-ish Doom and especially Doom 2 levels). But even with an upgrade to 8MB, it wasn't something I'd gladly play for any length of time, not after being used to Doom's (relatively) good framerates.

Edited by Maes

Share this post


Link to post
13 minutes ago, Maes said:

Ah, the 1990s, a wonderful time of transitional technology where 1-2 years difference in purchase date could make or break, and either leave you with a machine that was already obsolete or something that could be OK-ish for a few good more years. :-)

Good point :P

Share this post


Link to post
18 minutes ago, Maes said:

Ah, the 1990s, a wonderful time of transitional technology where 1-2 years difference in purchase date could make or break, and either leave you with a machine that was already obsolete or something that could be OK-ish for a few good more years. :-)

 

Meanwhile my R9 390 was already a midrange card when I bought it back in 2015 and it still runs games at High/Ultra!

Share this post


Link to post
5 minutes ago, Mr. Freeze said:

 

Meanwhile my R9 390 was already a midrange card when I bought it back in 2015 and it still runs games at High/Ultra!

 

Today we have it a bit easier in that e.g. a 10 year old computer can still be usable at least for surfing the Web (lots of asterisks here), something unthinkable in the 1990s, and run most non-gaming software somewhat OK, provided it doesn't have less than 2GB of RAM or something.

 

For GFX cards however, even though I'm kinda out of that game, things generally weren't that rosy. I don't know if you mean current games, or if a 5 yo GFX card is old enough to risk running into current driver/DirectX/OpenGL lack of support.

Share this post


Link to post

I dealt with an old-ass Intel GMA 3100 card from 2007. OpenGL/DirectX support on it was very outdated even by the early 2010s standards, and the performance of it depended on the CPU I was using (a Pentium Dual-Core to be exact), which meant it was slow. I eventually dumped it in 2017-ish for my current PC with a discrete GPU.

 

Of course, nowadays it is different with 2010s GPUs more likely to run modern games as opposed to the 2000s GPUs.

Share this post


Link to post

Doom is definitly 3D. Sure, it has limitations, but think about it this way: can disabled people on a wheelchair move around? Well, I mean, they don't have nearly the same ease and fluidity as people who can use their legs. But can they still go from one place to the other? Sure as hell they can!

Share this post


Link to post
3 minutes ago, DSC said:

Doom is definitly 3D. Sure, it has limitations, but think about it this way: can disabled people on a wheelchair move around? Well, I mean, they don't have nearly the same ease and fluidity as people who can use their legs. But can they still go from one place to the other? Sure as hell they can!

Dude, a single step can prevent them from entering buildings or getting onto pavements! Without a ramp they cannot enter buildings ...

Share this post


Link to post
6 minutes ago, VGA said:

Dude, a single step can prevent them from entering buildings or getting onto pavements! Without a ramp they cannot enter buildings ...

Your totally right, but this is an analogy, and analogy's aren't 1:1 comparisons.

Share this post


Link to post
34 minutes ago, DSC said:

Your totally right, but this is an analogy, and analogy's aren't 1:1 comparisons.

 

It's a bad analogy though...

 

Not the most inspired either.

Share this post


Link to post
15 minutes ago, seed said:

 

It's a bad analogy though...

 

Not the most inspired either.

English is not my first language alright?

Share this post


Link to post
44 minutes ago, DSC said:

English is not my first language alright?

 

Nor is it mine. I was just saying that you didn't think of a good example.

Edited by seed

Share this post


Link to post

Oh yeah, I was going through this thread again and I found a post talking about the source code and how the z-axis was a convenience notation added later down the line:

in some source code yes, in others no. It all depends on what source code you are referencing in relation to games lifespan. The very early releases of the game never had the source code publicly released as by the time it was released they had already given the game engine an internal overhaul. In the very early versions of source code there was no z axis referenced anywhere. In the later ones closer to when it was publicly released, yes there are z axis referenced, but the z axis referenced isn't even an actual game engine axis. It is a custom variable tied to an advanced algorithm put in for the sake of making referencing easier as well as identifying it's purpose easier. It is easier to look at a variable labeled z axis and understand what is purpose is than an entire algorithm. Also trims the code up so it performs a little better. However despite having this intricate rendering algorithm, none of the games logic runs based on an actual z axis, just a complex algorithm that's main goal is to create an optical illusion

 

This has been thoroughly debunked for every release version of Doom, but after spending a couple of weeks of my life working on reverse engineering and then reimplementing the 0.5 alpha, I can confirm that this wasn't true even as far back as the alphas, and I have the symbol tables to back me up. All things have a z coordinate, this Z coordinate is absolute instead of relative to a sector's floor or something like that, players have Z momentum, and so on. The Z coordinate for things is meaningful and is used to control where they render. The one downside is that since it's alpha unfinished code, there is no Z movement at all, the movement code just glues your thing to the floor of a particular sector (though platforms in 0.5 do have to explicitly move things). But Z positioning and movement was a consideration as early as 0.3.

Share this post


Link to post
32 minutes ago, seed said:

 

Nor is it mine. I was must saying that you didn't think of a good example.

Ok, I'm just not good with words.

Share this post


Link to post

 

1 hour ago, DSC said:

Your totally right, but this is an analogy, and analogy's aren't 1:1 comparisons.

 

I think a better example (at least in terms of the question about 3d floors) would be comparing doom to the inside of a small shed or a singular room in the real world based on the fact that it too doesn't have room over room. Or if fifa, madden, and the nba 2k games are all 2d because of the same reasoning 🙃

Share this post


Link to post

I always imagined Doom levels as being the complement of two surface plots (the space between them): one for the floors and one for the ceilings. Anyone familiar with surface plots will tell you they are 3D....but somehow less 3D than XYZ point or curve plots ;-)

Share this post


Link to post

this is a somewhat long thread so forgive me if this has been addressed before, but wouldnt it be correct to say that doom's gameplay is 3d whereas the engine isnt? i assumed the ability to run over pickups without taking them and such and the way "gravity" is implemented were all hardcoded features, but if the engine itself properly processed the architecture in 3 dimensions what would be stopping designers from putting rooms on top of rooms and such?

Share this post


Link to post
On 12/9/2020 at 9:07 AM, ketmar said:

it's even easier. Doom 1 is 1D. Doom 2 is 2D. it's written right there, in the title.

AFK, gotta find the 1,999 prequels to Death Race 2000.

 

42 minutes ago, EtherBot said:

this is a somewhat long thread so forgive me if this has been addressed before, but wouldnt it be correct to say that doom's gameplay is 3d whereas the engine isnt? i assumed the ability to run over pickups without taking them and such and the way "gravity" is implemented were all hardcoded features, but if the engine itself properly processed the architecture in 3 dimensions what would be stopping designers from putting rooms on top of rooms and such?

The fact that the map is done in a 2D plane, basically.

 

There is a "height" in the sense that projectiles can pass over/under you, but anything not specifically flagged for that is considered infinitely tall. You also can't look straight up or down without a rewritten renderer, and while you can move in three dimensions (you can fall off a ledge, for example, or plats), there's pretty strict limits about intersecting geometry and Things.

 

It's pseudo-3D, but as the map is fundamentally 2D in nature, you can't fully call it a 3D engine. But owing to stuff like I mentioned with height components and the ability for things to pass above/below you, you can't fully call it a 2D engine, either.

Share this post


Link to post
31 minutes ago, EtherBot said:

this is a somewhat long thread so forgive me if this has been addressed before, but wouldnt it be correct to say that doom's gameplay is 3d whereas the engine isnt? i assumed the ability to run over pickups without taking them and such and the way "gravity" is implemented were all hardcoded features, but if the engine itself properly processed the architecture in 3 dimensions what would be stopping designers from putting rooms on top of rooms and such?

The way I'd put it: Doom is a full 3D game upon which certain key invariants were established in order to remove many expensive calculations.  This is why it's hard to point to any particular things and say "this is 2D and not 3D" since Doom is a 3D game that simply doesn't let you do certain things in order to break those invariants.

 

The reason you can't put rooms over other rooms is because one of the assumptions made is that this construct can't exist.  This doesn't mean that the Z axis is removed at all, it just means that certain checks don't need to be done because you know a fact ahead of time.  In this case the player is always bounded by the one floor and one ceiling.  Compared to say Duke 3D which allows some degree of room over room the difference is this assumption is carried out to the precalculated physics and renderer data.

 

The way gravity works, or why certain things are allowed to pass over/under other things is because it's still a 3D game with a complete Z axis.  Within the bounds of the game everything carries out like it was full 3D.  Thus it's actually better to look at it the other way around, that is the fact that rooms can't be over other rooms is a hardcoded "feature" of the engine for speed.

Share this post


Link to post
1 hour ago, EtherBot said:

but if the engine itself properly processed the architecture in 3 dimensions what would be stopping designers from putting rooms on top of rooms and such?

Actually, not much prevents it at all. People are quick to forget we've had layered room structures since Doom Legacy. The main limitation is the renderer itself, it's highly optimised to quickly draw out the scene, and does so by omitting as much clipping info as possible while making use of a very specific draw order.

 

If you add in the ability to do depth based clipping for flats and add in multiple passes, you can solve the visual aspect, and the rest is just adding in extra floor/ceiling information to sectors and adding in the extra collision checks. (There is the matter of solving Z axis collisions between solid actors but in a pinch Strife and Hexen offer solutions.) 

 

We actually considered this for Doom64 early on if we were to add in full co-op (to solve the bridge trigger limitations) as the renderer already made plane sorting a non issue. It's actually not as daunting of a task if you can dedicate the time to it. 

Edited by Edward850

Share this post


Link to post
13 minutes ago, Blzut3 said:

Within the bounds of the game everything carries out like it was full 3D.  Thus it's actually better to look at it the other way around, that is the fact that rooms can't be over other rooms is a hardcoded "feature" of the engine for speed.

yes. it may be easier to think about it this way: the engine recreates fully 3D environment from a simplified 2D blueprint. but in the end of the day, the environment IS 3D, and the engine IS 3D. the fact that the engine cannot process some kinds of environment doesn't make it "less 3D" or something. the fact that we have 3D floors in sourceports, for example, shows us that the engine is "full 3D" in it's core, otherwise adding such features would be impossible without rewriting the whole thing from the scratch.

Share this post


Link to post
5 hours ago, Dark Pulse said:

There is a "height" in the sense that projectiles can pass over/under you, but anything not specifically flagged for that is considered infinitely tall.

"Infinitely tall" is a bit of a misnomer, it's a shame the term has always been around because it's not really that accurate:

 

On 3/31/2020 at 2:18 PM, Doomkid said:

Doom uses 3D game logic. The only thing “2D” about Doom are the sprites and map blueprints, the world is very much 3D.

 

Actors aren’t actually infinitely tall, even in vanilla Doom. Explained partially here: https://doomwiki.org/wiki/Z-clipping but even that wiki page isn’t telling the full story, as it says Z heights only matter for projectiles, hitscans, and allowing solid objects to pass into a sector if the heights allow it. In reality, getting the player to “touch” and thus collect weapons, items and power-ups is also completely dependent on this behaviour. If you walk 100 units above an item you won’t pick it up, because actors are only infinitely tall in the case of two actors with the “solid” flag set attempting to enter the same X/Y coordinates.

Additionally, even actors flagged as solid can still pass through short archways - if they really had infinitely tall collision, the "null space above your head" would cause you to be stuck unmovable in the ceiling above.

Share this post


Link to post
31 minutes ago, Doomkid said:

"Infinitely tall" is a bit of a misnomer, it's a shame the term has always been around because it's not really that accurate:

 

Additionally, even actors flagged as solid can still pass through short archways - if they really had infinitely tall collision, the "null space above your head" would cause you to be stuck unmovable in the ceiling above.

Well yeah; as I pointed out, projectiles can most certainly pass above and below you. But it definitely impacts player-monster collision; even in Vanilla Doom you can't walk "under" a floating Cacodemon/Pain Elemental/Lost Soul.

 

So it's "mostly" 3D, but restricted in some cases. This being one of them. The lack of ability to do true room-over-room being another.

Share this post


Link to post

The point is there are restrictions on even the X and Y axes as well, especially compared to modern game engines. If I create a map that's only 128 units high on the Z axis that's no problem, but if I create a map 1,000,000 units wide on the X axis, the engine is going to crash. So really, it's not just the Z axis that has some arbitrary limitations, it's all axes.

 

If limitations on the Z axis downgrade it to a "pseudo 3rd dimension", then do the limits on the X and Y axes also render them "pseudo 1st and 2nd dimensions"?

Share this post


Link to post

re: room over room: I really need to stop being lazy with my map convertor (or just try to fiddle with some ancient version of yadex...) but I get the impression that some of the older portal based Doom alphas (someone get me off this doom alpha wild ride, please) can do room-over-room. They're "portal" based renderers, which consider which sectors to draw by a recursive algorithm looking into two-sided lines, and regions drawn are clipped to the bounds of the specific line you're looking into. If you have a sector over another sector, since the portals looking into both sectors cannot exist in the same region of the screen, there should be no interference from the overlapping sectors. There's still problems with no z-clipping on things, and it'll be like the limitations you get in the earlier build games like Duke3D where you can't see both the upper and lower part of the stacked sectors at the same time, but the renderer should support it.

Share this post


Link to post
On 12/9/2020 at 8:12 PM, Maes said:

 

There were a lot of "truly 3D" games by then, but let's face it, most of them were boring-as-shit flight sims or otherwise vehicle sims, or weird stuff like Continuum/Alpha Waves. 3D Construction Kit and the like were also out since the 1980s but you guessed it....more boring polygons. Yawn.

Ridge Racer and Daytona USA, despite being, as you say, vehicle sims, looked like the fucking future though and were released around late 1993/early 1994 as well. The latter even had texture filtering. Doom ran on home computers of course, but it's not like it couldn't be compared to those at the time.

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
×