Hacker News new | past | comments | ask | show | jobs | submit login

The original DooM engine it's a "false 3d" or 2.5d game. Really it's a 2d game displayed on 3d. All game mechanics, and the monsters IA works based on 2d data. Even the maps are based on 2d BSP and data. Z data are only used to rendering.

Source ports add more 3d stuff to the game engine, like collision by cylinders with height (ie, a flying Cacodemon not would colide with you if it is flying above you), opnegl rendering, 3d camera, modern controls, slopes, etc. But at the core, keeps being a 2d game.

Ultimately the environments are 3D images being generated from a 2D dataset. How is it not 3D? A cube is a 2D square that's been extruded into another dimension. It's not 2D.

>How is it not 3D?

It's the difference between looking 3D and being 3D (well, being represented 3D in the game engine before rendering to your monitor).

Doom isn't 3D because the level maps can be squashed flat to a 2D grid. For every x,y position there was only one z for you and the mobs. There weren't any situations where a bridge or ramp took you/mobs over a lower spot you/mobs could also be at, rooms weren't stacked, etc.

That was fine, Doom pulled off its sleight-of-hand extremely well and the gameplay it offered was captivating!

Lots of 3D shapes can be squashed flat to a 2D grid. If you printed out a Doom level on a 3D printer and put it on your desk, you wouldn't claim it wasn't 3D just because you couldn't find any stacked rooms. The final product is 3D regardless of the constraints on which 3D geometries are possible.

You could argue there are no 3D graphics. Everything is transformed into a 2D screen representation.

I'm not taking about shapes, I'm talking about the LEVELS themselves. There are no DOOM levels where part of the level exists "above" or "below" another part of the level - they are all 2D maps that through various (ingenious) engine tricks, such as elevators that teleport you to fake entering one spot and exiting another spot "above" it, to visually appear 3D.

Hence my squashing analogy, DOOM levels don't overlap and can be drawn ("squashed flat") on a 2D surface.

But you can't actually occupy a different height for a given location. This is NOT real 3D. That's why DOOM is sometimes described as a 2.5D game. Quake was the ID Software game that was 3D.

If you think DOOM is a 3D game, try creating a level that contains a player accessible location above/below another player accessible location, and see how the game renders it. Or, read the DOOM rendering engine links that are posted and pay close attention to the "not a true 3D engine" paragraph.

That is a pretty arbitrary qualifier for 3D. Doom is filled with spatial obstacles that make use of the 3D geometry. For example, a missile can pass over the player. Facing a wall on top of which a monster stands, I can't necessarily pass it or see or fire at the monster. Flattening the levels would change the game and remove many of its challenges.

The format of the levels or the fact that there are no rooms over other rooms don't really factor into it.

I think we're just arguing at different levels of abstraction here. I'm arguing that a 3D environment is being generated from 2D map data, and I consider it to be meaningfully 3D.

I suppose at the extreme end, I'd have to explain why Wizardry on the Apple II is or isn't a 3D game, which would be more of a strained philosophical argument.

I refer more to the game logic on the original game engine. For example, there can't be bridges or rooms over other rooms. Or a flying monster can't be over other monster or a player.

On other side, the original game engine, use 2d math with fixed point to rendering on a 386 CPU. Don't uses mvp matrix to render, like a real 3d game.

Take a look to : http://doom.wikia.com/wiki/Doom_rendering_engine

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact