Objects in the real world operate under the laws of physics – so it seems quite intuitive that everything in video games (console, PC, online, mobile, arcade) should as well. The graphics world has evolved towards hardware acceleration on dedicated chips with better and better realism. The physics world is a long ways behind. There aren’t many video games today (in fact there aren’t any!) where you can take out a hack saw, cut off a piece of metal from a scrap heap, weld it to your car, and then have the metal bend when your car wrecks! Today I will review some of the phases in video game physics here and talk a bit about the future.
Early Phase – Special Purpose Physics Engines
Because of limitations in computing power, early games that used physics were based on special purpose physics solvers. The first version of Pong used a physics engine that could only solve one thing – a white bouncing pixel!
Early driving games had solid vehicle physics engines, but the rest of the environments were static. Special purpose physics engines could be found for character rag-doll effects, marbles in pinball and marble madness simulators, and space vehicle simulators in games like Asteroids or Lunar Lander.
Evolution of General Purpose Physics Environments
General purpose physics simulators offer the dream of environments where everything is physically simulated and any piece of the world can be taken apart, or put back together again.
General purpose simulators were first used in mechanical engineering. The only problem was they didn’t have user interfaces – all of the simulation objects and parameters had to be entered as text! One of the more popular mechanical simulators is ADAMS – here’s a video of it in action.
In the graphics community, a pivotal paper was written by David Barraff describing a general purpose rigid body collision and contact simulator. Here are some pictures from early simulations that were presented as SIGGRAPH papers. For those that are interested, here is some of the math behind rigid body simulation.
One of the first general purpose physics simulators integrated with an intuitive user interface was a program I wrote called Interactive Physics back in 1989.
Interactive Physics was a 2d simulated physics laboratory originally written for the Macintosh Plus. Users could drag parts, hinges, ropes, and springs to create and measure physics experiments. The simulator in Interactive Physics was so good that many problems in physics textbooks could be modeled and the answers would compare with analytic solutions. Interactive Physics was translated to nine languages and sold millions of copies.
Here’s a video of a simple Jack-in-the-Box made with Interactive Physics more than 10 years ago.
After creating Interactive Physics, Knowledge Revolution went on build a 3D simulator called Working Model. Working Model could simulate complex mechanical devices like motorcycles or copy machines, and it went on to become a volume leader in mechanical engineering simulation.
An early general purpose physics simulator in video games was the simple 2D ballistics simulator (without rotation) in the game Incredible Machine, where some of the objects would fly or bounce against other objects in the environment.
The Future – Everything is a General Purpose Physics Environment
Just as most video games today use a general purpose graphics engine, in the future all video games will be based on general purpose physics simulators. This is the dream of ROBLOX, where every piece of the game participates in physics simulation. The big chasm all games will cross is an evolution from “some” parts being physically simulated, to “all parts” being physically simulated.
Today you can find many 2D games built on general purpose simulators. Angry Birds is based on a general purpose 2D physics engine.
Kudos here to Erin Catto who wrote the open source 2d physics simulator that Angry Birds uses.
You can find 1000’s of casual 2D physics games online. On the PS3, the 3D game Little Big Planet uses the cell processor to simulate graphics and physics, providing intuitive physically simulated worlds.
ROBLOX is built on a general purpose physics simulator that is designed to scale to thousands and thousands of parts. Here is a demo created by Telamon of the ROBLOX physics engine in action right after we first released ROBLOX.
General purpose physics simulation takes enormous computing resources. It’s very exciting to see more and more ROBLOXians with two and now four core CPU’s. We will soon fully harvest these computing resources, resulting in realistic simulation of thousands of characters, vehicles, buildings, airplanes, and of course, explosions!
David Baszucki – Founder and CEO of ROBLOX (“Builderman”)