I certainly wouldn't discourage anyone from buying this book if you are interested in game programming with Python. Other than it being (I think) the only book out there on this topic, it's a pretty good and well-written book that will introduce you to a lot of material.
However, I do agree with some of the complaints from Craig Obrien's review. You can't run many of the sample programs without the author's gameobjects library. A couple of things this library does involves vectors and matrices, but I'm not sure why we weren't told about something like NumPy, which, while more complicated, allows advanced math computations like this. In other words, something that is not only pre-existing, but a standard in the Python world.
There is also at least one program later in the book that requires the win32gui and win32con modules to run, but this is not mentioned in the book, so unless you open up the code and investigate why the program won't run, you'll never know. What's even more perplexing is that the downloadable code sample that requires these extra modules is not the same code that is printed in the book, which *doesn't* require the modules. So there's misleading code in the book, and then code available to download that won't run.
One thing I enjoyed about the book was how in-depth it got concerning vectors. I love to know exactly how things are working, and it helped to read about all this. Ironically, when the discussion of matrices began in the section on 3D gaming, the author seemed to take the exact opposite approach. Instead of giving us a decent analysis of matrices and how they work, he more or less glosses over them and basically says "Don't worry, just use the gameobjects module." This I don't like, because I hate writing code that I don't understand, even if it ends up working fine. I re-read this section and still didn't understand the difference between "transformation" and "translation". I feel much of this topic wasn't given its due, and considering that 3D game programming is what many of us want to do, it's pretty important we learn this stuff, no matter how dry it might be at first. Simply having a bunch of functions and code thrown at you with the attitude of "Ignore all this, we just need it in there so the game works" is certainly no way to learn. In other words, the difficulty level of the material sky-rocketed in a hurry, and I felt left behind by most of the explanations in the second half of the book, particularly beginning with 3D gaming.
Concerning, the other reviewer's criticism of the first two chapters, I do agree with him to some extent. Personally, I've been away from Python for a while and those chapters *did* serve as a refresher, but overall I feel the space could have been better used to expand on the other topics, at the very least. Let's face it, no one is going to learn Python from those two chapters, and if you need to be refreshed, use the books you learned it from to begin with.
All in all, though, it's a worthwhile book to read. You will learn a lot of details about the making of games. It's just that there came a point where I felt like I lost my handle on the material. Part of that could be my own fault, but I enjoy math so it isn't simply that I lost interest, it's just that I feel like the more advanced topics were glossed over more than the topics earlier in the book.
Beginning Game Development with Python and Pygame: From Novice to Professional (Expert's Voice) 1st ed. Edition
by
Will McGugan
(Author)
| Will McGugan (Author) Find all the books, read about the author, and more. See search results for this author |
ISBN-13: 978-1590598726
ISBN-10: 1590598725
Why is ISBN important? ISBN
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Use the Amazon App to scan ISBNs and compare prices.
Add to book club
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Join or create book clubs
Choose books together
Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
In Stock.
Ships from and sold by Amazon.com.
More Buying Choices
Get 3 for the price of 2. Shop items
There is a newer edition of this item:
This book provides readers with an introductory resource for learning how to create compelling games using the open source Python programming language and Pygame games development library. Authored by industry veteran and Python expert Will McGugan, readers are treated to a comprehensive, practical introduction to games development using these popular technologies. They can also capitalize upon numerous tips and tricks the author has accumulated over his career creating games for some of the world's largest gaming developers.
Customers who viewed this item also viewed
Page 1 of 1 Start overPage 1 of 1
What other items do customers buy after viewing this item?
Page 1 of 1 Start overPage 1 of 1
Editorial Reviews
About the Author
Will McGugan is a software developer living and working in northwest England. He has worked in video games and computer graphics since the early days of 3D and has created several shareware games in his spare time. Will works for Evolution Studios, one of the world's leading games development studios. He also has extensive experience in application development, having worked in the field of user interface creation and video conferencing. His current interests include application and web development in Python. Outside of work, Will enjoys juggling and cycling, although not at the same time. For more information on Will's current work and various musings, visit his blog at WillMcGugan.com.
Tell the Publisher!
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Special offer: 3 months free
For a limited-time, get the best audio entertainment with Audible Premium Plus, free for 3 months. Get this deal from Audible
Product details
- Publisher : Apress; 1st ed. edition (October 19, 2007)
- Language : English
- Paperback : 340 pages
- ISBN-10 : 1590598725
- ISBN-13 : 978-1590598726
- Item Weight : 1.76 pounds
- Dimensions : 7.52 x 0.78 x 9.25 inches
- Best Sellers Rank: #1,036,850 in Books (See Top 100 in Books)
- #755 in Game Programming
- #774 in Computer Graphics
- #934 in Software Design & Engineering
- Customer Reviews:
About the author
Follow authors to get new release updates, plus improved recommendations.

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
3.8 out of 5 stars
3.8 out of 5
45 global ratings
How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Reviewed in the United States on November 18, 2007
Verified Purchase
38 people found this helpful
Report abuse
Reviewed in the United States on July 12, 2008
Verified Purchase
I have to say up front that I fit the "Novice" part of the title for this book, but if the book is really intended for such an audience then my review may be helpful for those in the same situation... What I am a Novice at is Python and Device driven programming. Although this is really a very good AND much needed book for the much under documented Pygame library, it missed an excellent opportunity to provide a novice level tutorial in "device driven" programming as supported by Pygame. Although it is possible to muddle through to an understanding (much as I did) by thinking through the implications of the example code, it leaves a lot to be desired to provide a working basis for a real "Novice". As an example, the need to know the function of the lines of code "while True:" combined with "pygame,display,update()" and what they mean about the code that lie between them is really crucial to getting any code using the library to work at all. Although this is addressed to some extent, I found quite a bit of experimentation (on my part) necessary to discover what code needed to be included in this loop and what did not... I hope Mr. McGugan , with his excellent writing skills and obvious enthusiasim for this kind of work, will soon provide us with a second edition that will provide us with more insight into how Pygame actually works, so we won't be programming by rote...
One person found this helpful
Report abuse
Reviewed in the United States on January 6, 2021
Verified Purchase
Unlike the typical kindle book where you purchase and begin to read, this book is a pointer to have it converted to PDF but you cannot easily download the book - at least not on any of my devices. I do not have the time to play these games and it is a real disservice by Amazon. So the 1 star is on Amazon's service with this book and not the book itself.
Reviewed in the United States on April 13, 2008
Verified Purchase
Here's my Pro/Con Opinions about this book:
Pros:
- Very easy to read.
- Great examples that actually work
- Chapters 1 & 2 give a great intro to python, so this would actually be a good book if you've never touched python before (but did have some programming experience)
- Lots of info using pygame+opengl
- A lot of examples use his gameobjects library, so a lot of the grunt-work coding is available to use already.
Cons:
- My biggest complaint is the lack of discussion on Sprites. Pygame is really a 2D library, and I think he left out a lot of very important information by not discussing how the Sprite class can be used.
- Only cursory discussion Sound. If you're writing a game and just want the basic sound effects and/or background music, this is ok. However, if you want to do something really interesting with sound, you'll need to dig way beyond what this book offers.
Overall, I think the book is worth getting unless you've already done
a few significant projects using pygame. It's definately an Intro
book, and it does a really good job giving the user an idea how to put
a project together.
Pros:
- Very easy to read.
- Great examples that actually work
- Chapters 1 & 2 give a great intro to python, so this would actually be a good book if you've never touched python before (but did have some programming experience)
- Lots of info using pygame+opengl
- A lot of examples use his gameobjects library, so a lot of the grunt-work coding is available to use already.
Cons:
- My biggest complaint is the lack of discussion on Sprites. Pygame is really a 2D library, and I think he left out a lot of very important information by not discussing how the Sprite class can be used.
- Only cursory discussion Sound. If you're writing a game and just want the basic sound effects and/or background music, this is ok. However, if you want to do something really interesting with sound, you'll need to dig way beyond what this book offers.
Overall, I think the book is worth getting unless you've already done
a few significant projects using pygame. It's definately an Intro
book, and it does a really good job giving the user an idea how to put
a project together.
8 people found this helpful
Report abuse
Reviewed in the United States on June 17, 2020
Verified Purchase
As Novice, I found the book written around Python 2. Examples work for most part until Chapter 5 When nothing seems to work. reaching out to the author, as outlined in the book, resulted in ZERO response.
Reviewed in the United States on September 30, 2016
Verified Purchase
This is a beginner book for someone wanting to learn how to use Pygame with Python. A more advanced person will see that SDL is really what's at play here. So if your coming from a C++ and SDL gaming background, this book is a breeze and will get you doing the same kind of games using Python.
This book is not about teaching how libraries are made, or what's going on under the hood. The reader just makes calls to the libraries, if needed, for his or her game project.
Anyway, an excellent book. Been learning about Finite State Machines, which this book helped a lot in. The FSM for the ants and spiders is one of the best examples I've seen for learning FSM.
This book is not about teaching how libraries are made, or what's going on under the hood. The reader just makes calls to the libraries, if needed, for his or her game project.
Anyway, an excellent book. Been learning about Finite State Machines, which this book helped a lot in. The FSM for the ants and spiders is one of the best examples I've seen for learning FSM.
One person found this helpful
Report abuse
Top reviews from other countries
Mr. N. Falkiner
4.0 out of 5 stars
Beginning Game Development
Reviewed in the United Kingdom on September 2, 2013Verified Purchase
The one thing this book lacks is comment lines on the program examples. I am a great believer in these because, unlike the evaluation of the programs, they give you a very good set of clues as to what each line or block of code is to do with. Other than that, I have enjoyed working though it and it has helped in making my learning curve less steep.
muoncrazy
5.0 out of 5 stars
excellent
Reviewed in the United Kingdom on September 15, 2013Verified Purchase
Very easy to follow, moves at a good pace and covers all the essentials. Love it would happily recommend it if you want a book which will let you jump right into programming
Julien-Pierre P. Fortin
4.0 out of 5 stars
Four Stars
Reviewed in Canada on June 15, 2015Verified Purchase
Good book with a lot of neat tricks in programming!
Haokoze
5.0 out of 5 stars
英語だけど
Reviewed in Japan on October 13, 2009Verified Purchase
私は英語はほとんどダメですが。この本は基本的には中学生英語程度でそこそこ内容を理解することができました。
Pythonをこれから勉強しようと思う程度の知識ですが、他のPython関連の入門書が2〜3冊あればこの本を片手にPygameを始めることができると思います。
ピコピコゲーム作りを通じてプログラミングの勉強をするにもPython+Pygameは良い素材だと思います。この本はゲーム作りに必要なことは一通り描いてあります。やや、3Dポリゴンの説明が消化不良かなという感じもしますが、私が3Dの知識に乏しいからかもしれません。
価格が少々高めですが、入門書としてはちょうどよい難易度、読みやすい英語、他にPygameの開発書がない 点から星5にしました。
余談ですが、なぜか本文中の変数名やファイル名にFuguとかSashimiが使われて、著者が日本びいきなのか知りませんが、日本人はほほ笑ましい感じもしました。
Pythonをこれから勉強しようと思う程度の知識ですが、他のPython関連の入門書が2〜3冊あればこの本を片手にPygameを始めることができると思います。
ピコピコゲーム作りを通じてプログラミングの勉強をするにもPython+Pygameは良い素材だと思います。この本はゲーム作りに必要なことは一通り描いてあります。やや、3Dポリゴンの説明が消化不良かなという感じもしますが、私が3Dの知識に乏しいからかもしれません。
価格が少々高めですが、入門書としてはちょうどよい難易度、読みやすい英語、他にPygameの開発書がない 点から星5にしました。
余談ですが、なぜか本文中の変数名やファイル名にFuguとかSashimiが使われて、著者が日本びいきなのか知りませんが、日本人はほほ笑ましい感じもしました。
DK3250
2.0 out of 5 stars
Completely inadequate.
Reviewed in the United Kingdom on May 22, 2014Verified Purchase
This book about Pygame do not cover - or even mention - the many collide functions of Pygame, essensially for really many games.
Many other vital issues are also absent.
The book is completely inadequate and doesn't live up to it's title.
Many other vital issues are also absent.
The book is completely inadequate and doesn't live up to it's title.
One person found this helpful
Report abuse









