Book Review: Begining Game Development with Python and Pygame

I love Python. I Love Pygame, and I love programming. What could be better than a book that combines all three?

These were the excited thoughts that were racing though my brain as I was looking for a suitable money sink on amazon. The book's subtitle is "From Novice to professional", and I wasn't expecting much. You see I have a tendency to buy books that I don't really need. I already know a fair amount about programming with Python, and I've used the Pygame library on numerous occaisons. So why buy the book? I was hoping that the book would stimulate me to finish one of the hundreds of half-completed game projects on my hard disk.

The book has 12 chapters in total. The first three are a gentle introduction to the python programming language and the pyGame module. The next four chapters are the meat of the pyGame related matter. Most of the pygame modules are covered here. Finally, there are four chapters covering 3D aspects and OpenGL.

As you may already have guessed, I'm not overly impressed with this book. My main gripe is that the content doesn't reflect the book title. For example, Apress (the publisher) have included a little diagram on the back of the book (I appologise for the poor image quality):

To me this indicates that the book in question assumes a working knowledge of python. Why then the four chapters introducing the programming language? Similarly, the last four chapters of the book are about OpenGL and 3D game programming, which bear very little relevance to PyGame, which is primarily concerned with 2D applications. The books chapters also seem a little jumbled together. For example, there is a chapter on playing sounds in the middle of the 3D chapters... where did that come from?

The chapters that were on topic were pretty mundane - the reader might have just browsed through the superb PyGame documentation.

Overall, this book probably isn't worth buying if you want to learn how to use Pygame, just read the online documentation. If you want to learn Python or OpenGL, there are better books out there. This is a book with great potential. If the author had stuck to the subject matter this book would have been a lot better. A few constructive criticisms then:

  1. Lose the Python into and the OpenGL stuff. People will buy this book because it has the word "PyGame" in it. We don't care about OpenGL, and we already know how to program in python!
  2. Make the example a little more meaty. At the moment almost all the examples demonstrate simple pieces of the pygame library. Some examples that demonstrate how these pieces are put together to form a playable game would be nice!
I did actually enjoy reading the book, it wasn't a complete waste of money. I'd give it 5/10. It was enjoyable to read, and did contain some useful information, even if that information was present in a better form on the web.

Now, If I could only get around to finishing that game.....