The Carmack & The DOOM
by Steve Gibson, Sep 20, 2000 2:27am PDTThe second part of the John Carmack interview over at VE is up as promised. The Carmack talks a bit more about The DOOM and pretty specific about the current hardware and what would run it.
The renderer is completely new, and very different in structure from previous engines. Interestingly, the interface remained fairly close for a long time, such that I was able to develop most of the DOOM renderer using the rest of Q3 almost unmodified. It finally did diverge, but still not too radically.Btw, kinda on the topic. I fixed a couple of errors on those fake doom screenshots, sorry about that.
Daily Filter: Planetside 2, Deadlight
Weekend PC digital deals: strategy-o-rama
38 Studios, Harry Potter Kinect - Shacknews Daily: May 25, 2012
Minecraft for Xbox 360 dev working on 'Adventure' update
Demon's Souls servers extended again




Comments
John Carmack -- I think this has been mis-characterized for a long time - None of the Quake games have had what I would call a
"BSP based VSD algorithm". The visibility associated with quake is a cluster to cluster potentially visible set (PVS) algorithm, masked
by an area connectivity graph (in Q2 and Q3), followed by hierarchical frustum culling (which does use the BSP). The software
renderers then performed an edge based scan-line rasterization algorithm, which resulted in zero-overdraw for the world.
Early in Q1's development, I pursued "beam trees", which were truly a BSP based visibility algorithm that did exact visibility by
tracking unfilled screen geometry going front to back, but the log2 complexity scaling factor lost out to the constant complexity factor
from the PVS.
uh........ok.......yea.... (wtf??!?!?)
the carmack makes me feel stupid :-(
the scary thing is that he goes on about the same thing for about 6 more paragraphs....
Thread Truncated. Click to see all 13 replies.
What I mean is, imagine playing with a group of friends, your pods all come down scattered about the map and the first thing you have to do is meet up with the rest of your buddies. What would be even cooler is relying on your teammates to progress.
For instance imagine you and a friend are holding on for dear life against hordes of hell-spawn to protect a shield generator whilst another couple of your teammates are over the other side of the map (maybe even a different map) desperately trying to restore power. You are fast running out of ammo praying that they get the power on in time.
That sort of co-operative play would really rock for me.
My two cents.
BH
Thread Truncated. Click to see all 20 replies.
Thread Truncated. Click to see all 2 replies.
Why do I think VSD is the toughest 3-D challenge? Although rasterization issues such as texture mapping are fascinating and important, they are tasks of relatively finite scope, and are being moved into hardware as 3-D accelerators appear; also, they only scale with increases in screen resolution, which are relatively modest.
In contrast, VSD is an open-ended problem, and there are dozens of approaches currently in use. Even more significantly, the performance of VSD, done in an unsophisticated fashion, scales directly with scene complexity, which tends to increase as a square or cube function, so this very rapidly becomes the limiting factor in doing realistic worlds. I expect VSD increasingly to be the dominant issue in realtime PC 3-D over the next few years, as 3-D worlds become increasingly detailed. Already, a good-sized Quake level contains on the order of 10,000 polygons, about three times as many polygons as a comparable DOOM level.
- this basically meens that VSD is how you figure out what shit needs to be drawn on screen. The challenge is that you can make it draw exactly what should be on screen, but the tests u make the engine run to do this might be slowing down the PC too much. On the other side of things you can let the engine overdraw (draw shit you are not seeing, so its useless) some triangles and pixels, but then of course u are makeing the computer work harder than it really needs to be working
culling is the act of getting rid of shit u dont need to see
PVS is the potential visible set, and basically it like in quake, when u stand somewhere, u are standing inside of this invisble 3d square or somehting, and if any face of that square, can see another invisible 3d squares face, then the engine draws the things in that invisible square. So with a PVS, in the level file, there is a look up table, that is coucualted when you "compile" the map. so that look up table is the PVS, and when u stand in that invisble square and quake wants to know what triangles need to be drawn, then it just looks up the PVS. It was done this way because looking up somethig was faster than doing a bunch of tests to figure out whats needs to be drawn.
The PVS is created when u compile a map. It the Vis process, and it takes a while sometimes to compile, thats the disadvantage to creating a PVS for VSD.
in the new doom3 i believe carmack is getting rid of VIS to make a PVS and doom3 will figure out on the fly what needs to be drawn by the engine.
or something
Thread Truncated. Click to see all 8 replies.
"...The visibility associated with quake is a cluster to cluster potentially visible set (PVS) algorithm, masked by an area connectivity graph (in Q2 and Q3), followed by hierarchical frustum culling...
...I think he's making up his own words now! "FRUSTUM CULLING"?????
c'mon people, let's all go cull some frustums...its fun!
Thread Truncated. Click to see all 2 replies.
Thread Truncated. Click to see all 2 replies.
Thread Truncated. Click to see all 2 replies.
Like from the ground up, not using anything else but programming skill/experience to make a new kickass engine?
Yeah, fuck man!!! I don't want to look for another key card to open a door. I want to capture an enemy and torture him every possible and painful way so he'll tell me the secret password to that fucking door. The more I torture him the more passwords I get and may be heÂ’ll even tell me about a secret area. ThatÂ’s what I call a game. If id software won't satisfy my need for torturing in Doom 3 then IÂ’ll do it to real people. Enuff said! Fuck!
Thread Truncated. Click to see all 12 replies.
http://www.bluesnews.com/abrash/chap64.shtml
i find it very helpful, its mike abrash's little write up on the quake 1 tech, which still applies to q2 and q3 engine.
Thread Truncated. Click to see all 2 replies.
Is his Carmackness making a little joke here? Does anybody use the bs word 'synergies' seriously?
Some Parasitic Losses Carmack has skillfully 'avoided':
1)John Romero
2)American McGee
Thread Truncated. Click to see all 18 replies.
"everyone got something different out of doom, some single player some multi, we will persue the single player path"
THAT i like (no it's not an exact quote
infact i almost class him as a human being again for saying it.
i am still *VERY* disapointed they opted to cash into a well retired peice of our nostalgia for $$$
star wars episode 1 syndrome....
Thread Truncated. Click to see all 3 replies.
Thread Truncated. Click to see all 3 replies.
Thread Truncated. Click to see all 10 replies.
Something I want to see in Doom 3 that Quake 2 failed at in my opnion, is better use of captured marines. In Q2, you had to kill them to get goodies (a key, etc). This is just plain wrong - you don't kill your own.
Doom 3 we should be able to liberate prisoners; maybe have them be (I'm going to get my ass flamed off for this one) be temporary side kicks like Daikatana, only the game won't end if they get stupid and die. People to help you out, kinda like in Half-life OpFor.
Taking ammunition from the dead is one thing, that's permittable in real war. Killing the wounded or captured isn't for ammunition isn't.
Thread Truncated. Click to see all 6 replies.
Save dem pennies.
Thread Truncated. Click to see all 4 replies.
Oh Yes!
"The visibility associated with quake is a cluster to cluster potentially visible set (PVS) algorithm, masked by an area connectivity graph (in Q2 and Q3), followed by hierarchical frustum culling (which does use the BSP). The software renderers then performed an edge based scan-line rasterization algorithm, which resulted in zero-overdraw for the world.
This is what I always say. I mean duh!
Thread Truncated. Click to see all 2 replies.
Tune in tomorrow for the part 2 and 3 of CarmackÂ’s laguage translation.
Thread Truncated. Click to see all 5 replies.
Thread Truncated. Click to see all 2 replies.
Thread Truncated. Click to see all 4 replies.
Thread Truncated. Click to see all 2 replies.
Man! That's a very boring interview unless you're into technical stuff!
Bah!
Thread Truncated. Click to see all 3 replies.