For this tutorial, you'll need:
- Python2.7, which can be downloaded here. Getting this to work with Python3 shouldn't be too hard, but I haven't tried.
- A basic knowledge of Python, if you are complete beginner you should probably read through some other tutorials first. At the very least, you’ll need to know how to run a Python script.
- Pygame, which can find here. It's easiest to install with Pip.
It would also be advantageous if you had a grounding in basic mathematics, specifically trigonometry. The tutorial includes some simple mathematical tricks that can be surprisingly powerful. These tricks took me a while to work out and I'll do my best to explain how how they work. If you want, you can blindly copy the code, but if you later want to change the behaviour of the simulation, it would be a good idea to understand how the mathematics works.
If you're interested in learning more about the mathematics or the physics then I can recommend the Khan Academy, which has an amazing collection of educational videos [full disclosure - since writing this, I have started working for Khan Academy].
You won’t however, require any prior knowledge of Pygame; this tutorial will start from the very basics, demonstrating how to use Pygame to create a graphical display, update it, and make it to respond to user inputs.