The use of physics in video games is not something new. Many of us lovingly remember Lunar Lander and Marble Madness. The gameplay in such games fully consisted in interacting with gravity. Today it's new technical solutions that enable an advanced management of physics in mass-market games that is the novelty.
Physics management is quite demanding in terms of computing power. Thanks to the increased sales of multicore CPUs and the availability of dedicated physics cards (such as that developed by Ageia), a much more intense use of physics in games may now be considered.
The real question in such cases is what we are to do with this new resource. Until now, the use of physics in action games was most often limited to cosmetic effects. These are important for the gamer's immersion in the world but don't really change the gameplay.
The question is now to know what the possible applications in terms of gameplay are. How are we going to provide the gamer with new experiences?
The purpose of this article is to offer some answers and share my experience which I gained while designing the CTF-Tornado multiplayer map, one of the maps available in an Unreal Tournament 3 mod designed to take advantage of the processor developed by Ageia. The map was developed by the talented Gameco Graphics studio.
Let's start with a few definitions. The scope of physics is not limited to gravity simulation and collisions between objects. Physics also includes the following applications:
Fluid dynamics, either liquid or gaseous
Distortion of soft objects such as fabric or of hard objects such as metal plate or even solid hollow objects
Simulation of friction and viscosities
Changes in the state of matter such as the passage of water from the liquid state to the solid state
Breaking of materials
Thus physics covers a wide scope of issues, some of which have never been used in games. The potential is huge but the issues faced by the developers are equally challenging.
There are several challenges:
The requirements in terms of computing capacity
The challenge in multiplayer games
Let's take a closer look at each of them.
Physics management requires a huge computing capacity. It is not by accident that physics has not been widely used in games so far, despite the fact that good software physics engines like Havok have been available for several years.
In the current games, only a very small portion of the CPU power is allotted to physics, between 10 and 25% of a single core. Yet, physics requires considerable resources. Let's consider the simplest case, that of collision management.
The movement of each dynamic object is managed by many parameters (direction of movement, speed, rotation on multiple axes) which must be recalculated for each image. Then, interactions among dynamic objects must be calculated. Ten dynamic objects that are packed against each other require far more calculations than if they did not touch each other. Two technical solutions are available:
The arrival of multi-core CPUs will provide a massive amount of CPU power. Dual-cores are still too weak but quad-cores will begin to bring the power needed for massive applications of physics. Will it be enough? We don't know for sure. Quad-cores will provide much more power than we currently have, but game engine requirements will increase accordingly and there is no guarantee that there will be enough extra power left for physics applications. Furthermore, programming multiple cores is more complex and generates its own overhead. We might have to wait for eight--core processors.
The second solution is the use of dedicated physics cards such as the one manufactured by Ageia. Like any new hardware, it will pick up when enough exciting applications will be available, which in turn will be developed if the installed base is large enough.