# underwater game

just wondering if anyone has got any idea abt how to make stuff move realistically underwater…?

i haven’t really figured out the whole physics aspect of panda yet but i’m guessing it would be totally different underwater so just thought maybe some of you had played around with this at some point.

well water is a little bit different from air… it basicaly has 2 things you have to think about:
A-depending on the volume/mass of a objects it floats up or down.
B-water has somewhat higher friction than air.

you usualy dont need the physik part until 2 objects collide with each other (collision).
to simulate a fish or a submarine it might be easyer to calculate the movement using normal python and a little bit of math.

if you need collision just try a round a little with the parameters i mention in A and B above.

thanks for the answer so far.

i’ve got something moving underwater now but i’m basically just guessing the acceleration and speed and stuff.

also i think i have to try to take things like viscosity into consideration

viscosity… jeeap… thats what i meant with friction… well it is kind of friction but not only on ground/walls/objects but all the time^^

dont forget… there is no such thing as a “real” simulation… it just can look or feel real… if you’r satisfied with the result it’s already real enough =), and if others are…even more so^^.

Doesn’t the particle physics system support viscosity?

havent looked at the particle system… but since everything is underwater you could use damping instead (at least i think thats what it’s called)… i hardly believe that panda doenst have a way to slow down the speed of a particle.
@cyan: are you trying to say that you want to set up a pool of “particle water” where the objects collide with the particles??.. well if you have a gray upstairs… no problem… else… no frames … … well maybe i got it all wrong

the reason i ask the question is that i am making a submarine game, as you have guessed and i wanted to know if there was a simpler way to make the movements of all the things underwater (the player sub, other objects) simulate the whole viscosity element or do i have to code this somewhere and then continually call this function some way…am i making sense ?

it’s basically cuz i want the sub to move in such a way that this factor is taken into account. for example when speeding up or when turning it should turn with a wider arc when you are going faster for example.

basic math and a little bit pf python code should do the good and efiitient job=).
most movements can be described with simple funktions, for example your turning speed.
turningspeed=somefaktorturninacceleration/(1+drivingspeed)
just an example… thought it “should” increase your curve-radius with higher speed (in this case only when moving foreward).
same with driving speed.
drivingspeed=acceleration+drivingspeed-(somefaktor
drivingspeed) … would give you a linear slowdown.
… no warranty on the stuff above… not tested not really thought trough… just to give you an idea. you might want to have a look at “limited growing funktions” (my translation from the german term for it)… this kind of funktion is used to mathematicaly describe the growing of plants but it might be usefull to describe the speed of your vessel… well maybe not…
but stuff like this should be fine.