   Theory: Collective Weathering
  This is a theory that I have been thinking about for a few months. I have very little coding knowledge so I will just state the theory and see if it's possible. Obviously, physics would be included.Let's say we're in a town in the desert, and the town comes under the force of a sandstorm. The player must take shelter. After the storm is done, the sandstorm will physically pile up sanddunes and alter the surrounding desert. Any winds afterwords would blow sand from dunes and actually move sand around.Let's take rain. Depending on terrain, the rain will gather up in low areas, and when a player steps in the puddle, the size of the puddle decreases. This would be useful for flodding areas realistically. For snow, well, falling in piles of snow would alter the piles. Crawling in the snow would move the snow out of the way or even put some snow on the player's clothing.Random winds would have an effect on the loose landscape (i.e. sand, snow, water) as would any physical contact such as objects or characters.I'm not sure how else to describe what I'm saying, and I'm sorry if this is confusing. Please let me know if this is at all possible with our current computing power.   
  You could probably do this in some sort of scaled back way.. It would be very limited though, and to be quite honest hardware just isn't to this point yet where we can achieve effects like these. The closest thing would probably be physX liquids and thats pretty damn limited.">PhysX Water-Toaster   ;  Well if your terrain had a high enough fidelity you could go ahead and move vertices up and down simulating the dunes moving /  piling up in other spots. Around buildings you could have it slopped on 1 side (running right up to the building). Then to show that sand is moving around particle effects would work.Wouldn't be an ideal simulation, just a way to do it visually without the work of treating a piece of sand as a particle.   ;Quote:Original post by HudawI'm not sure how else to describe what I'm saying, and I'm sorry if this is confusing. Please let me know if this is at all possible with our current computing power.Too make it short and painless: If you want to implement what you have described on current consumer level hardware wrapped up in some pretty game, then the answer is NO.If you are interested in this field of computer technology take a look a liquid simulation on the GPU. There are some articles about this in GPU Gems 2 and/or 3.   ;  I think you might be able to do sand/snow reasonably on a heightmap.  I don't see very realistic animation happening, but evolving a heightmap e.g. to simulate some PDE that produces nice dunes seems like it should be within the realm of possibility -- especially if you're willing to concentrate on one physical phenomenon (i.e., just sand, or just snow), and to play with this at the level of standalone simulations (without trying to integrate everything into a game).So before dismissing the idea totally, the question I'd ask is what PDE (or maybe Markov process) it is that you'd want to simulate; I can make guesses but I don't really know.  It'd be nice to nail down the problem a little; it's hard to make accurate pronouncements on hand-wavey stuff.About 30 seconds of googling starts to turn up some tentative answers:- A Method for Modeling and Rendering Dunes with Wind-ripples- Aeolian geomorphology and its simulation- Numerical simulation of sand dune evolution in severe windsI'm sure you can find more.Actually, I'm starting to get a little bit of a handle on your problem... Overall, it sounds like you want to simulate a 2d nonlinear advection-diffusion equation.  This is doable at a moderate resolution.  The questions are,1 - what is the advection vector field?2 - The diffusion term is going to be nonlinear (in particular, it'll go to zero when the sand has achieved a natural "pyramid" equilibrium shape); what is it?I've only skimmed the above papers, but it looks like they'll give some ideas for how to answer these questions.I suppose there's also one more choice to be made, and that is whether you want to use an Eulerian (modify heightmap) or Lagrangian (2d particle dynamics; reconstruct heightmap occasionally from this) approach.  My gut says to go with the Eulerian approach to start, but you might not want to totally rule out something Lagrangian (e.g., you can sort of imagine "dune primitives" that move around and are combined by blending).Regardless, your first step should be to figure out what other people have done.[Edited by - Emergent on June 9, 2010 10:59:42 AM];  More on this:It seems, after a little more googling, that the book referred to here, The Physics of Blown Sand and Desert Dunes is a standard reference in the field.Personally, I also thought that this paper looked promising (I mean, look at those simulation results!), though it'd take some rereading to figure out what exactly the full system of PDEs being simulated is.  That said, keep in mind that the paper appears to just be a preprint.It's not super easy -- you won't be able to follow the literature if you're unfamiliar with PDEs -- but not totally abstruse either.(Oh yeah!  Before I started posting those more academic modeling papers, I probably should have given you something more accessible: For me, I kind of liked this as a simple layman's introduction, actually.)   