Why Doom is Awesome: Binary Space Partitioning

preview_player
Показать описание
Edit: I'm aware now that Doom didn't use affine texture mapping. I'm also aware that many of the games following Doom used portal based rendering, while still having files with a .BSP format.

An exploration into how Doom's graphics work and how Doom affected the gaming industry back in 1993.

Chapters:
0:00 Preliminary explanation
0:53 Intro
4:30 Wolfenstein
8:00 Doom
25:37 Addendum

#Doom #Doom1993 #DoomBSP

Sources:

R Schumacher & Air Force Human Resources Laboratory. Training Research Division 1969, Study for applying computer-generated images to visual simulation, Air Force Human Resources Laboratory, Air Force Systems Command, Brooks Air Force Base, Tex.

Special Thanks:
ID Software
CoD Black Ops: Cold War
The Doom Community
Рекомендации по теме
Комментарии
Автор

This video was a kind of research project for me, and I appreciate your kind comments. In response to a couple of comments and things I've read, I need to make a few statements:

- I apologise profusely for the use of texture filtering in Doom.
- I'm aware that explaining triangles and planes is kind of obvious.
- I described recursion as a process repeating itself until an end is reached. This phrasing might give the wrong impression to some viewers. In programming, a recursive function is a function which calls itself.
- When I say "Raycasting means you’re able to draw only the surfaces which are in the players field of view", a better way of phrasing this would be "Raycasting grants you the ability to draw only the surfaces which are visible to the player".
- To the general audience, a 'float' data type is precise, in that it allows you to store small decimal numbers. This can be misleading. In programming, a float is quite imprecise as opposed to, say, a double.
- Some of the details of the axe and door story may be hazy.
- Apparently green and pissed wasn't ever a working title for Doom. It was the name of a pre-Wolf 3D game.
- Doom did not use affine texture mapping.
- A lot of 3D games following Doom didn't use it's BSP system. They often used different methods like portal based rendering. They still, however, used a BSP data type. Why? I'm not sure. That's why I'm lead to believe they have some extant features from Dooms BSP system. Could be an avenue for further research(unless somebody else already knows?).

ShreddedNerd
Автор

When Doom was released, the thing that amazed me most was - you could "go outside" and it had its own background that "acted right".

rer
Автор

Thank you John Carmak, your programming and door smashing abilities are appreciated to this day

T.h.w.T
Автор

The coolest thing is that John Carmackreleased the source code to Id's games 5 years after they were released. He _wanted_ people to learn from them. The stuff he did was revolutionary, but he wanted other people to learn to do things he hadn't thought of yet because it advanced what was possible and made the games better and more fun. He was always truly in it for the state of the art.

Without John Carmack I would have never started learning graphics programming or 3D. I've ha the privilege of being able to say it to him directly a time or two, but I'll say it again: Thanks John. You have no idea what it meant for me to be able to play around in the playground you built. Even if after several days debugging I literally woke up and realized I'd dreamed in Quake e1m4's textures. 🤣

knghtbrd
Автор

John Romero put it much shorter: "As Carmack wasn't happy with the slow framerate, he did a bit of searching and found a paper with this thing, Binary Space Partitioning. He coded it as it was described in the paper - and it worked well"

ПавелКорешков-ьг
Автор

People forget how small the game was considering it's apparent complexity. The shareware level fit on a single 1.44 mb floppy disk and the full game was four discs. Seems crazy in an era that a game can be 100 GB or more.

nojustno
Автор

It's also insane that Carmack was able to find the scientific paper amongst many in at that time, understand that it can be actually adapted for a game, and then be able to use it.

SmartK
Автор

You can't imagine how amazing those days were for a 14y old. In late 1993 my mind was blown multiple times. September: Jurassic Park, October: 2nd Reality by Future Crew, December: DOOM by id Software - _thank you John Carmack_. After that I knew the PC was here to stay and the following years will only get better. BBS warez/demo scene, 3DFX, Fast Tracker 2, the PSX, CD burners, 3DStudio4, SGI, Alpha RISC, Linux, MP3 and one awesome game after the next ... 1993-1997 were awesome.

surject
Автор

Naylor taught game programming at UT Austin when I went to school there. I was in love with Quake and was so excited to be taught by the author of the BSP trees paper. After first talking with him, I took his 101 course and sat in on his 201 course concurrently, doing the 201 projects for my 101 class. None of my friend understood the extreme honor I felt to learn about bsp trees from Naylor himself. It was an exciting time for me.

RobbyNeale
Автор

Their ability to craft games about chainsaws and demons using math never ceases to amaze

Novasky
Автор

After watching this video I really can imagine how the set of stairs with the armor on the top in Doom's first map is an impressive technical showpiece. It's strange how we can forget how revolutionary this game really is.

IkesDaddelbox
Автор

The programming technology wasn't the only thing genius about DOOM. The level design, gameplay mechanics, art direction, character animation, sound effects and music was also inspired, so everything combined to create a unique, and captivating experience. It still hasn't gotten old.

aliensoup
Автор

Thank you John Carmack- not only did I play Doom on coop with my dad back in the day; but had the exact same blast playing coop with my son decades later- the gameplay is still superb. After the Fall on VR is the closest I’ve come to loving a game so much since Doom. A masterpiece.

Spigz
Автор

Carmak is certainly one of the most amazing individuals geniuses during the rise of the PC gaming generation. He and Romero’s work will live on in gaming lore for generations to come.

TheJonathanc
Автор

Holy shit this video should be split over a semester of a Game Programming degree.

I can only imagine the euphoria that those guys felt whenever they overcame each of those mathematical hurdles. There is nothing more joyous than devising a solution to a problem and seeing it work. I feel quite envious.

AdhamMGhaly
Автор

This video is absolutely brilliant, love the way you take into account chronology and reference things happening in specific years

jumbledfox
Автор

The hitboxes do have vertical values. It's the renderer that breaks when you angle the camera upwards, so the game uses auto aim instead.

dylanpresidafonseca
Автор

It's 30 years that I play the original version from time to time... it's just perfect

watchlover
Автор

Thank you John Carmack, as an IT guy and gamer...I am really appreciating you diving into the actual code architecture, including the history. Thanks

Jack-SecITGuy
Автор

I've known how special he was since reading Masters of Doom at a young age. still one of my favorites. Thank you John Carmack! you changed everything.

jpVari