Hello.

Got a thought that I want input on. I want to ramp up physics interactions a bit to make more "realistic" world where objects break and such. I'd also like to do this in a "living" world where NPCs are interesting in and of themselves. However, you can't simulate an entire world constantly. So, I'm wondering if I can make the trade-off of having my realistic simulations nearby the player but approximate what happens everywhere else. So, if the player walks into a pub recently after a brawl broke out you might see pieces of broken chairs and tables and such, for example. I tried Googling 'game physics estimations' and the only promising link I found was a book on game physics but I DON'T want to try to compute super accurate simulations where the player isn't located to keep things at a good framerate.

I suppose I could fake it by processing state in the background and upon entering an area have the game quickly JIT-calculate everything according to the state for that area. Would this be a good alternative? Though, I'd like to do without loading screens as much as possible so I'd like to dynamically load/unload areas. Would JIT-physics work with this?

Thanks.

**0**

# Physics Estimation Question

Started by landlocked, May 23 2011 11:36 AM

2 replies to this topic

Sponsor:

###
#2
Members - Reputation: **193**

Posted 23 May 2011 - 05:30 PM

It is an interesting idea, and I think something that there is not a lot of good literature on this subject yet. There are a few things you can fake using these types of methods, but it is more an art than a science. For example, if you want stuff to look like you have rigid body dynamics/inertia working correctly, it is often enough just to impart a constant angular velocity to a rigid body and then let it spin freely (even though this may not be the correct motion as described by the Euler equations/Jacobi theta function). Collisions and interactions are generally harder to fake, but you may be interested in reading the following paper:

SW Hsu, J Keyser. "Statistical simulation of rigid bodies" Eurographics/SIGGRAPH Symposium on Computer Animation (2009). PDF

Another neat idea that I've seen used successfully is the concept of curl noise for fluid/flow field simulation. There was a neat paper on it at SIGGRAPH 2007 which describes the basics of the technique:

R Bridson, J Hourihan, M Nordenstam. "Curl noise for procedural fluid flow", SGGRAPH (2007). PDF

A slight refinement of this method is divergence free noise, which achieves similar looking results:

I DeWolf, "Divergence free noise" Technical Report PDF

In all these methods the general idea seems to be that you look for some invariant or statistical properties you want the physics to satisfy (which is not strict), then instead of trying to solve it exactly you just pick a random solution that satisfies these constraints. Of course this is probably not going to work too well with rigid body dynamics, since the entire work of solving a system is wrapped up in the constraints; but it may work better for doing things like faking fractures, particles or complex turbulent phenomena which are chaotically related to their initial conditions. And of course none of these things do exactly what you are asking, but maybe they can help inspire you to find a workable solution.

SW Hsu, J Keyser. "Statistical simulation of rigid bodies" Eurographics/SIGGRAPH Symposium on Computer Animation (2009). PDF

Another neat idea that I've seen used successfully is the concept of curl noise for fluid/flow field simulation. There was a neat paper on it at SIGGRAPH 2007 which describes the basics of the technique:

R Bridson, J Hourihan, M Nordenstam. "Curl noise for procedural fluid flow", SGGRAPH (2007). PDF

A slight refinement of this method is divergence free noise, which achieves similar looking results:

I DeWolf, "Divergence free noise" Technical Report PDF

In all these methods the general idea seems to be that you look for some invariant or statistical properties you want the physics to satisfy (which is not strict), then instead of trying to solve it exactly you just pick a random solution that satisfies these constraints. Of course this is probably not going to work too well with rigid body dynamics, since the entire work of solving a system is wrapped up in the constraints; but it may work better for doing things like faking fractures, particles or complex turbulent phenomena which are chaotically related to their initial conditions. And of course none of these things do exactly what you are asking, but maybe they can help inspire you to find a workable solution.

###
#3
Members - Reputation: **103**

Posted 23 May 2011 - 06:20 PM

Awsome! Thanks for the resources. I'm already sold on having to make a LOT of approximations. For instance a piece of gear will probably have a singular uniform "hardness" value regardless of the actual "physical" thickness of the in game model. I'm hoping that making these concessions will drastically increase computational efficiency and overall make such a system bearable on today's machines. Though, I'm trying to target quad core CPU, single, albeit middle-high, GPU with about 4 to 6 GB RAM given my game probably won't be done for a few years, honestly. Granted these numbers are totally out of the air and I haven't tried to build anything to see how it would perform.

Always strive to be better than yourself.