Here Im mostly asking about PC games, as the full 3d era in console gaming was pretty much started with the PS1 launch (December 1994) and the N64 launch (September 1996).
Case in point is two of my favourite games, Star Wars Dark Forces (February 1995), and Dark Forces 2 (October 1997), pretty much the same formula, but totally different technical capabilities.
Dark Forces was solidly lumped in with the Doom era of games, being 2.5D. Basically the environment was 3D, enemies were rendered by a 2d billboard sprite, and for Dooms case, all levels were essentially on a 2D grid, with the appearance of raised ceilings and uneven floors essentially kludged into the engine. Dark Forces slightly expanded on this by somehow adding in the ability to have multiple levels (is it only 2 different vertical levels or more?) and the ability to pan looking up and down ([although this again seems to have been a hotfix to an inherent issue in raycasting engines](https://en.wikipedia.org/wiki/File:Camera_Rotation_vs_Shearing.gif)).
So then a little under 3 years later Dark Forces 2 is released by the same publisher, you can do pretty much everything you can in a normal game engine, look in any direction, completely 3d environments, and the graphics still look passable even now.
I get that there are some technical hurdles to cover between 2D games and full 3D, particularly without a graphics card (first hitting the market in 1999) to reduce the performance issues with rendering only what is in view (occlusion I think?). What I dont get is how the technical issues were solved so quickly between 1995 and 1997, and in particular why the 2d grid necessity went away so quickly.
In: Technology
Most of the answers so far are talking about the lack of 3D rendering hardware at the time as the cause. This actually wasn’t the issue at the time.
The issue wasn’t how quickly to render the polygons; the issue was how do you determine which polygons you need to render. And that is not a graphics card issue; that is a CPU issue. In all games that have a moving viewpoint, from way back in Battlezone all the way to today’s best looking games, the computer needs to rapidly filter out what it can ignore and not even send to the video card.
Carmack and iD made the breakthrough of using Binary Space Partitions to *instantly* know the exact list of walls they had to consider rendering based on where the camera was located. [Ars Technica has a great article going in depth on it, probably at a higher-than-ELI5 level…](https://arstechnica.com/gaming/2019/12/how-much-of-a-genius-level-move-was-using-binary-space-partitioning-in-doom/)
**At an ELI5 level, what is Binary Space Partitioning in a 2.5D game?**
Simply, the level is looked at from the top, so processed on the basis of the “floors” of the model. The computer splits the the floors into triangles on the basis of what walls can be seen when the camera is on the triangle. Depending on how varied that list can be, the triangle can be cut into further smaller triangles, so the list is as close to totally accurate as possible. (Imagine one giant rectangular room with 10 hallways coming off of it. Depending on which hallway you are looking down, the walls will be vastly different. So the giant room gets cut into many many triangles rather than just 2). This processing takes a very very long time, and is saved with the level. It is not done on the player’s computers.
Additionally, the use of triangles mean the game never needs to calculate “which triangle am I on?”, because when the triangles are built, they also save what triangle is on the other side of each edge. So when you move from one triangle to the next, the game already knows “crossing edge B of Triangle 12 moves you to Triangle 16”.
**Oh yeah, and additional ELI5: What does Binary Space Partitioning mean?**
Complex word and complex science, but actually very easy conceptually:
* Binary: Means two options, “on or off”, or “yes or no”.
* Space: On the map/level
* Partitioning: dividing
So, Binary Space Partitioning means “dividing up your level so you know if you are in front of or behind each wall”
Latest Answers