Arrow keys to move accelerate/reverse
This uses a combination of things to handle the "Tumble" or rotation of the shape. Firstly it uses a slope detection script to rotate it's when on slopes, secondly it uses a script that rotates it if it is off balance and finally a script which cleans up the rotation of the shape. All code is mine :)