Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  

DooM3 Engine Footage # Frame-by-frame

Recommended Posts

This article is just an assumption of what will be the DooM 3 engine based on the MacWorld Tokio GF3 show and the comments extracted from interviews, .plan files & QuakeCon2K info.
Some of the stuff I say might NOT be in the final build, so please don´t send me any "YOU LIE TO US, ZALDRON, YOU LIE!!!!" written in goat´s blood...

OK, im writing this on Notepad, I have a really low trust to "Evercrash" IExplorer. My intention is to bring a decent frame-by-frame close-up regarding the *drools*.. er.. sorry.. ahem! DooM3 engine footage.

Now, this would be EASIER if Ling reactivated the tags, but well, I´ll guess it´s easier to have you guys loading up the ASF (wich I presume everyone here treats like some sort of idol).
I´ll touch every engine-specific topic I had encountered in my 538 re-plays, as some gameplay/storyline stuff...

Scene 1 : id rotating logo.

Nothing to say here, the lighting looks great, but then again, not much to say. My only tought is the presence of shaders again in DooM3. As everyone sees here, the blue intense id logo remains at max brightness altough the things is rotating under a distorted light. I think there´s a reflection map there too, so I have enough clues to presume that some sort of alpha version of the Shader code is in. Probably the special effects for the lights are handled by a shader, since, for example, building a grid in front of a light, just to archieve that cool "stripes of light" effect is plain ridiculous.
deadnail asked me once what would I like to see in the engine.... I said projector maps. My dreams came true. Just imagine the possibilities to proyect pics/shaders with a light. Taking a realistic example we can mention Duke3D. Remember E1m1? the cinema? That projector that "casted" the movie over the screen now can be done in a realistic way. Put an enemy in front of the rays, and his surface will be colorified with the avi, put yourself in front of the projector eye, and the screen will go blank...

Scene 2 : Beast on darkness

The first thing I want to note is the floor. Look at those tiles, how well they behave under those light conditions. I can tell you, that floor is as flat as Quake1/2/3 floors. That´s how the miracle of bumpmaps works...
As Carmack points out, this is the first time that he can do realistic lighting across every surface of the world, without using stupid methods.
On Quake days we used to have :

# For architecture lighting : Lightmaps compiled inside the BSP
# For model lighting : Per-vertex Gourad shading
# For model shadows : Ass-looking-circle-in-the-ground or projected polys.

Now everything is handled the same. Look how the shadows blend across the beast surface perfectly.
Speaking of the beast, what is this? In certain way it looks like a over-strenghtened Imp, while it could be a more agile Pinkie.

Scene 3 : Some sort of bridge?

This looks pretty much like Seneca Menard´s "iD heart" model for the TA intro. There are 2 important matters to discuss. First, check the new "average polycount". There were days that we had 12 polys shaping a cubic room, while now there are +20,000 polys JUST FOR A BRIDGE!!!
Here´s where Graeme Devine´s comments about dynamic worlds came true.
In the Quake engine, the dynamic brushes are handled in an effective but strict system. You group some convex brushes and tie them to an entity. This entity can move or rotate the brush under certain triggers. If you need a special axis to rotate the stuff, you create a "ghost" brush using the -Origin- texture. The center of this brush (that is not rendered in the game) is the center of rotation.
Look at what we have now, a brush that moves down, rotating with acceleration, and suddenly, a PART of the group rotates in a completely different axis.
My assumption is : there are no more brush entities in the way we know them.
And what are they using now? There are many ways to code this feature, but I suppose they´re going for controllers. A controller is the behavior of a certain group of objects. This behaviors are rotate, move & (probably) scale. After doing the triggering logics, you make the animation. How? you´ll ask.
Imagine a time segment where you pick individual frames and change the parameters.

For example :

I have a simple object, let´s say a cube joined to a sphere on its surface.

I want the animation to happen in 2 seconds -> 60 frames (not videogame fps, but cinematic time).

1) I jump to the frame 20 and make rotateZ 3600°

2) Then I jump to the 30 and make moveZ -200 and moveX 0

3) After that I go to the frame 60 and make rotateZ -90° and moveX 40

The final blend works like this :

The thing goes down 200 units at 1 second in constant speed, while it rotates very fast 10 times. But the object has another rotating order to work with, so the rotation goes slower and slower until it reaches 0° per second, and then rotates 90° to the other way in 1 second, slowly taking speed.
The object must move to the right (X) 40 units, but in the frame 30 there´s moveX = 0, so the object starts moving from 30 to 60, acquiring speed.

This is how 3DSMAX and LightWave works with object animation. Each group can have sub-groups with their own controllers (like the bridge part separated from the whole object in the movie). The controllers can be very different between them, Linear controllers doesn´t posses acceleration, Bezier ones do, Noise ones make the animation all jumpy, like broken mechanics.
OK, that was hard to understand, and harder to explain in words. But when all of you get your hands on the editor, you´ll be blessing iD...

Scene 4 : Holy Crap!

More proof that the polycount went nuts. A complex array of normal brushes and bezier patches (hence we have NURBS working) under dramatic "stripe" lighting. This is how the game looks normally, all that detail, all that atmosphere...

Scene 5 : *sniff* It´s like if Alien came true!

At last, this is something that game companies wanted to do since the days of Quake. I saw this in Unreal, Quake2 and Quake3. But at last is working, I´m talking about the "Fan casting shadows" experience. Anyone here remembers that Starcraft cinematic where a group of Marines must detonate a Zerg-infested research vessel? Remember when they´re all looking to a big fan that casted shadows all across their faces, hearing Hydralisk groans?? That piece of experience can now be fully translated to a game.
Those tech floors look really good with the bumpmaps on, and if we continue the movie we´ll see a nice alarm-lamp effect. Look at the light casted over the floor and the door. It´s distorted (thanks to a projector map) just like a flashlight spot. If you turn on a flashlight in your home, you won´t see a perfect round spot, but a irregular spot due to the reflection cone and the bulb shape. If DooM3 has a flashlight (and I hope so), you´ll see this effect. Besides, the flashlight will cast a cone, no more of that shitty circle like in Half-Life.
A comment, what are those things under the fan? They look to me like the New DooMGuy armors...
Note that as the camera keeps moving, you´ll notice different types of light. Quake 1 had a simple light system called omni lights. This are imaginary points that cast light on all directions. Those are back, together with the most creppy projector lights (like flashlights) and the directional lights, used for light sources so big (like the sun) that the lightrays are almost paralell.
There´s something more here, highlights. If you look to a just waxed floor, you´ll see besides the neat reflection a big white spot due to the light. You´ll see this effect many times in the movie. Besides, iD had included the strenght/diffuse parameters for each texture that you can make realistic plastics, clays, metals, wood, etc.

Scene 6 : Close-up with the characters.

My first comment : iD, I´m really proud. They discarded the porn-star shitty armor of DooM1&2, and went for a Quake2/Starship Troopers one. Very good. The armor have some stuff in the front and in the back, they look like life support systems. Check the detail on the faces. Unreal 2 and their 40 bones my ass. Those guys have more character than anything I ever saw. Their eyes glow at the presence of light. The bumpmaps & the high polycount make every hole and bump in the skin true. Even the shaved head has a bumpmap to simulate the roughness of the skin due to the short hair. The best stuff is the foot-light, that makes the faces really creepy...
Look at the talking guy, that marine is probably the main character. I must say that he´s a really nice alter ego. Check him speak and move his eyes. That´s probably Fred Nilsson´s job, the new guy at iD.
And then, the Zombie, perhaps one of the best ways to remember DooM. This is probably the crappyest enemy, imagine what Bosses and hard enemies will look like.

Scene 7 : Everything at once.

Moving lights, highlights, bumpmaps, enemies, NURBSs... everything´s here and working. The ability to move lights and sound (like Devine said in QuakeCon2K) is present here. So imagine how cool the rocket flying down that corridor will look like...

Scene 8 : Awaken

This is clearly a sign that iD´s really trying to pull out cool scripts. I doubt how the script system will be like, you should ask to a Quake modding programmer.

Scene 9 : The Beast (no, not the X-men one)

Here we have Jim Dosé new animation system in action. Blended skeletal system, good. Skeletal is a really good way to save up RAM, and to enhance the amount of movements per character.
When you do a skeletal system, you can do it in 2 ways : normal and blending. Normal is when you make each limb a separate model, and then make them look like a character by grouping them. This looks crappy, because the joints between the models looks ass. Jim Dosé made the F.A.K.K. 2 animation system, so he haves some experience. He pulled a blending system, that allows a bone system to distort a mesh based on the assumption that "more distance between the bone and the vertex, less movement done". A pretty old system, it was on Vampire, for example, but it´s the key to archieve smooth and believable animation in proffesional 3D packages.

OK, that´s it. Questions or comments? I´ll glady answer, unless you´re a moronic newbie :P

Share this post

Link to post

1) Did you see my post on Windows XP? Based off of 2000 baby.
2) We can hope it will be friendly to gamers.
3) You ready to play it, or just movies of it? =P
4) You can get a 133 256Meg of SDRam for 48 bucks now, so memory is no longer a concern. =P The ONLY hitch to play this game will be the availability/pricing of nVidia's products. Do you have any predictions on how this will play out? I think that the game is going to take off very slowly at first because of the retarded pricing on video cards lately.

Share this post

Link to post

Well, I have no comments yet. Matrox & ATi are really quiet about their new designs.

The ATi Radeon CAN play DooM3, so I guess they have potential.
Matrox´s cooking something special, but there´s no that much info.

If neither of those companies can pull out something matching the NV20, then Nvidia can play the retarded game and keep prices very high. EVERYONE, and I mean EVERYONE wants to play DooM3. It doesn´t matter if you´re a Unreal lover, a The Sims fan or a Quake3 wanker. Besides, the engine´s probably already licensed. So more games are yet to come with this expensive tech.

About the new UI, I wonder how old programs behave, the UI remains the same? it screws up every size/pos?
RAM´s never that much problem, there´s always good old swap. I don´t think DooM3´s gonna need more than 128 MB RAM as a minimum. Sure, it will move like crap, but it will run.

Share this post

Link to post

/Me kisses Zaldron's ass >>> You did it again Zaldron. Thanks to you, I feel a lot wiser... :)

(Seriously though. That's some pretty cool shit you're talkin' about...)

Share this post

Link to post
Guest CRiZ

Awesome report. Thanks.

A bit about bump-maps though. Are they applied to all surfaces? I was under the impression that they pretty heavily tax the system. Plus, if they're applied to the 20,000+ polys in a room and to the hordes of crazy monsters and all that physics and lighting to calculate... how the hell is this program going to run at 30fps? Is the GF3 really that powerful??

How many FLOPS do think on average will need to be computed to run this game smoothly? The technology in this game just seems like such a jump but I guess hardware's going by leaps and bounds too. I hope IBM's experimental MRAM is out by 2002... we may need it.

Share this post

Link to post

Indeed, the GeForce3 has enough power to make this run at +30 fps, and, dare I say, even more. The only drawback is the grotesque hole between the GeForce 2 and the 3 is too big to just ignore it. The market can accept a GeForce2 as minimum, but not the GF3. Bump maps can be applied everywhere, it´s just a matter of shader placement. This is heavy calculation, since every pixel of the object has it´s normal recalculated. Anyway, the lighting system NEEDS to check every pixel in the loop, so the speed fall isn´t that dramatic. Turning the bumpmap off and switching the lighting to vertex-based would make the GeForce3 spit framerates of +200.

I can´t really imagine how many FLOPS are needed, you can see optimal results on the G4-GF3 at 76 GFLOPS, so I guess thats enough for DooM3. Note that the next id tech based games will raise this bar even higher...

Share this post

Link to post
Guest tropikal

thanks for the enlightening post, i've seen the vid a half a dozen times and i didn't catch most of that stuff because i was just in too much awe! you forgot to mention in scene 8 i think it is where the zombie gets up how incredible and freaky the animation is! that is one of my fav parts of the video because i've never seen anything like that in a game before. also, i was wondering what your estimate for the number of badies on screen at a time is, and how big do u think the bosses could get? have any guesses on how outdoor terrain will be done and if it will be a part of the playable game enviroment? based on your knowledge of the game engine do you know if we will be able to shoot pieces off of the monsters and terrain? the portal technology from prey i think it was talked about this so i dont know if id will have anything like that in doom3. thanx zaldron. gonna go look at the bump map textures now ;D

Share this post

Link to post
This topic is now closed to further replies.
Sign in to follow this