Wolfman Developer Interview
Interviewer: Thanks for pulling yourself away from your desk, guys. You want to start by introducing yourself and tell us a little background and what you do here at NVIDIA?
Daniel: Right now as it stands I'm the solo art guy on the demo team for technical marketing. My first introduction to 3D was doing television and movie stuff-good old-fashioned rendering where it takes minutes if not hours to render frames! So all this real-time stuff is a real kick in the pants.
Simon: I'm one of the programmers on the demo team. Actually, what is my official title, Daniel?
Daniel: Beyond jackass?
Simon: Well, I got my start in the games industry working for Silicon Dreams doing PlayStation games and stuff. I also worked on the 3DO if you remember what it was.
Interviewer: When GeForce4 was being developed, you guys heard about all the new hardware features that were going to be included in the product. How do you guys go about creating demos and programming features that highlight technology that's never been introduced before?
Simon: That's actually the hard part. For each product launch the marketing people are looking for some new visual effect that looks different than anything that's come before. GeForce4 really takes GeForce3 technology to the next level and everything is now even better and faster.
Interviewer: This explains nfiniteFX2 and LMA2…
Simon: Exactly. The inspiration for the wolfman demo mainly came from a famous Microsoft research demo that featured a furry bunny. And since it's not really our style to do fluffy bunnies, our entire demo team got together in a room and started thinking of alternate ideas.
Daniel: Originally we were thinking about doing the whole 3D morph from human to werewolf. The way it usually works is we start off with these really grandiose ideas and slowly dwindle them down.
Interviewer: I imagine it also comes down to what can be done practically…
Simon: It's also the fact that the fur was a pretty cool effect in itself and it really didn't need that first part.
Interviewer: Once it's decided that the subject will be a wolfman, is the next part coming up with concept sketches?
Daniel: Yup. And it came together in one shot. Well, I started one doodle but it wasn't going anywhere very quickly so I ditched that, switched ideas and did the other sketch.
Interviewer: So do you have an understanding of what the limitations might be for the programmers?
Daniel: Since I've worked in movies and television, I have an idea of what's heavy and what's not and what's doable and what's not. A lot of the time I'll just apply that to whatever I'm doing. And sometimes the programmers will come back and say, "We can't do that."
Simon: There's always going to be some technical constraints.
Daniel: When we start throwing ideas around, sometimes the immediate reaction is "no, no, no." But then we sit on it for a while and say "but wait a second if we did this and this and that..." So, sometimes something that doesn't look reasonable can be made with a bit of compromise.
Interviewer: It sounds like the entire demo team does a lot of collaboration and brainstorming.
Daniel: We typically have the one weekly meeting that is really long where we go over the demos that are being built.
Simon: We'll have three or four demos going on simultaneously. Fortunately since we sort of have a demo engine, a lot of the code can be shared between demos. We can take the models from Maya and export them to our own file format, apply the shaders and all that kind of stuff. The amount of code I had to write wasn't that great because I was using this existing engine.
Interviewer: Daniel, did you do the concept sketches AND create the models for the wolfman?
Simon: Yeah, he does it all, he does the modeling, he does the texturing. Wait, did you do the animation?
Daniel: No, this time the animation was outsourced because I didn't have enough time. Sometimes, people in the television and movie industry will come in for a couple weeks and help out.
Simon: Another interesting thing that you mention is that in a lot of ways these models we work with aren't any less complicated than what's being built for TV. Of course the polygon count is a bit lower, but only in terms of the actual character setup and the number of bones.
Daniel: Yeah, but even a lot of the things we're working on now, I'm just going full tilt as though I'm building for movies. And then afterwards, I can look at it and say this is way too much and start cutting back and making it more efficient. But at this point I'm not worried about limitations.
Interviewer: You're talking about what you're working on, but I've seen the wire-frame of the wolfman when turned on and I can't see any wires at all-it just looks white!
Daniel: The model itself is around twenty to thirty thousand [polygons], but then because of so many layers for the fur rendering you have to multiply that about six times. That's why a wire-frame appears completely white.
Interviewer: That's a good point. How did you build the fur to look so realistic?
Simon: Daniel modeled the base skin layer and then in the areas in the body where we wanted it to be furry, we create additional geometry to…
Daniel: Take the arm for example. First make the arm, hand and fingers. But the collective fur would only come up to this part. [Points to the back of his hand] So I take out all the polys where there wouldn't be any fur so Simon could take the remaining layer and duplicate that.
Interviewer: So is the fur geometry?
Simon: Actually it's a texture-based technique. It's like a volumetric texture that is made up of eight slices-each of which have a 2D texture applied to it.
Daniel: For a single strand of hair you start off with a base polygon with a texture on it, then you put a layer slightly raised above the base with a texture, and then another layer slightly higher with another texture, and so on. What you end up with is something that sort of resembles hair. Basically it's shells all layered on top of each other with textures that are all pretty similar except they fade out a little bit to make it appear like a strand of hair.
Simon: Originally when we first applied the fur textures they were all straight and the same length, which made it looked a little too combed and CG. In the end we added a little noise to it using a fur designer tool to make it look clumpier and a bit dirtier-generally more werewolf-like.
Daniel: Literally if the werewolf model is 20,000 polygons you could almost multiply that by the number of layers and…
Simon: I think it ends up being around 100,000 polygons.
Interviewer: How early in the development cycle do you get boards to test your demos on?
Daniel: That's the thing. These guys are working and programming for what they're assuming GeForce4 is going to be able to handle and going to be able to do, but there's no way of knowing.
Simon: I worked on most of this demo using a GeForce3 and it was running at about seven frames per second, which is kind of on the edge of being interactive at all. And we really had no idea how fast it would run on a GeForce4. We were just keeping our fingers crossed. Fortunately it runs perfectly smooth.
Interviewer: That's got to be a real nail biting experience.
Simon: That's always a big worry especially since we often get requests to add features.
Daniel: With the wolfman demo we also have bump maps and color maps. It also has bumpy shiny on the ground and all the lighting. So it's not just fur. Because if it were just that you could get a square patch, make fur, and call it a demo.
Interview: How about sound. Where did you guys get the samples for the sound effects used in the demo? Where they created in-house?
Simon: No, we contracted it out to this guy who created the breathing and the howling and the background music. I think for the footsteps he did some foley to get the effect. And some of the howling was actually his baby crying that he slowed down.
Interview: Okay, last question. How satisfied are you guys with how the demo turned out from concept to end product?
Daniel: I think it turned out quite well. You know there is always going to be things that you wish could be changed. But the initial impact for most people is that they seem quite excited. I think that's the way it is for most things though-you'll always want to finesse it to death.
Interviewer: All right. Thanks a lot guys!