For developing a game engine, I highly recommend the book “Game Physics Engine Development” by Ian Millington.
The book uses C. You can read the book and then implement the code in Python (with visual) if you wish.
I teach a conceptual physics course using video games as the context. Students write code in VPython. The instructions and handouts are at:
I have some sample games such as asteroids, missile command, and lunar lander that are written in VPython at:
Note that the games are “simple.” They do not have scoring, levels, audio, etc. that are typically used in games. They are meant as a demonstration for teaching and learning physics. For projects, students build other games. Students have made first-person shooter games (using VPython’s 3D capability of course), projectile motion games, putt-putt golf, breakout, and even a driving game. All were simple, meaning that they were not polished enough for distribution.
I first developed the course at the same time GlowScript began. At the time, GlowScript wasn’t mature enough for me to implement it for the course. However, 3 or 4 years later (I forget), GlowScript is quite mature and has most of the features of VPython. I am considering rewriting the course handout in GlowScript. In fact, if anyone else is interested in converting the course handout(s) to GlowScript, all of the source in LaTeX is posted there on github.
AT