November 14, 2007 will

A bad review

I got a bad review of my book on Amazon.com. I wanted to post a comment to address his points, but Amazon told me that I must have purchased an item to post -- which I have (many times)! So I thought I would post my comment here (below).

I'm the author of Beginning Game Development with Python and Pygame. Let me take a moment to comment on your scathing review.

1) As the title of the book indicates, the book is intended for beginners. As such there is an introduction to Python in the first two chapters. A total of 30 pages out of approximately 300. I don't think this is unreasonable.

2) Some of the smaller listings aren't in the downloadable files because they weren't intended to run independently. A few small stand-alone listings in the early chapters don't have filenames by them. My fault entirely, but then the downloadable code is organized in to a folder for each chapter - making it simple to find a listing you are looking for. The downloadable files don't include the GameObjects library (or PyOpenGL). This is intentional -- it is better to get the up-to-date versions. However, full instructions on how to download and install these libraries are given in the README.txt file and the book.

3) I use the GameObjects vector class because it is simple to use and efficient. But I do talk about how to go about creating your own vector class, which is far more important than the choice of library. I don't use the Pygame sprite class, because it is more important that the reader knows how to manage sprites manually, before using the short-cut.

4) You must walk before you can run, young padawan. Pygame isn't a game creation kit, it is an API. You can't write a game if you don't know how to do the simple stuff. If I write about how to create tic-tac-toe, then all you can do is create tic-tac-toe games.

5) 3D games are important. I don't think you can find a clearer more accessible introduction to 3D anywhere, for any language.

There are topics that I would have have covered, if I had more time and space (although my book still covers more subjects than typical games books twice the size). Games development is a huge field. I chose to cover the essentials and topics that are poorly covered elsewhere. You are entitled to your one-star review Craig, but I would ask others to check out the free chapter on my blog before making a decision.

http://tinyurl.com/3xdmyq

Will McGugan

Use Markdown for formatting
*Italic* **Bold** `inline code` Links to [Google](http://www.google.com) > This is a quote > ```python import this ```
your comment will be previewed here
gravatar
Mark Melvin

I am still working through the book in my spare time, but I would say:

1) I know Python *very* well and still skimmed the first two chapters just to see if there was anything new and interesting. No big deal - I was onto Chapter 3 almost immediately. My 11 year old daughter was interested in learning how to make her own game so she started in on Chapter 1. I'd say it strikes a good balance. Skip the 30 pages if you already know Python.

2) I admit I was a little disappointed that the sample filenames seemed inconsistent - and also that some of the code was missing, or not the same as in the book. But it was so minor I forgot about it a few minutes later when my kids were playing with the animated sushi.

As for the rest of the points - no complaints so far. This book is exactly what I was looking for, and to be frank I expected small glitches (like the source code issue) in a first edition. I can't wait to get through the rest of the book so I can move onto more advanced things with a solid foundation in pyGame and game development in general.

Thanks, Will!

gravatar
Kumar McMillan

Actually I had heard about this book and been meaning to pick it up. Saw this and decided to buy it so I left a comment linking back to your post

gravatar
Rene

The book reviewer also posted on the Python Help Forum, see:
http://python-forum.org/py/viewtopic.php?t=6221

I have added a link to this blog post on the forum.

gravatar
Paul Walsh

I have fallen a bit behind cos I was unwell but I will be publishing a fairly lengthy review soon(ish ;-) ) and so far I am very pleased with the book. From peeking forward, I personally feel that the 3D sections are very accessable and are a great bonus. I may be scuppered if I have to buy from Amazon to be able to post a review there but my review will be available for Apress to use wherever they like as I discussed with Julie.

gravatar
Paul Walsh

I forgot to say in relation to some of the comments the "bad" review made - in comparison to another PyGame book I bought recently - this is a much better edited and proof-read book by far - especially for the first edition of a technical book.

gravatar
Paul Walsh

Once I read the follow up comments I realised the poster on Amazon seems to be mostly just trolling.

The problem with Amazon "reviews" is that they are very often just bitching and moaning from people rather than an actual review. It is fine to not like something but to just moan about it isn't a review - it is a complaint.

gravatar
Nathan Haines

I don't know. I thought the complaint about the introduction to Python chapters was totally unfounded. But the rest of his complaints were factual. The sample programs which don't match the book also don't even run correctly or at all.

The book description given by the publisher is very clear: "Learn step-by-step through the creation of a real-world game (tank warfare), involving gaming preferences, sound, visual effects, and joystick/keyboard interaction." But there's no game to be found in the book.

I feel a little put out because I didn't end up with the book I bought, in that sense. Instead, I got an overview of a lot of game concepts but nothing to tie them together. This really makes the book feel like it isn't coming together as a cohesive work.

Right now I'm on Chapter 10, and once I finish I'll write my own review on Amazon.com. I've been really happy with the introductions to such a broad range of topics. It's probably going to bring a 3-star review up to a 4-star review, because I feel like I have everything I need to build a 2D game. In this regard I think the book was excellent.

I got something out of the book. I'm looking forward to finishing the last three chapters and starting my own project. But I still wish I'd gotten the walk through the design of a game that the publisher promised. I don't blame Will for that, but it's something I wish I'd known before I bought it.

gravatar
Steffen Mutter (SMut)

I just bought your book in Germany and I am very happy with it.
The few missing codesnipplets in the apress-download-section - I don't understand why anyone could get a problem with that.
I bought a book how to hack in python. So it shouldn't be a problem to type a few lines in and see, what the IDE is doing with it - newbies will get amazed how clever those python IDEs are working.
Apropos - IDEs - this is a point you didn't talk about much, which IDE you are using to develop pygame code and why?
I am using SPE (Stanis Python Editor) which is very nice and got a lot of cute debugging fatures and I use it because of wxPython - IDLE runs into trouble due to windowmanagement...

Great piece of work so, I really like it!

gravatar
veep

Maybe it's because your book IS lacking? It's called "beginning game development...", not "basics and no actual examples of actual games"

gravatar
BN

Well, in all fairness the books title is "_Beginning_ Game Development..." No claim is made that you'll actually be able to _finish_ a game.

gravatar
veep

And the subtitle is "From Novice to Pro". How can the person become a pro if he's not even taught subjects like collision detection or even in theory taught the main logic of a REAL GAME?

gravatar
Gabriel Hasbun

The book is starting great, I've read the first 2 chapters in about a week, going through some misunderstood concepts of dictionaries and whatnot.

I've seen the index and the content looks fabulous. The great thing about this book is it's synthesis on such a complex subject as game programming. The snippets in the book serve it's purpose, but best of all, it is CLEAR which is probably the most important aspect of a technical book, and no rambling around, to-the-point. When I finish the book I'll tell you if I liked it as a whole.

gravatar
7stud

OMG!!, i cant believe they paid you to write this garbage!! do you even still have a job?.After reading your book, i think the sub title should have been "from novice to confused novice" i think you need to stay away from the book writing altogether. Can you sing? maybe burgerking needs a drivethough guy..lol..frys up!...wow, what a big dumb ham

gravatar
ludwig

I am half through the book now and as I've read the index (as anybody can online - btw if you check here and at apress you get 2 free chapters) I think I can tell what I will have learned once I finish:

- I will be able to use pygame
- I will have an idea about the basics of game programming
- I will have understood the basics of 3d programming
- I will be able to use PyOpenGL

I found it a little disappointing to be taught such basics as boolean logic.. I think it would have been better to spend the pages on game development and leave the basics of computers and programming (in python) to others.
It would have been nice to include something about creating and storing "levels".

The worst thing about the book really is the title - "From Novice to Professional". This is a stupid marketing lie.
But if you expect to get a book that teaches you everything about python and game development in 300 pages you are beyond help ;-)

In one sentence:
A nice introduction to Python, Pygame, 3D, OpenGL and AI in one book.

gravatar
days_of_ruin

While this book is not perfect I think its a great book
to learn the basics.In my experience once you learn the basics
and truly comprehend them the rest you can learn on your own.

Thanks for the book Will.

ps:I hope you make another edition thats bigger:)

gravatar
days_of_ruin

Oh yeah about the "Novice to Professional" thing, doesn't apress do that
to a lot of their books?I don't think Will stuck it on there.

gravatar
Amazon Reader

It's petty and embarrassing when an author comments on his own reviews.

gravatar
Sunnyside

I just saw the book at my library, and this controversy is making me more interested than ever in checking it out! I'm nowhere near ready to tackle real programming (still have to learn CSS, even!) but it sounds like an interesting way of teaching programming -- though I now understand that it's not meant to teach "programming" but game programming with Python...well, maybe Will should write a book that takes a complete beginner and gives him an intermediate level of competency, then start up a membership website (one that has to be paid for, with passwords) that goes into the advanced stuff! Think about it...you wouldn't be hampered by space constraints, and you could adjust content on-the-fly in response to subscriber feedback...basically an online course for those who got hooked by the book! So with that model, you could concentrate on a book that really teaches someone, instead of just another interesting title that has a little bit of something for everyone (which is what your book sounds like now)....

gravatar
Jazz Andrews

Hey Will,
I'm really enjoying the book. I feel that it strikes the right balance between bringing non-python programmers (like me) up to speed and also focusing on the details of using pygame and of game development concepts.

7stud:
I don't understand why you would leave such a mindless non constructive and pointlessly negative review on someone's website. You didn't even give any reasons. I've programmed in java, c++, c, vb, and c#. I have learned a great deal from reading will's book and taking the time to try out his code listings and understand them. Maybe you are such an advanced python/pygame games programmer that this book offered you nothing new. In that case maybe you need to buy books aimed at experts or maybe write your own so as to share your knowledge.

gravatar
Ruk

@ Amazon Reader, i think it's great an author taking time out to respond to feedback and reviews. and you're a dikhed

gravatar
Mel W.
I'm loving this book! I'm up to chapter 6, writing a game as I learn, throwing away old code, replacing it with new. Your examples were very helpful.

Thank you for writing such a good book.
gravatar
Saifgen
I'm new in python and games development, so I take this book and start about 3 weeks ago and it really fine for me.

Moreover here in Colombia isn't really easy found a such good books like this… for persons like me that are starting…

THX… WILL….

PD: I'm agree… i don't think that I become a Pro with this book but is a good start… may the Title is wrong… check it out…
gravatar
João Abrantes
Well I really enjoyed your book I read it when I was starting to learn about python and it gave me the motivation to start working on a game. So thank you for that.
gravatar
Will McGugan
Mel, Saifgen, João, Thanks for the feedback!
gravatar
Mark E.
I didn't read all the comments here but I wanted to mention something that I didn't see to try and help out others like me. The reason I found this page was because I was looking for the “GameObjects” code so I could use all the examples.

I saw the README when I first downloaded the code and then forgot about it. Later, when I was in the code, I didn't know where to find the GameObjects library. After I re-discovered the readme (from this page) I found that the given link ("http://www.willmcgugan.com/game-objects/“) is dead. The readme also says to use ”easy_install gameobjects“ which I tried (using Ubuntu 9.04) and it failed because I have to first install the package python-setuptools.

Steps to make it work:
* sudo apt-get install python-setuptools
* sudo easy_install gameobjects

From the console information, I learned that the code is currently hosted at ”http://code.google.com/p/gameobjects/“.

I would suggest making this link (”http://www.willmcgugan.com/game-objects/") either redirect or have a page that points the visitor to the google code location.

For myself, the book has been good. I come from C# and Ruby on Rails so Python is new, the first 2 chapters were good for skimming. I would have liked a more complete game example to show a best-practice example. The PyGame website has many games that can be downloaded and examined, but I've found that they vary widely in quality and style. Something more coherent as a fully functionally example would be nice.

Good job.
-Mark E.
gravatar
DaveFromSpace
I'm working my way through the book now. I am up to Chapter 4 and was glad that you summarized python first, as I am a C++ programmer who is making the transition to Python.
gravatar
Will McGugan
Dave, hope you like the rest of the book!
gravatar
P K
Hi Will,
I brought your book from Amazon. I think its a great book. It has given me everything i needed. I Have spent years programming with Assembly / Pascal / C / C++ / Visual C / Java / Perl / Basic. and recently Python. I think your book follows the Python way. It is easy to understand, easy to use and I did not have to brush up on my Calculus just to make it all work.

Thanks
gravatar
Gregory
I've just recently read the book, got it from the university library actually. I didn't bother with any of the downloads anyway, I made my own code instead. I found that the section at the start about python is alright, but if you are going to do any real coding, it's better to read a book about python first, then read it. I never read the thing saying that you'd make a game either, so I can't complain about that. It is true that it says from novice to pro, which isn't really true, but I've heard bigger lies from large corporations before (i.e. Microsoft IE 8). It does sorta suck that it didn't tell me anything about collision detection, since that's a rather large part of making even a rudimentary game. I'm probably not going to use it anyway, instead I'm going to use Box2D and add in proper physics.
gravatar
FrankW
I'm a starter, and my goal was to create skills to write my own game in python. Learning to create a game is a process that takes time. Meanwhile I've red the book more than 10 times and you can also find a lot of other information about pygame, but so far this is the best approach I've encountered and I think (and this is not my common behavior) you have to ingore the negative feedback.

Congratulations Will with the effort you spent in writing such a good book.

Frank
gravatar
pyman (on stackoverflow)
I am teaching pygame at highs school level and the aim of the course is for students to create 2d arcade games of their own. At this level which goes to second year university level programming I find Will's book very useful to home in on concepts almost like a dictionary. I think it is valid to say a complete game is missing if that is what you are looking to do. However, many books that do take you step by step through a game lack the detail of basic concepts that Will's book has.It is also valid to say that the title is a marketing ploy which detracts from the purpose of the book. I would recommend this book to anyone who is actively trying to create games and thank will for making basic concepts so clear. Please bring out another book on 3D openGL will.

A note on the opening chapters.Michael Tal who was a world chess champion was known for reading beginners books:someone elses perspective even on basic Python may bring you a new angle and I feel it has some valuable background to basic Python that I was glad to find out .Knowing why Python does something in a certan way is useful so it is worth a read.

Thanks