BeyondUnreal contributing editor Twrecks caught up with programming god Tim Sweeney of Epic Games at the 2004 E3 Expo, and asked him a few questions about Epic's new Unreal Engine 3.


BeyondUnreal: Tim, I just saw the Unreal Engine 3 demo and there are some definate improvements in the engine. First, how many polys you are pushing in the latest tech? Tim Sweeney: For the third generation Unreal Engine, we are building two versions of every model in our game. We are building a source model with several million polygons, between 2 and 6 million polygons. We use that model for all the lighting detail on the mesh. Then we go to the in game version which is usually about 10,000 polygons. So we get the lighting detail of the full high polygon mesh baked down into a normal map that gets rendered in game on a low polgon mesh. The normal maps are typically 2k by 2k.


BU: UT2004 required 5.5 gigs of hard drive space to install. This has got to be a strain a lot of people's systems. So you're talking 2048 x 2048 texture sets, what kind of system and memory is this next game going to take? TS: Well, we are aiming at the kind of PC that we think will be mainstream in 2006. We will also be able to scale it down. Basically DirectX 9 cards will be minimum spec, so any DirectX 9 shipping today will be capable of running our game, but probably at reduced detail. If you only have a 256 meg video card you will be running the game one step down, whereas if you have a video card with a gig of memory then you'll be able to see the game at full detail.


BU: You are talking about dropping detail levels, what about a 3.2 or something similar? TS: That will kind of be a low end system for our game if you look what's going to happen two years out. The technology is very scalable and will run a factor of twenty more detail on the highest end PCs currently available. It will be like running Unreal Tournament 2004 on a 1 GHz PC. It runs okay, but not nearly as good as a 3.2.


BU: I'm definately going to have to upgrade! About collisions, do you deal with collision physics as far as coding? TS: Yes, the 3rd generation Unreal Engine has a all new physics system integrated into it much more closely than we have done in the past. We are using the physics for vehicles, ragdolls and character animation, even for walking physics and driving large vehicles.


BU: I've heard people ask for MechWarrior type walking vehicles, you see that happening in the next tech? TS: That's absolutely possible with the third generation engine. I'm not sure we are going to be doing that in our next game, but we are looking at it. The physics engine behind UT2004 actually supports that now, you could do it. We are going insane with the amount of physics detail in our levels now. You can build a wall of cinder blocks then go up and hit it with a rocket launcher and see cinder blocks flying. But that's not going to be done for everything in the game for performance reasons.


BU: In an Unreal tech video several years ago, before 2003, we saw some pretty amazing character animations. Relating that to collision, are we going to see more localized hits for body parts, or are we still a walking cylinder? TS: We have support for all that. We use different gameplay approximations for 3D characters. We are going to use cylinders whenever it is sensible for making gameplay predictable, like for AI. At the engine's point of view, there's no technical reasons why it's neccassary. You could build ragdoll skeletons with hundreds of bones and forty to fifty collision primatives. You could have very perfect hit detection for headshots or shooting an arm and breaking it off. Cylinders are partly for performance and partly for predictability. If you have a player walking through a level, you want them to move smoothly even if dragging along a wall. You don't want his arm to get caught up in an object. That's the problem with completely realistic physics everywhere in a game, that sometimes it creates situations you just don't want.


BU: The number of animations for player characters are increasing. Instead of hundreds of animations, are you looking at possibly breaking characters where you have more than torso and leg animations in some sort of matrix? TS: For Unreal Engine 3, we rewrote the animation system. Previously, it was a channel based. Starting at certain bones of the hierarchy you could play one animation on the top, one on the bottom. Now we have a tree based animation system. You'll see smoother procedural animation blending many animation sets. We are using motion capture set up in our office and are getting really good data out of that. You are going to see a big increase in the amount of animation data and also the quality. Nowadays, we are building characters with several hunread bones, including articulated fingers and articutlated faces. We have the capability of procedurally blending a lot of different animations. In Unreal Tournament 2004 we had ragdoll collision physics where you shot a character and he dies, we make him go to ragdoll mode then the physics engine carries on from there. With Unreal Engine 3, we can actually blend in and out physics based animation. It will be just another animation source for the hiarchy. If a player gets gets shoot in the arm it will go flying back, but then he will recover and continue animating on. Something we haven't been able to do in the past. There'll be more intigration between hand created animation, physics animation and proceedural animation. Now days, all our joints have breaking strength in them. So if you actually shoot a character's arm with enough force it will break his arm off and go flying. You can pull arms or body parts off characters nowadays. It has some sick possibilities, but you can do it.


BU: Thanks for your time, Tim!