DM of the Rings CXIII:
It’s a Trap!

By Shamus Posted Friday Jun 15, 2007

Filed under: DM of the Rings 136 comments

Continue reading ⟩⟩ “DM of the Rings CXIII:
It’s a Trap!”

 


 

Good, Fast, Cheap

By Shamus Posted Friday Jun 15, 2007

Filed under: Links 44 comments

I need to make a new category for my blog, “What he said”. If I did, I could use it to file this fantastic post from Jay Barnson on why Why Software Design Isn’t Like Architecture.

Except few other “controllable, predictable” disciplines are as subject to inadequate specifications and changing requirements as software engineering. I mean, can you imagine a civil engineer trying to build a bridge for an unknown location and environmental conditions, only being told that it should be made of steel, cross a body of water that is “less than 2000 feet” in width, and be capable of expanding to any kind of load they want to put on it (and in any distribution)?

Or, as the man says, read the whole thing.

 


 

Sticks and Stones Demo

By Shamus Posted Thursday Jun 14, 2007

Filed under: Game Design 21 comments

A reader send me a link to the following video, which is an excerpt of an interview with physicist Brian Beckman. Here he discusses an upcoming indie / freeware game Rigs of Rods and talks a bit about what works and what doesn’t with physics engines.

He mentions making physics simulations “too complicated”, and I know exactly what he’s talking about.

But what’s really interesting here is the method they are using in this game. Continue reading ⟩⟩ “Sticks and Stones Demo”

 


 

Oversimulation

By Shamus Posted Thursday Jun 14, 2007

Filed under: Projects 27 comments

I’ve run into a lot of problems with oversimulation in the past, where a programmer tries to replicate the behavior of a complex system with brute force. I’ve done it myself, and I’ve witnessed the results when others did it. The results are usually time consuming, maddeningly complex, and prone to a variety of hilarious failure modes. If you’ve ever played a buggy driving game where complex crashes led to nonsensical results, then you’ve probably seen oversimulation in action.

I’ve seen several games recently where heaps of random objects will “twitch” and “bounce” on top of each other instead of coming to rest. I also remember playing a game (back in the late 90’s) where two cars managed to intersect during a crash. They began to jerk around wildly, each attempting to come to rest on the ground but then “bumping into” the other car. This would nudge the other car up, causing it to fall harder, causing it to bump back harder, and building a nasty feedback loop until one of the cars was knocked free of the impasse and blasted into the stratosphere. Made me giggle. Not that I’ve seen the source for either game, but in both cases I suspect oversimulation is the source of the problem.

The key to making a good simulation is knowing when to replicate and when to approximate. Keeping in mind that in videogame it doesn’t need to be right, it just needs to look right.

Gravity is the most obvious example of something to replicate. The mathematics behind it are astoundingly obvious and well-known. It wouldn’t save you any time to “approximate” the effects of gravity. Just make everything fall at the correct rate and it will look right.

On the other hand, tires interacting with the road is a far more difficult subject. The SHAPE of the tires is exactly the sort of thing you want to approximate. Tires are not perfect cylinders. Off-road tires have maddeningly complex topography. They’re very knobby, with lots of deep groove patterns. You’ll kill yourself if you try replicate this shape in 3D and then do per-polygon collision on those bumpy surfaces as they touch the road, and then try to figure out how much “grip” you’re getting at the moment. The system will most likely fail, and you’ll find yourself adding more and more complexity trying to fix it. You’ll realize you’re not taking into account the effects of dust and dirt clinging to the wheels. Or what happens when the grooves become caked with wet mud. Or you need to account for the way tires bend a bit to “embrace” a small convex surface, like small rocks or imperfections in the road. Or take into account structures which should puncture the tire. Things can get impossibly complex very fast if you try to replicate everything.

No, this is probably the perfect time to approximate. For the purposes of collision with the road, treat all tires like perfect cylinders, and then have a few variables (smoothness, temperature, and a guess about how much of the surface area is touching the road) govern how much “grip” you’re getting. This method will be easier to code, less CPU intensive, and will most likely look far more realistic.

I think a good sense of when to simulate and when to approximate is more important than a deep understanding of physics when it comes to writing a good physics engine. (Although finding someone with both is always nice.)

 


 

DM of the Rings CXII:
Insubstantial

By Shamus Posted Wednesday Jun 13, 2007

Filed under: DM of the Rings 106 comments

Continue reading ⟩⟩ “DM of the Rings CXII:
Insubstantial”

 


 

Fallout 3 Trailer

By Shamus Posted Tuesday Jun 12, 2007

Filed under: Game Reviews 38 comments

Via the Rampant Coyote I find this trailer… teaser… thing… for the “upcoming” Fallout game. It’s more than a year off, so the thing is more or less worthless as an indicator of what the final product will look like, how it will play, or if it will be any good. It does demonstrate that the developers have hooked into the “atmosphere” of the original, for that that’s worth.

There seems to be some controversy about what sort of RPG we’re going to get. Continue reading ⟩⟩ “Fallout 3 Trailer”

 


 

Prey: Nearing the End (I think)

By Shamus Posted Tuesday Jun 12, 2007

Filed under: Game Reviews 30 comments

I’m still working my way through Prey. Not much to add except for a bunch of minor observations:

The thing with the kids was thankfully a very small part of the game. There still hasn’t been any explanation as to why the main character acquiring “spirit powers” led to the preteen poltergeists, and now I’m far enough past it that I don’t think any real answers will be forthcoming. It’s just this weird thing that happened.

Continue reading ⟩⟩ “Prey: Nearing the End (I think)”