Book review: “Beginning game development with Python and Pygame” by Will McGugan

December 6th, 2008 at 12:32 pm

This is a small book (280 pages of core material (Appendices excluded) with lots of source code listings and images taking up space) that aims to teach basic game programming using the popular Python library Pygame, which is wraps the cross platform SDL C gaming library.

The book is very easy going and quick to read, and serves as a nice introduction to the subject, although I definitely don’t agree with the subtitle – From novice to professional, because this book will take you very far from a professional, as it’s basic at best.

Frankly, I would expect a bit more from a book. It only covers the material on a basic tutorial level and rarely goes deeper, which is a shame. The decision to teach Python and Pygame in the same book is questionable. It’s hard to believe a novice will learn Python from the first two introductory chapters, so perhaps aiming the book at Python programmers would be a better idea.

Other cons:

  • I don’t like the author’s using his own mathematical library for manipulating vectors and matrices as opposed to using something like Numpy.
  • the author ignores the Sprite class of Pygame and develops his own GameEntity instead. I don’t see much justification for this.
  • I felt that events were presented in a superficial way. This is probably one of the most important core topics of game programming, and it deserved more attention

On the positive side, the book really is a nice tutorial. If you are familiar with Python and basic math you can actually code a simple game based on this book very quickly, as it contains all the elements you need (at least for 2D games). There’s a lot of code in it, and the code is reasonably well written. This code can be used as a jumpstart for your own game.

Related posts:

  1. Writing a game in Python with Pygame. Part I
  2. Writing a game in Python with Pygame. Part II
  3. Writing a game in Python with Pygame. Part III
  4. Book review: “Test driven development by example”, Kent Beck
  5. Writing a game in Python with Pygame. Part IV

2 Responses to “Book review: “Beginning game development with Python and Pygame” by Will McGugan”

  1. PNNo Gravatar Says:

    I have this book and I have the other one (The L Line, The Express Line to Learning version).

    I have to admit I agree with everything in this review and this book sits getting dusty and yellowed pages on my shelf. Its not much use to me.

    The L Line book though I used quite a lot and learned quite a lot more from when I was first starting out with Python and Pygame.

    Hopefully you can review that one as well.

  2. AnonymousNo Gravatar Says:

    I’ve finished reading the book in its entirety, skipping only the non-essential parts (e.g. sounds, joystick input, etc).

    As a beginner, I think the section on 3D game programming is very poorly written. The author continuously provides us with source codes (all of which works), but he explains them very poorly, if at all. His codes on 3D programming don’t come with much comments either, so I’m left wondering what some portions do, and how they contribute to the program itself.

    It’s sad, because the earlier sections on 2D graphic programming were quite easy to follow. (Although the part on 2D vectors could also have been better explained.)