A Creative Commons-licensed book by Al Sweigart that teaches programming in Python through writing your own video games. Full source code is included.
Ren'Py is a game engine written in Python which makes it easy to develop certain kinds of games, namely, manga-style visual novels, turn-based battle games, space opera games, and point-and-click games similar to the old-school Lucasarts games (Maniac Mansion, et al) by incorporating Python development into the game authoring process. Incorporates a scripting engine to lay out the game, lets you use any or all of the Python sound and graphics libraries to implement the audiovisual content. Includes its own visual development environment (IDE) for implementing your game.