Update: Today, fixed most if not all of the bug, bounces perfectly no matter where, added bounce factor, added boundaries to prevent ball from going off screen. Yay! Hey everyone, I don't know what to call this project. It's 1 AM right now, and the last hour or so spent on this. Anyway, just a random thing after a very long time off. Directions: Ball bounces, click to move it to mouse, s to show/hide arrows of reflection and normal The project tries to bounce the ball off the terrain in an accurate manner by using mathy stuff. Most projects use hidden sprites to detect collisions above, below, left, and right of the sprite, which I could never do right by the way. This ball's bounce angle will be different depending on the slope of where it hits and its velocity, and technically the terrain isn't needed at all because the ball follows a mathematical function (sin wave). Advantages: -With Scratch 2.0, the landscape can change dynamically (as long as it follows a certain formula) and the collision detection system will adjust. -Physically accurate events like rolling down hills happen automatically (I think) and friction and things can be easily put in. -None of the "sinking" that collision detection systems sometimes have -The scripts don't have to be heavily modified to support different situations Disadvantages: -I'm not a genius, and this was kinda hard to make, a lot of scripting. -I'm not sure how to fix bouncing on slope=0 surfaces. Eh nows it's 1:12. How I made it: -If not touching ground, move with velocity -If touching ground, calculate normal vector to the surface using derivative of the vector function, take dot product to find angle between velocity and normal, reflect angle to form the bounce angle of the ball. It's not perfect but I'm pretty proud of it :) It's more complicated that other stuff I do.