Beginning Game Development with Python and Pygame: From Novice to Professional (Beginning From Novice to Professional) (英語) ペーパーバック – 2007/11/1
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
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.
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.
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.
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.