Video game engines have come a long way in the last 20 or so years. As all sorts of new technologies emerge, our ability to make games behave more real is becoming less of a dream! I remember playing Half-Life 1 and Deus Ex 1 around 1999 and being flabbergasted by one’s ability to interact with objects in the game world, amongst other things. I was even more astonished when I played Half-life 2 and found that a Civil Protection unit came rolling down the staircase after I had killed it. Or that other NPCs in the game world would be hurled into all direction after an explosive barrel had detonated nearby; sending them cart wheeling into a wall, or somersaulting off a railway platform. These features in Half-Life 2 are accredited to ragdoll physics, which was made possible by a blended skeletal animation system, including inverse kinematics.
When looking at the progression of video game technology, one cannot only acknowledge the graphical representation of a game world (environment, characters, etc.). A thought must also go out to what happens on the physical-simulation side of things. It would be pointless to make NPCs look pretty but have them floating around in the game world, so as if gravity does not apply (unless of course it shouldn’t i.e. a game such as Dead Space). Therefore, game development companies such as Valve, id, Rockstar Games, Ubisoft, and Crytek as well as third party companies such as Havok, BeamNG, and NaturalMotion are investing time into developing new and more awesome ways of interacting with game worlds.
Unfortunately, simulating the real world in a video game can become extremely computationally expensive, especially when attempting to make events look and feel as real as possible. Thus, development teams are forever looking at ways to make ‘physical events’ in games execute as smoothly as possible. One of the conventions followed by game developers is to represent character and objects using rigid bodies, since it is computationally less expensive than trying to dynamically simulate everything that is happening in the game world. Ragdoll physics is a good example of rigid body simulation. However, since less detail is used to represent models, it becomes difficult to make characters have realistic facial expressions, or have their clothes move dynamically.
An example of an engine which does an excellent job of character modelling and simulation during runtime is NaturalMotion’s Euphoria engine. It uses Dynamic Motion Synthesis, NaturalMotion’s proprietary technology for animating 3D characters on-the-fly based on a full simulation of the 3D character, including body, muscles and motor nervous system. Add the Bullet physics engine and you get a game such as Max Payne 3. The following video shows off the combined technologies of these engines:
But what about the people who want more out of their games? Those people should bask in the achievements of Crytek with their CryENGINEs; specifically CryENGINE 2 and 3. Apart from the incredible graphics of CryENGINE 2, it sports an in-house developed physics engine. CryENGINE 2 was later tweaked and refined into CryENGINE 3. With CryENGINE 3, a lot of the world is made destructible, which is something not offered by many other game engines (but don’t ever forget the engines used by Team17 with their series of Worms games!). Apart from this feature, CryENGINE 3 also wonders into the world of soft-body physics. The guys from BeamNG, who used CryENGINE 3′s soft-body physics, have the following to say about the concept: “Soft-body simulators are way more CPU intensive and do not like tweaks that get them away from physically correct behaviour. They simulate objects as the sum of their parts where the object’s behaviour is emerging from the behaviour of all its parts. If the programming is clever and correct, the same system can simulate a wide gamut of different object classes.” The following video they posted racked up over 2 million views over 3 days:
It is truly impressive! Despite being able to achieve this level of detail with regards to the physics of deformation, car developers aren’t keen on allowing game developers to apply it in racing games, where real cars are used and not the kind of cars you would find in GTA.
Looking ahead into the future, just think of what level of realism we will be able to achieve, especially if more of these technologies are combined. I can only dream…