Amazon reviews

Since this blog is a companion blog for my book J2ME Games With MIDP2, today I’d like to talk about some of the book’s Amazon reviews. I won’t reprint the reviews in full here (you can see them on my book’s Amazon page), but rather just address some of the comments. I think this chunk sums up the main criticism:

It is basically a review of the code of a few simple games (like a cowboy jumping tumbleweeds, or a simple 2d maze) with very little space devoted to theory and explanations.. both of the APIs and of the internal logic and algorithms. Not that this book isn’t useful.. it is but you have to wade through a lot of code, and I think the author could have done a much better job if for example she had taken the time to EXPLAIN the maze generation algorithms instead of just saying “look at the code”.

What can I say? The text-to-code-sample ratio might not have been optimal. 😉

Actually, I wrote a lot of the theory and explanations into extensive JavaDoc comments in the sample code, but that’s obviously not the most user-friendly format, especially since this is a book. As another critical reviewer said: “If you are the type of person that learns by reading code then you will already have learned the APIs by looking at the sample code. The reason we buy technical books is to teach us how to use the APIs through a combination of well annotated example code, well organized reference material for the APIs, and illustrations that demonstrate best practice code flow.”

This is a valid point, and all I can really say is that I’m working on improving this in my technical writing. I think my bluetooth article the other day shows improvement on the points the reviewer mentions. I started with an overview of what the code needs to do, then talked a little about what options are available and explained why I chose the strategy I did. Plus I searched for additional references on the web, and provided links and a brief explanation of what points I’d learned in them and how I applied them in my project. In that article I didn’t even post the code sample (although I will at some point), essentially because I wasn’t sure the bluetooth part of the code was clear and concise enough to be useful without the complete sample program.

It’s kind of disappointing to see the maze algorithm singled out as not being explained clearly enough. Part of the point to that example was to show that you can make something fun from something simple. What happened was that since the algorithm to generate the maze wasn’t something that applies to games in general, I just wrote the explanation of how it works into the JavaDoc of the code samples. But clearly it wouldn’t have hurt to have included an overview/explanation of it in the text part of the chapter as well. I’ll take it as a challenge to write a concise explanation of the algorithm and post it here to this blog. (I want to move on to some graphics first, but maybe I’ll write up an explanation of it over the holidays since it’s something I don’t have to be sitting at the computer to do.)

I’ll close with a potitive comment from a review titled “Brings the fun back to Java”:

The author of this book has a nice, easy to read style of writing. Her enthusiasm for the topic comes through and makes you want to try the many sample games.

This is what I’m shooting for, of course. I’d like to show that it’s not only fun to play games but also to write them as you use your ingenuity to tackle the special challenges you face when programmming for a small device. 😀


1 comment so far

  1. […] Little Maze Algorithm Posted March 10, 2007 Way back on my Amazon reviews post, I promised I’d post an explanation of the algorithm I used to generate the random mazes for […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: