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

2 hours ago, kb1 said:

I thought the question was "Is Doom 3D?", to which I answer 'of-course.' As is Wolf3D...it's in the name, after all.

 

 

... with as much justification as calling a chess game 3D because it displays its board in 3D.

Nobody was ever disputing that Wolf3D and Doom were rendering their game view in 3D, denying that is utterly preposterous.

The question has always been whether the game mechanics are 3D and that's an entirely different story I won't repeat.

 

 

 

2 hours ago, kb1 said:

 

What game is "real"?

 

Ok, I ask you this: Why not just play Doom from the IDDTx2 auto-map, with auto-aiming on? Sound fun? Maybe a little. But what made Wolf3D, Doom, and countless others so intense, so involving, so visceral is the 3D renderer. Never before were people turning and swaying in their seat. It's the renderer that makes the game a 3D game, not the mechanics. Otherwise, just play from the automap.

 

Sorry but that doesn't fly. Although you can play Doom from the automap it doesn't render a fully representative view of the game, you cannot see where stairs, doors, lifts or other interactive elements are, where dropoffs are which block progression and such. So you will inevitably run into obstacles because the 2D view cannot represent them. Ergo, Doom is a 3D game, albeit with some limitations on its third axis. On Wolfenstein, on the other hand, a top-down 2D view would 100% represent the state of the game, there are no dropoffs, no lifts, only doors and moving blocks, and those are entirely representable in a 2D view without any loss of information.

 

 

 

2 hours ago, kb1 said:

 

Oh, and I typically do a top-down view of my chess games :)

 

Good try evading the issue. :P

 

 

 

Share this post


Link to post

Kb1 what kind of hill are you trying to die on here? Is your goal only to be contrarian? You have your own port that I've seen and played with my own eyes, you know doom has the z-axis specifically denoted in its code. Wtf nonsense are you saying with these unrelated, halfassed points when the real knowledge you do know suffices and is actually correct?

Share this post


Link to post
9 hours ago, Graf Zahl said:

Sorry but that doesn't fly. Although you can play Doom from the automap it doesn't render a fully representative view of the game, you cannot see where stairs, doors, lifts or other interactive elements are, where dropoffs are which block progression and such. So you will inevitably run into obstacles because the 2D view cannot represent them.

 

 

What if there was a 2D view with enhanced depth, direction etc. visual aids? Many top-down shooters from the 80s and the 90s did feature elements such as jumps over platforms, jumping over enemy projectiles etc. and even going up/down stairs, and the only clue as to where you could go was the artwork itself, usually with a so-called "isometric" or other kinds of creative, pseudo-3D views.

 

With a purely top-down perspective, still you could somehow give the player visual aids as to where is "down" and where is "up", clearly mark doors etc. but that goes way beyond the scope of the automap, even textured ones. It probably would require giving the player quite a lot of "spoilers" regarding the layout of the level, as well.

Share this post


Link to post

Depends on whether you're talking about aesthetics (in which case it is, as it resembles orthographic projection), versus literal dimensionality (in which case it definitely is not).

Share this post


Link to post

oh, sure, any 3d->2d projection is 2d, of course. maybe i read it wrong too -- this thread becomes harder and harder to decipher.

Share this post


Link to post

What I find most interesting is that Doom's 3D hackery wasn't unique. There are a ton of shooters from that period that all relied on making height maps out of 2D geometric data, the difference being that Doom was faster, bigger in scope and more stable than its contemporaries.

Share this post


Link to post
13 hours ago, Maes said:

What if there was a 2D view with enhanced depth, direction etc. visual aids? Many top-down shooters from the 80s and the 90s did feature elements such as jumps over platforms, jumping over enemy projectiles etc. and even going up/down stairs, and the only clue as to where you could go was the artwork itself, usually with a so-called "isometric" or other kinds of creative, pseudo-3D views.

 

If you want to be technical, a lot of polygonal 3D games could be represented in top-down 2D without too much of an issue, even using a layered system for things like different floors like games like Zelda Link to the Past did. It would still be very much in a compromised state, especially since projectiles also use 3D collision, the only thing to not use infinite height actors in vanilla presumably because giving everything a third axis in collision detection would've been too much for CPU's at the time.

Share this post


Link to post
On 7/12/2019 at 2:32 AM, Graf Zahl said:

Nobody was ever disputing that Wolf3D and Doom were rendering their game view in 3D, denying that is utterly preposterous.

I claim that that is all you need for a game to be called a 3D game. *Especially* in 1993, when having a beautiful, full-screen, fully-colored and shaded, texture-mapped 3D first-person view was flat-out amazing.

 

To me, it's like saying "It's not a real song without a guitar solo..." Well, ok, bad example :) You're not a bass player if you're not using a 6-string bass? It's not dinner unless it's a 4-course meal with wine and dessert?

 

I don't need to see a dog smile to know he's happy, and I don't need to study any game mechanics to tell if it's a 3D game... I can literally see so.

 

 

On 7/12/2019 at 2:32 AM, Graf Zahl said:

The question has always been whether the game mechanics are 3D and that's an entirely different story I won't repeat.

Eh, I gotta call BS on that. Sure, maybe today. But, in '93, the renderer was the main event that left everyone's jaw on the floor. The game mechanics? I was in love before I realized that I couldn't look down. Hell, I don't know how long it took to realize that I was being scratched from 50 feet below. I was too busy wishing I had figured out how to draw such seamless, gorgeous 320x200x8 glory. You were too, don't be ashamed - everyone was :p

 

 

The question is implied the thread title: Doomkid is refuting The Game Theorist's "Doom Wasn't 3D!" video, and I am supporting Doomkid's position.

 

Actually, I feel that the video (the original, not Doomkid's) was a bit disingenuous, and lacked respect for the game that made it all happen. They're shit-talking our precious - hee hee. Who do they think they are?

 

Yes, of course the game mechanics are completely important. But id Software didn't rule the gaming world by typing:

 

// not literal code, folks
if (fireball_floor > monster_floor + monster_height &&
   fireball_floor + fireball_height < ceiling)

They took the world by storm because the game visually immersed everyone who looked at it into a compelling, simulated reality with width, depth, and height.

 

On 7/12/2019 at 2:32 AM, Graf Zahl said:

Sorry but that doesn't fly.

Of course it doesn't fly - I was being facetious. Playing with the automap view is soon boring, because it the 3D view that makes it awesome, not the height calculations. And that's true for Wolf3D too.

 

<joke> Of course it doesn't fly - that would require proper 3D mechanics. ;}  I had to. </joke>

 

On 7/12/2019 at 2:32 AM, Graf Zahl said:

Good try evading the issue 

Evading? I wasn't really gelling with the analogy, so I made a lame joke.

 

All in all, I'm not big on this "2.5-D" silliness. Hey, I never thought Pac-Man really looked like a guy eating cookies either... But, it looked great.

 

These armchair "game theorists" need to leave Doom alone!

 

 

17 hours ago, Fonze said:

Kb1 what kind of hill are you trying to die on here? Is your goal only to be contrarian? You have your own port that I've seen and played with my own eyes, you know doom has the z-axis specifically denoted in its code. Wtf nonsense are you saying with these unrelated, halfassed points when the real knowledge you do know suffices and is actually correct?

 

Yeah, I'm a twisted bastard, I guess... No hill required, nothing that fancy. Not even a fall...I think a slow slump over a dead log will suffice (maple or so, none of this pine shit...a little respect...)  I mean, I'm a man - I'll let out an "Ugh, good bye, I guess" before flopping over, half-raspberry, wondering how I was so misunderstood :(

 

Heh! You know what? I can't tell if I got dissed, acknowledged, praised, kicked? I think kicked is easier to accept...

 

 

 

Share this post


Link to post

So we have the holographic principle applied to Doom. That is, the description of the Doom-space can be thought of as encoded on a two-dimensional boundary to the region. This boundary in fact being the surface of a torus.

 

In that case, Doom would have three dimensions in much the same way that the universe has four space-time dimensions.

Share this post


Link to post

A good way to think of Doom's levels is the intersection/extrusion of two surface plots. If you think about it, a single surface plot defines a 3D surface (let's call it "floor"), and another one (enveloping the first) could be called "ceiling". Very few people would argue that surface plots aren't truly 3D, even though they aren't as flexible as e.g. a bunch of 3D points with totally free XYZ coords.

 

Well, on top of that, Doom's actors actually do have XYZ movement freedom. However, they are constrained in how and when they can change their Z-axis. Much like an airplane and a helicopter can both fly, but in a plane you cannot really control your Z-position independently of the other other two, or of your speed, for that matter (unless you're falling out of the sky...)

Share this post


Link to post
18 hours ago, Maes said:

Well, on top of that, Doom's actors actually do have XYZ movement freedom. However, they are constrained in how and when they can change their Z-axis. Much like an airplane and a helicopter can both fly, but in a plane you cannot really control your Z-position independently of the other other two, or of your speed, for that matter (unless you're falling out of the sky...)

Exactly! We, as humans, don't naturally fly, yet we still describe our surroundings as 3-dimensional. Likewise, Doom portrays a subset of 3-dimensional possibilities, and yet is a 3D game. It's not complicated.

 

@Grazza (holographic principle)

A fascinating read! (And way above my head) I fear we are learning things nowadays faster than we mature as a species. We live in amazing times!

Edited by kb1

Share this post


Link to post
On 7/13/2019 at 12:45 PM, kb1 said:

I claim that that is all you need for a game to be called a 3D game. *Especially* in 1993, when having a beautiful, full-screen, fully-colored and shaded, texture-mapped 3D first-person view was flat-out amazing.

 

It entirely depends on what you want to discuss. And since the originally linked video went to great lengths to disprove Doom's 3D-ness by (incorrectly) pointing to a 2D playsim, we should at least be able to name a game that actually does fit this description (i.e. something that's working entirely with 2D mechanics, but i rendered in a 3D view.) and explain why it fits the description. Aside from visual presentation, Wolf3D had zero concept of height, and even in the visual presentation, height was merely a constant.

 

I also tend to disagree with you here. Even back in 1993 it was painfully obvious to me that the game was utterly flat - the 'only' innovation was to render a run-of-the-mill maze game from the player's POV. (You may gather from this description that it also was a game that never caught my interest.)

 

 

 

 

 

 

Share this post


Link to post
15 minutes ago, Graf Zahl said:

the 'only' innovation was to render a run-of-the-mill maze game from the player's POV.

which wasn't something new too -- several RPGs already did it (EOB, Uukrul, and others). what was mind-blowing is real-time 3d rendering of a maze, with arbitrary yaw angle.

Share this post


Link to post
On 7/16/2019 at 3:11 AM, Graf Zahl said:

 

It entirely depends on what you want to discuss. And since the originally linked video went to great lengths to disprove Doom's 3D-ness by (incorrectly) pointing to a 2D playsim, we should at least be able to name a game that actually does fit this description (i.e. something that's working entirely with 2D mechanics, but i rendered in a 3D view.) and explain why it fits the description. Aside from visual presentation, Wolf3D had zero concept of height, and even in the visual presentation, height was merely a constant.

 

I also tend to disagree with you here. Even back in 1993 it was painfully obvious to me that the game was utterly flat - the 'only' innovation was to render a run-of-the-mill maze game from the player's POV. (You may gather from this description that it also was a game that never caught my interest.)

Yeah, I'll admit that I kinda forgot about Wolf when I saw Doom, which is sad, cause Wolf is kinda neat. I was a necessary step before Doom, and, it a lot of ways, more difficult to code. Wolf used 32-bit memory, but was written in 16-bit segmented mode (ugh!), meaning that it was a monster achievement. And, it threw out tons of frames per second...on a 386, no easy feat.

 

But, most of all, it drew clipped sprites over textured wall strips, scaled by distance - that's the definition of a 3D renderer. When describing older games, the following terms come to mind:

 

side-scroller, parallax scroller, platform scroller, top-down scroller, 2D space shooter, etc. These definitions are all about the rendering going on. You can see the game for 10 seconds and know what to call it. Same goes for Wolf, and Doom: 3D shooters. When you have war vets calling you up saying that your game helped them with their PTSD, you have a 3D shooter on your hands.

 

Many games have that one special thing - that gimmick that makes it what it is. Of course, for Wolf, it's the renderer - that *is* the mechanic of the game.

 

I guess we'll have to disagree, it just seems so obvious to me.

Share this post


Link to post

Consider the following:

Spoiler

1U99BXt.png?1ysjowfb.png?1

Here we have two images showing an imp (red) and Doomguy (green). Each grid square is 64x64 units. Suppose the imp shoots a fireball at Doomguy, and to make the math simpler, assume that it starts from the bottom left of the imp's bounding box and hits Doomguy when it reaches the bottom left of his bounding box. For the sake of argument, let's say the fireball travels 64 units per second, meaning it'll take two seconds to hit Doomguy in the first example.

 

How long do you think it will take in the scenario represented in the second scenario? Well, the fireball has to travel about 286 units, which means it should take approximately 4.47 seconds to hit Doomguy, right? Well, yes, but actually no. If you test this scenario in the vanilla Doom engine, what you'll find is that the fireball takes the same amount of time to hit Doomguy, even though that require it to travel in 3D space a much larger distance in the second example.

 

If you doubt that this is true and think the projectile must take longer to hit Doomguy in the second scenario, I welcome you to set up a test for that and confirm this is in fact what happens by yourself.

 

The only reasonable explanation for why this happens is that the fireball's movement vector doesn't have a z component, it only has x and y components, which means as far as the engine is concerned, the distance between the imp and the player in both scenarios is the same. Does this seem like true 3D to you?

 

Also consider this:

 

Spoiler

F4SyRN3.png?1Jwciin3.png?1

Here we have Doomguy (green) and a teleporter (red). Consider Doomguy to be on top of the teleporter if his bounding box's bottom left corner touches the red line, and assume Doomguy moves at 64 units per second. In the first scenario, Doomguy will take 4 seconds to reach the teleporter, since he must travel 256 units, right? In the second scenario, he has to travel about 286 units, which again would mean 4.47 seconds, approximately. And once again, if you try this out in-game, you'll find that Doomguy takes the same amount of time to reach the teleporter in both cases. As with the imp's fireball, this must mean Doomguy's movement vector doesn't really have a z component.

 

Bear in mind, I am not necessarily implying Doom is a 2D game. It is 3D in the way that matters, in that it renders its world in three dimensions. However, the way things move in the 3D environment created by the engine is not how things really move in 3D space, and is much closer -- basically identical, in fact -- to how things move on a 2D plane.


EDIT: So I remember where I learned about this behavior, and here it is:

Spoiler

 

Start from 40:30 and you'll hear who I believe is Tarnsman describing the exact same thing I'm talking about here.

Edited by QuotePilgrim : adding a source from which I got some of my information

Share this post


Link to post

the imp projectile calculates a speed in the x/y plane and then adds enough z velocity to make it reach the correct Z height once it reaches the correct XY position. It has a full 3D position and velocity vector. You can literally do this in any 3D game engine. I could go do it in UE4 right now, and no one questions that UE4 is a 3D engine?

 

Likewise, steps are also a bit of a bad example. In games like Quake, where we're not questioning their 3D engine status, stairs also instantly change your Z height. Ramps don't, since the physics are more involved, but stairs have absolutely no effect on your XY plane velocity and you traverse them instantly. I'm less familiar with what more modern game engines tend to do here.

Edited by SaladBadger

Share this post


Link to post

I don't like to repeat myself, but I didn't say Doom wasn't 3D. I even outright stated it was 3D, which you should know if you read more carefully.

 

But, the way objects movement behaves is identical to how objects constrained to a 2D plane move. The way the engine calculates movement completely disregards the Z axis, which is proven by how, when seen from a top down view, the movement of the imp projectile is identical in both examples, which it shouldn't be, if the movement was calculated correctly in 3D, the projectile would appear to move slower when seen from above. As far as the engine is concerned, the projectile is traveling the same distance in both, and is moving at the same speed in the second example, not faster.

 

The way the projectile moves doesn't really make sense in 3D, but is perfectly reasonable if you think of it as being constrained to a plane. Moving up and down in the Doom engine is different from moving on the x and y axes, because movement in the z axis isn't really taken into consideration when calculating the movement of an object, it's only interpolated from its movement on the xy plane. The fact that the scenarios described by myself and the one described by Tarnsman in the video I have linked happen at all is definite proof of this -- the engine isn't making the projectile that's moving diagonally move faster so that they cover the same horizontal distance in the same amount of time; as far as the engine is concerned, both projectiles are in fact traveling at the same speed. The engine calculates all movement entirely in the x and y axes, and then it just changes the z value of actors as they move -- which is completely independent of their actual movement -- so that they end in the correct spot.

 

Yeah, you can program that in the Unreal Engine, but that doesn't matter because you can also, say, program a side view fighting game like Mortal Kombat. That is to say, a 3D game where the movement of the characters is constrained to two dimensions. That is the whole point, the engine may well be 3D, but the way things move in the engine is basically the same as how objects move when their movement is constrained to two dimensions.

Share this post


Link to post

That sure is a lot of words. Either something is 3D or it isn't. Stop trying to overthink it. 

Share this post


Link to post

my way of looking at it is, any game is going to have approximations. In a game where motion is typically constrained to the XY plane, with much less control over the Z axis, approximations favoring the XY plane are going to be more common. We have things like Quake's reality bending steps, in a game with otherwise very rigorous 3D physics. I am fully aware you mentioned that this doesn't make the game not a 3D engine, but I also don't really understand the intention here, at least why it's important enough to bump a 2 year old thread over it I mean it's important to understand from a gameplay perspective at least

Share this post


Link to post

Here are two things known to be true about the movement of projectiles and the scenarios I set up:

 

* The engines treats the velocity of the imp fireball as the same at all times, which must mean in both pictures the fireball is moving at the same speed.

 

* The movement of the projectile across the xy plane is the same, so the projectile hits the player after traveling for the same amount of time.

 

If the projectile is traveling at the same speed, and reaches its destination within the same amount of time, both of which we know are true, that must mean the projectile is also traveling the same distance. Since we know that the distance it travels across the xy plane in both is 128 units, that must mean that the distance it travels in the z axis is equal to zero. QED the projectile is moving in two dimensions only.

 

That doesn't mean that the engine isn't 3D, but it does mean things only really move in two dimensions, and changes in the z coordinate are not really seen as movement by the engine.

 

34 minutes ago, Edward850 said:

Either something is 3D or it isn't.

 

I mean, I get where you're coming from, but I must point out fractional (or fractal) dimensions are a real thing. The Koch curve is an object that has approximately 1.26 dimensions. Which means 2.5D isn't really as ridiculous as it sounds, I guess.

43 minutes ago, SaladBadger said:

why it's important enough to bump a 2 year old thread over it

 

Well, Doomkid himself has prompted me to, as I was discussing this with him in the comment section of one of his videos (no, not the one this thread is about). I honestly didn't expect him to respond when I wrote my first comment, but he did, and he let me know about this thread, so here we are. Not blaming him or anything, but it is true that if he didn't respond I wouldn't be here.

Share this post


Link to post

Okay, sure, at a conceptual level, we can argue that the projectile has no Z velocity. it's not relevant for gameplay purposes how it's implemented, but that it exists somehow. (even then, though, an implementation not considering Z velocity would require a lot more work to simulate) But at an implementation level, this simply isn't true. The same code that makes an imp fireball soar through the air is the same code that makes the player (or dead monster) fall off a cliff, or a player or monster blasted by an archvile soar into the air. All of these interactions involve proper Z velocity, and the projectile indeed has Z velocity, just calculated differently than how, say, Quake would calculate it.

Share this post


Link to post
2 minutes ago, SaladBadger said:

Okay, sure, at a conceptual level, we can argue that the projectile has no Z velocity

Sure, on a conceptual level, however for Doom it's irrelevant as Z does have an explicit velocity: https://github.com/chocolate-doom/chocolate-doom/blob/master/src/doom/p_mobj.h#L238

Which projectiles do use for Z targeting: https://github.com/chocolate-doom/chocolate-doom/blob/b9416dc6f9e569adcd067c9acd0b18e5d3240dd8/src/doom/p_mobj.c#L1004

Share this post


Link to post
1 minute ago, SaladBadger said:

an implementation not considering Z velocity would require a lot more work to simulate

Not really. You calculate how long the object will take to reach the x and y coordinates of its destination, then interpolate the change in its z coordinate as it moves across the 2D movement vector you have described. I'm not sure I'm explaining it very well, but I'm pretty sure it being implemented something like that is what explains the way projectiles move in vanilla Doom.

 

The fact is, the movement vector of the fireball has a greater velocity in the second picture if we think of its movement in 3D space, but the exact same if we only look at how it moves across the xy plane. That is what we know happens for a fact and is easy to test. To me that seems to indicate the object doesn't really have a z velocity attached to it, but rather has its elevation change as it moves across a 2D path, independently of the actual movement happening. I guess that's a matter of interpretation, who knows.

 

The way the projectile moves is just much simpler and makes more sense if you think of its movement as being entirely described by a 2D vector. If the movement was truly calculated as a 3D vector, the projectile would have to take longer to hit the player in the second picture, which is not what happens. The engine just doesn't behave as if it's calculating distances in the z coordinate, at all.

 

Regardless of how you interpret it, though, it can't be denied that the way objects move in Doom is not representative of how things move in a true 3D space.

Share this post


Link to post
17 minutes ago, SaladBadger said:

I mean, I did point that out in my post, but having the actual code links is helpful.

Ah, so you did. That's what I get for being distracted. :V

Share this post


Link to post

Why does any of this matter again? Even if Doom isn't "troo 3D", it still gives the illusion of being 3D to the point where you don't question it while playing the game. What's so fun about arguing semantics? Why debate something if the answer doesn't make a difference in the end? If we find out that all this time Doom is a 2D game, what difference would that make? Is it going to lead to some major modding revolution or something? Is there any real enlightenment to be found in this debate? It's obvious after over 230 replies nobody is going to concede their point of view anyway.

Edited by TheMagicMushroomMan

Share this post


Link to post

At the end of the day dimension is just a term we drooling simians invented to be able to talk about space, coordinates, distances, and stuff like that with measurability. You will never be able to observe a 2D in nature or even a 3D in nature because it's not a thing. This is why it's wholly inappropriate to say somebody is stupid if they doubt Doom is 3D. "I doubt Doom is 3D" is not a claim about what Doom is, it's a claim about what 3D is. This should, in fact, be more than obvious.

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
×