I've always been fascinated by physics-based gameplay. Even going back to the primeval days of classic arcade gaming, I found vector-based games, with their vastly simplified 2D approximations of physics and motion, more compelling than their raster brethren. I'm thinking of games like Asteroids, Battlezone, and Lunar Lander.
This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2008/06/physics-based-games.html
One physics engine not explicitly mentioned (which deserves its focus) is PhysX, recently acquired by nVidia along with their buyout of AGEIA. nVidia is already working on converting the PhysX codebase to take advantage of CUDA enabled GPUs as a replacment for the dedicated physics hardware put out by AGEIA in the past. The engine is freely available from nVidia as well for PC development, and integrated in game middleware solutions like Unreal Engine so I’m sure we’ll be seeing it used more and more in future titles.
Havok was showing a demo of their engine running on GPUs as well at GDC a few years back as well, so it’s definitely headed that way.
Yeah, that’s definitely a dual-core Penryn, not a quad-core. You can see how the two cores are mirrored opposites of each other, but there are only two of them.
I used to be a bit of a purist - I pointed out all the inaccuracies in Physics engines on shooters, everything. Then you play some Descent, and realise that the brain can’t do real Physics very well. It can do Newtonian, human-scale Physics. It can do car-physics. But step outside ‘normal’, and it’s all very subjective.
In the end, the important thing in a game is the gameplay. Despite being a Physicist, I no longer worry, even about films - the truth is rarely as interesting as your imagination. When will we see more abstract gameplay-focused games again, rather than ever more detailed, restricted, realism?
That said, I’m looking forward to seeing some great physics in ‘normal’ in-game materials - water, smoke, ray-tracing. Maybe even a ‘what if the speed of light was 30mph’ game or quantum noughts and crosses. Ah well, a Physicist can dream.
Highly enjoyable Flash physics game: http://magic.pen.fizzlebot.com .
I would add a link for Bullet Physics (http://www.bulletphysics.com) as it was the best open source physics SDK I evaluated when I was looking for one. It has a very healthy and active community supporting it.
To Phil H: Check out Stranglehold for an interesting example of a game with an “unreal” physics engine. Everything reacts overly-dramatically - exploding, flipping, wheeling everywhere in the style of a John Woo movie. Very interesting little idea of what you can do with some creative physics.
The important part of a physics engine is how it adds interactivity to a game. Being able to knock something over by shooting it, or hitting it with a car, or whatever, and then being able to use that interaction as a part of gameplay, is a huge advance in terms of interactivity.
The die image is indeed a dual not quad core and I updated the text. Thanks for the correction.
I’m looking forward to seeing some great physics in ‘normal’ in-game materials - water, smoke, ray-tracing.
Did you see these videos?
Also, I talked a little bit about real-time raytracing here
@Braden Magic Pen is great!
It’s a flash clone of Crayon Physics Deluxe
Physics != Physical Modeling / interaction.
As far as games go, real physics is sometimes a drag. I want realish physics when driving a rally game, because the point of that game is because I don’t have $1mil and don’t feel like wrapping myself around a real tree. I really dig the unforgiving Colin McRae series. It’s as close as I’m going to get to driving in a rally.
By the same token, I only want GTA to be movie physics. Realistic enough, but I want big explosions and cartwheeling cars. In real life cars just tend to go crunch and stop. In movies they flip and twirl and explode into a million pieces.
I just hope that widespread use of GPU’s encourages laptop hardware manufacturers to put real GPU’s in, instead of using the Intel’s main memory sharing rubbish chips that can’t compute their way out of a wet paper bag.
Boom Blox for the Wii, simple by very fun…
widespread use of GPU’s encourages laptop hardware manufacturers to put real GPU’s in
Indeed, the prevalence of laptops is a real problem for GPU horsepower and thus the GPU offload techniques. Laptops operate under severe battery power constraints; even the laptops with “powerful” graphics such as the 8600M in the Mac Pro are quite underpowered. Consider:
3DMark2006 for 8600M, approximately 3500
3DMark2006 for 9600GT, approximately 11000
The 9600GT is a garden variety midrange desktop video card; it goes for around $120-$140 online. And it’s THREE TIMES FASTER than the best video available in an Apple laptop.
There was a fun Amiga game which simulated playing pool in a zero-G cube with holes at the corners and a beefed-up amount of air friction to slow down the balls in a short amount of time. You could rotate the cube to look at it from any angle and position the cue stick to hit the cue from any direction. It was fun just watching the balls bounce around and hit each other in 3-d.
Nice post, I’ve played that bridge building game a long time ago just like the original trials online version, both are so much fun and challenging too. If you have some spare time they’re definitely worth your time ;).
Flight simulators are physics simulators too.
Brendan, agree, and so are car racing sims, but I didn’t want to go on a self-linking rampage. Well, no more than I usually do, anyway.
Thought it was all scripted in the Half-Life 2: Episode two there is a scene where a bridge would fall apart after you cross it in a car. It was one of the most impressive physics I had ever seen. The scene however was made using physics engine in a super computer and then scripted so my humble GeForce 6600GT + Athlon 64 3200+ single-core could run it. Now if you want a really good pure physics oriented game all you need is Portal (also from Valve). Portal was so good that I played it 3 times in a row from beginning to end.
The comparison between video encoders there is flawed. You’re using two completely different encoders, there is no way of knowing how much work they perform relative to one another.
Comparing them with a test list this is about as “apples and oranges” as you get.
Went to WWDC last week, learned about Grand Central Dispatch and OpenCL - OpenCL is the technology that exploits the parallelism of the GPU. GCD is the new task scheduler.
No discussion of physics games is complete without a mention of Sodaplay.
This thing ate several years of my spare time. You can create wireframe structures of springs (lines) and masses (dots), and then make some or all of the springs into muscles (which change shape in a sine-wave pattern).
With these simple steps, you can create amazingly complicated and lifelike models. Then you can save them into an online account and view/edit them whenever you want. (The old version of Constructor let you save them as .xml files on your hard drive, too.)
There are also a few companion applications, such as a “racer” which lets you pit two or more models against one another in a test of speed, and a “newtoon” program that allows you to make your own simple games using the technology.
The new constructor (and companion apps) require Java Webstart. The old constructor requires only Java because it’s embedded in a web page.
Sodaplay’s main page: http://sodaplay.com/
Direct link to the constructor: http://sodaplay.com/creators/soda/items/constructor
The old Constructor (some people find this easier to use): http://archive.sodaplay.com/constructor/beta/applet.htm
There are also official forums at http://sodaplay.dailyforum.net in case any of you get addicted. Here you can find help on building models, or simply challenge the others to race you.
P.S. May I commend whoever posted a link to Magic Pen. That’s seriously addicting.