Hi Darren I’ve used python and pygame with AH pupils for the last three years. The biggest issue is the number of different approaches that you can use when trying to create a game with the pygame library. There’s examples that take a very low level approach where you’re just using pygame to draw images and other items onto a display surface using a procedural approach and then others that create sprites objects to handle some of the routine details such as checking for collisions but are still procedural in nature. Finally there’s examples that take a fully object orientated approach where classes for the player and enemy are created by inheriting from the Sprite class.
The simplest and most coherent approach I’ve seen is the program arcade games course however it spends time getting familiar with simple drawing using pygame before moving on to animation and then games creation. I’ve found that if these steps are short circuited then a lot of the time pupils don’t have enough understanding to modify or create new python + pygame code of their own.
To get them fully comfortable with making games in pygame I’d recommend
chapters 5, 8, 11, 12, 13 and 14
labs 3, 5, 7, 8, 9 and 10
and the corresponding written exercises and video demonstrations