User talk:Etho/Physics Engine
From Worms Knowledge Base
This kind of info is soooo damn helpful for me, and I guess for many other wormers too. I'd love it to be amplified!, so I have some questions:
- How does friction work when the surface isn't flat?, because worms don't slide the same length on a 45º surface than on a 10º surface.
- Whenever a worm hits a horizontal surface, whether from above or below, the vertical (y) speed gets reduced to 0 and there is no bouncing effect, right?.
- Then I guess that all the friction physics apply in the same way both to worms sliding on the floor or the ceiling, with the only difference that in one case gravity keeps the worm on the floor, while in the other it moves it away from the ceiling.
- And how does the X speed changes when a worm hits a vertical surface?, besides bouncing they obviously lose some speed, but how much?.
- Does the collition mask of a worm changes shape, size or orientation when the worm is sliding, bouncing or flying?.
Thanks! --Dario 17:24, 25 September 2007 (MST)
any reply is based upon empirical tests.
- 1 they lose speed when they have to climb a pixel. dunno how much, I should run some tests with null friction.
- 2 right.
- 3 right.
- 4 friction is applied for the only frame when the worm touches the ceiling.
- 5 no (CyberShadow wrote so, somewhere).
Good to know about 5 and about friction applying to a perfectly even and horizontal ceiling. But when the ceiling isn't perfectly horizontal and the X speed is high enough, then the worm will be touching the ceiling for several frames. After the worm hits the ceiling, it will always be moving away from it, so I guess that the friction used for flat surfaces only applies the frame in which the worm hits the ceiling. But a worm can also "slide downwards" on the ceiling, then:
- There is a X speed penalty (never Y) for climbing a pixel when sliding upwards over a hill on the floor (as you just said)
- There has to be a speed penalty for "climbing" a pixel when "sliding" downwards over a "hill" on the ceiling
- It smells like the X speed penalty for climbing a pixel does not depend on the Y speed.
- Aparently there is a maximum speed with which the worm can slide upwards/downwards. But also that speed limit is something temporal, since as soon as the worm leaves the surface it regains the speed that wasn't lost because of sliding or climbing pixels.
All these would sorta explain these 2 situations (too bad I don't have any numeric data)
1-X speed penalty applied for "climbing" pixels on the ceiling, and I assume no Y speed penalty too. When Y>>X the worm moves away from the ceiling, but that also means the speed limit of sliding is removed, therefore X speed increases a bit, just enough to make the worm hit the ceiling a second time.
2-X speed penalty applied for climbing pixels on the floor, but no Y speed penalty. Then when Y>>X the worm starts flying until gravity reduces Y speed and the worm lands again. Also note that as soon as the worm leaves the surface, it's X speed increases until he lands again. (it is not an effect of the .gif, it really happens like that). —Preceding unsigned comment added by LNNNxDario (talk • contribs) on 27 September 2007
I wonder if your guesses are right, why should wa do such complicate calculations for such situations!
anyway, you may like to run tests with null friction, infinite friction, or negative friction also, here's the link http://forum.team17.com/attachment.php?attachmentid=30581&d=1189596432 (instructions inside the archive) —Preceding unsigned comment added by Pisto (talk • contribs) on 27 September 2007