I’ll be giving a talk at the Science Olympiad Nationals being held here at UW-Stout on gaming physics engines. I thought I’d put up a few resources related to my talk and add some resources on how to get started programming games using Python.
Why Python? Python is an easy language to learn, it is easy to code, and it is very easy to read (which is a huge plus for me as an instructor). Not many commercial games are written in Python but some do use elements of Python as part of their scripting engine. Python is a good place to start learning how to program before moving on to more challenging languages. As a scientist I use Python as my primary programming language because many of the tools I need on a day-to-day basis are available in Python.
Both Udacity and Coursera have free courses available that will help you learn Python. Keep in mind that in addition to a paid version of the courses you can usually take the courses for free.
To learn how to program games in Python I recommend Invent Your Own Computer Games with Python and Making Games with Python and Pygame. Both are available for free or you can pay to get a physical copy of the books. These two books work well together and I recommend my students take a look at both when getting started. I also recommend looking at the website Programming Arcade Games with Python and Pygame as another great place to get tips and tricks for starting out.
More general books for learning how to program Python are available at Learning Python the Hard Way and How to Think Like a Computer Scientist: Learn with Python. Both are great resources for beginners.
Programs from my Science Olympiad talk: