Getting physics into more gamesTS: So if AI event branching is going to require a lot of compute power, what about ray tracing? That's going to require an immense amount of compute power as well and Intel is talking it up a lot. I don't think there's going to be enough horsepower for both in the near future, so which do you think is going to take precedent?
It's kind of funny that they're trying to solve the graphics problem, when that's not what developers and gamers are asking to be solved right now. Gamers want physics, developers want physics and it's going to be huge. Really huge. That's why my team is focusing its efforts on pushing PhysX.
That's why the world's largest game engine, Unreal Engine 3, and now the second largest game engine, GameBryo from Emergent, both feature support for PhysX.
TS: But what about Valve Software? They're probably the biggest independent game developer out there...
Portal and all of the Source-based games currently use Havok physics.
Of course we talk to Valve a lot. However, before we turned up with PhysX, games developers were already either using other solutions or developing their own in house physics engines.
Our argument to those guys that are developing their own engines or using others is that we understand why they've developed their own physics engine, as they may have created something unique or which was wasn't possible with earlier versions of PhysX. We understand that.
However, we have two responses. The first is that if they want us to, we'll help them run their physics engine on the GPU because we can do more complex parallel calculations faster than you can on the CPU. Secondly, Nvidia is taking PhysX very seriously, we have hundreds of people working on it and we are investing heavily in it so developers can be sure that its going to get better and better at a faster rate than many can expect to develop physics independently.
The world's leading engine vendors are using PhysX now and many new studios are using our technology to develop new effects. And don't forget that we support PhysX on Xbox 360, PlayStation 3 and Wii as well.
Unreal Engine 3 is heavily optimised for PhysX.
TS: OK, so what about games that end up using Havok? Do you think Nvidia will ever accelerate the Havok physics engine with the GPU?
At one point we were working with Havok and then they stopped talking to us, but if they wanted to start talking to us again, I am sure we’d love to talk with them. Of course we would.
The difficulty right now though is that their engine does not appear to be scalable. Let’s use destruction as an example, as it’s probably the easiest one to relate to, but we could easily be talking about fluids, soft bodies or anything else. If you have an object that’s made of ten pieces and you can destroy it into ten pieces on the Xbox 360 or PS3 and on the PC running in software on the CPU, that’s all you’ve got. That’s all Havok appears to do for you.
With PhysX, you can do the same, but in addition to that, the PC version with a PhysX-enabled GeForce GPU will break the same object into a couple of hundred pieces because we’re able to scale.
TS: So what happens if you don’t have an Nvidia GPU?
It defaults to software mode, i.e. it runs on the CPU and it won’t scale. That’s why the uptake for PhysX has skyrocketed in recent months – we’ve got the additional unique ability of GPU accelerated physics.