supertux icon indicating copy to clipboard operation
supertux copied to clipboard

Fixes #3215: Ice isn't slippery for rocks

Open goncalof148 opened this issue 8 months ago • 5 comments

Since the ice floor wasn't being recognized as ice, specially on the hills on level "Tip of the Ice", the floor didn't have the slippery feature. I changed the tile attributes to address this problem and added a condition on the rock logic to include a slippery property on ice. Now tux can throw a rock to hills and it will slide back down due to the slippery property.

Video: https://youtube.com/shorts/B_z0Fx5yYJc?feature=share

Closes #3215

goncalof148 avatar Mar 27 '25 18:03 goncalof148

@tobbi could you check this, please?

goncalof148 avatar Mar 30 '25 14:03 goncalof148

It looks like the behaviour is almost the same, both in master and this PR. So what was actually fixed?

  1. non-ice solid flat tiles - In both versions, the rock stops instantly. That is correct.
  2. solid flat ice - In both versions, the rock slides for approx. 1s and then it stops. Wasn't that supposed to be different?
  3. solid ice slope - In master, the rock stops instantly, unless it is given an initial speed. In this PR, the rock slowly slides down and jitters occasionally.
  4. unisolid flat ice - In both versions, the rock just stops.
  5. unisolid ice slope - In both versions, the rock just stops.
  6. non-ice solid tiles with unisolid flat ice overlay - same as case 3
  7. non-ice solid tiles with unisolid ice slope overlay - same as case 4

Hypernoot avatar Apr 07 '25 17:04 Hypernoot

@Hypernoot @Rusty-Box @tobbi could you check this last version?

Solid Flat Ice: I decreased the friction Solid Ice Slope: Now there is a minimum force to throw the rock Unisolid flat ice and slope: I updated that part

goncalof148 avatar Apr 10 '25 17:04 goncalof148

@Hypernoot I thought I fixed the problems! Could you help me identify the right tiles? On the code I can't identify them by their type.

goncalof148 avatar May 06 '25 11:05 goncalof148

@Hypernoot the non-ice friction value changed by mistake! I will fix that! I had changed the GROUND_FRICTION constant and then also changed that value and forgot to change!

goncalof148 avatar May 31 '25 13:05 goncalof148