When Bungie realized its homegrown physics system from Halo wouldn't be able to scale up the interactive object count or handle the advanced physical effects it wanted for Halo 2, its developers turned to Havok for help. For years, middleware developer Havok has provided major game developers, including EA, Sony, and Microsoft, with prebuilt physics and animation tools designed to both augment gameplay and speed up the game-creation process.
The physics engine market has undergone significant consolidation in the past year, as technology startup Ageia has been busy signing game studios to develop PC and next-generation console products on its Ageia PhysX platform. Ageia needs developers to program on PhysX because it needs game content that can be accelerated by new physics PC upgrade cards Ageia plans to release for the holiday season. Ageia started by acquiring the NovodeX physics engine and incorporating it into the software foundation for its stand-alone physics processing chip. And just last month, Ageia announced the acquisition of Swedish physics house Meqon Research.
Havok hasn't been standing still during Ageia's technology grab. The company has recently revamped its product line to provide full support for multicore processors, as well as the next-generation Xbox 360 and PlayStation 3 consoles, and Havok's newest product, Havok FX, promises to take physics to a whole new level by letting developers use today's Shader Model 3.0 GPUs to run physics calculations for games.
We talked with Jeff Yates, Havok vice president of product management over an e-mail interview to find out more about Havok's decision to move physics to the GPU.
GameSpot: Why did you choose to add physics to the GPU rather than develop your own physics chip, like Ageia?
Jeff Yates: Our single focus is to enable developers to create great games. When we look at the history and momentum of the GPU manufacturers, and the persistent interest in general purpose GPU development, it seemed like a no-brainer to leverage the large amounts of time and money GPU manufacturers have invested to win over the hearts and minds of PC gamers.
GS: Is this [Havok FX], a direct response to Ageia's physics chip?
JY: For us it is a question of demand and hardware economics. We support platforms with strong install bases and platforms that our customers ask us to support. The installed base and momentum of GPUs is a great opportunity for Havok to deliver even more physics without requiring specialized hardware. To date we've received no requests from customers to support Ageia hardware.
GS: Let's say we have a game running physics on the GPU. How much will that take away from the 3D graphics processing power?
JY: As with game physics implementations on the CPU, this depends on the balance that the game designer/developer wants to allocate and achieve. In a single GPU configuration, using a new Shader Model 3 graphics card, we think there is definitely room for basic physics effects with no appreciable impact on the graphics. And if GPUs continue to evolve as they have in recent years, we can expect a greater level of surplus that can be allocated to physics effects.
GS: Will Havok FX be able to work with dual-GPU systems from Nvidia and ATI? Will gamers start buying secondary video cards just to improve physics performance?
JY: Both Nvidia and ATI have announced dual-GPU standards that they are pushing forward (SLI and Crossfire, respectively). This is definitely an area we'd like to exploit. The notion that PC gamers could host two graphics card that can be used differently by different games seems very practical to us. The fact that we are talking about GPUs means that graphics-intensive games could exploit the graphical power of both cards, while a game that combines physics effects and graphics could distribute the computing power over both cards. This approach should be win-win for consumers who want to get the most out of their hardware investments.
GS: Will game developers be able to use Havok FX for the next-generation consoles?
JY: We definitely think it can work. But some of the unique capabilities of those systems may offer even better ways to deliver physics effects--and we are concentrating development efforts here as well. We certainly won't close any doors--and that's some of the advantage of taking a GPU approach to our software development: We can simply give game developers more options to explore the native power of various game systems.
GS: Ageia has been successful getting into several PC games currently in development, and they've made it into the next-generation console SDKs. Will GPU physics support be enough to get developers into the Havok camp?
JY: In the PC and console space, I think we have a pretty full camp right now. We've worked hand in hand with game developers over the years to understand their needs, and to ensure that our physics and character-animation technology provides great value and performance. The number of commercially available games that use Havok technology support that strongly. Certainly for next generation consoles like the PlayStation 3 and Xbox 360, there's no opportunity to plug in a custom hardware card, so I'm really not sure what the customer benefit will be for a proprietary hardware API in the console space. For PC Gamers however, we think GPU-accelerated physics effects can provide a differential value above and beyond the fast gameplay physics technology we provide today.
GS: The processor manufacturers love to talk about how games can do things, like AI and physics, on separate CPU cores. Why would a developer want to use the GPU for physics?
JY: We definitely believe that separate cores are going to be key to accelerating gameplay physics and especially for pushing the envelope on dynamically responsive game characters. We are already seeing this today with next-generation console games in development with our multithreaded HydraCore release. But GPUs provide opportunistic cycles that can be applied to do even more, specifically physics effects that can simulate the more gritty, detailed physical phenomena that are missing from games today. And, using the GPU to process both graphics and physics effects can avoid data transfer issues for phenomena that do not put demands on the core game engine or main memory.
GS: What kinds of physics effects will you be able to do on the GPU? Are there any effects that should stay on the CPU?
JY: From our standpoint, GPU-based physical effects will start with full collision of many thousands of rigid bodies running at typical game speeds, layered with state-of-the-art shading effects that deliver a seamless, compelling effect in the game. This is what we'd expect for a single, Shader Model 3-class GPU that is dedicated to a blend of physics effects and graphics. There are many more areas we'd like to exploit beyond this initial level, and we'll continue to expand those as interest and GPU cycles increase. But we are taking a fairly pragmatic, achievable approach to our first release.
As for the CPU side of things, core gameplay physics that affect key game elements, characters, AI, and even audio will continue to get the most leverage and portability from CPU-based computation. We will definitely provide a seamless framework for both to work together, but we see a fairly clean separation right now between gameplay-critical elements and GPU-accelerated visual phenomena that interact with the world in a less-time-critical way.
GS: How easy is it for a developer to do physics on the GPU versus the CPU?
JY: CPU-based physics is certainly more known today among physics programmers, especially among Havok developers. The language is familiar and the concepts and platform-specific issues are generally known. We expect to provide a clear abstraction layer that allows physics developers to engage the GPU in a fairly painless and incremental manner. But at the end of the day, they will be dealing with a separate hardware device, and we expect some kind of learning curve, especially during final tuning of the game.
The good news is that there is a wealth of knowledge about how to manage the GPU as a resource already. And standardized languages like CG and HLSL have incredible momentum and backing from companies like Nvidia, ATI, and Microsoft. That kind of industry knowledge should help everything move forward more quickly.
GS: When will we see the first Havok FX-enabled games that will be able to do physics on the GPU?
JY: I think we will see examples of GPU-accelerated physics effects in consumer hands by early next year. At least the software and hardware technology will enable that. The rest will be up to the design priorities of the PC game developers who want to add these kinds of effects to their games without requiring an additional hardware purchase.
GS: Thanks, Jeff.