If (giftHorse == lameDuck)

The following is part consumer review and part soapbox opinion spewing based on ethical standards…

I recently purchased a book, Unity AI Game Programming - Second Edition. I will confess that the purchase was a little impromptu and as such, my investment of time researching both the authors and the content was lower than normal, in fact, I didn’t invest any time researching either the authors or the content of the book.

My purchase was made via Amazon and the book cost around £25. The impromptu purchase was born from the creative marketing strategy of Amazon and my own personal desire to save £6. We will circle back to that figure later in this post.

A day later a knock at the door indicated that my purchase had arrived and I hastily opened the packaging. Much to my surprise the book was published by PacktPub, you will have seen invariably a large quantity of posts from both myself and other members of the community linking to Packt’s free learning offerings from time to time. I was not without it’s irony that when I realised this was a book published by PacktPub I then found that I had already obtained it electronically in the past, but simply hadn’t got around to reading it. My saving of £6 was now looking a little sorry for itself, having effectively wasted £25, however, having a paper-based copy of the materials I felt I was more likely to read the book and complete the exercises contained there-in. Not an entire waste of money after all. We will circle back to that statement later in this post.

The book started well with some interesting content and I tried to not be overly irritated by the number of mistakes I was spotting within the text. Nothing major at this point, spelling mistakes, letters missing, that kind of thing. This was however a fairly good indication of what was to transpire.

As I progress through a couple of the exercises I noticed that following the examples in the book did not deliver the expected result. Being a fairly laid-back kind of chap, I thought to myself, “Not to worry, I’m sure there is some errata that I can locate, which will address these issues.”

Not so much - no.

I had downloaded the code / source / example projects from the Packt website which supported the book. Imagine if you will my surprise at finding the content in these files to not match very well at all the print in the book. It appeared almost as if two people had been in the room, one was typing out the code, whilst generally, in a round-about fashion, mumbling to themselves, whilst the other person recorded the afore-mentioned mumblings and added them as text for the book.

I resolved the first few issues myself, this wasn’t overly challenging, but I did feel a little put out that I couldn’t just follow along and enjoy the ride. I tried to remain positive and thought that perhaps, as there was no existing errata for this book I would offer some. Getting in touch with PacktPub was not a difficulty, and indeed they were very quick to respond. Unfortunately, it would seem that they are not themselves in a position to action the feedback provided, and instead advised that they would contact the author(s). I thanked them for their time and support and continued to journey through the book, hoping that the next section would be less incorrect.

It would seem that the old adage, “Hope doesn’t float” is quite true. As my hope sank before my eyes, as if some form of local mafia had grabbed it and placed it’s feet into concrete boots, pushing it over the edge of the harbour of my mind.

One of the following sections had a considerable number of pages of code to be typed, I was more than happy to accept this challenge but obviously, it’s easy to make mistakes whilst following along. Ironically, despite the Tolkien-esq quantity of code in this section, the author(s) hadn’t thought to provide this within the downloadable files.

It was with a sigh of relief I got to the end of this section and ran the project, excited as I was to see the results of my labour. Several hours later I stopped debugging the code, which had failed, in a number of places and produced unexpected results. Not least of which were the five OutOfMemoryException errors I endured, all of which brought my laptop to a complete halt and required a hard reboot. What fun.

I invested a little more time searching the internet, as one does, for other people who had perhaps encountered similar issues as they may provided a quick fix to these issues. Sadly, that time was spent in the same fashion as the investment of time typing in the pages of code from the book.

Appreciating that this post is getting quite long, lets interject some fun and play a game… lets play “Choose your own adverb” regarding the use of the afore mentioned time… [ Badly | Wastefully | Fruitlessly ]

Now, hoping that you enjoyed our little game, lets continue…

I had, in total, spent the best part of three days working through this book, enduring it’s mistakes and slowly my mind began to wander… what else could I use this book for? The book I did not actually need to buy because I already had it. Currently, I am thinking that possibly kindling for a bonfire, or perhaps, I could post random pages of it to people I have fallen out with in the past, just to confuse them, better still, send them an entire section…

What really disappoints me with this book is that on the second page it actually has the audacity to list under “Credits” the people who reviewed this book, the copy editor, the content development editor, the technical editors and of course, the proof reader. These people in my opinion do not deserve credit, they deserve to be made to sit down and read this book and follow it’s sections and not be allowed to get up, eat, use the toilet or any other perks based on human rights, until they manage to successfully get each section to work. Then, and before any form of food or drinks are provided to them, they should be encouraged to write up a significant section of errata AND correct the missing downloadable files.

My £6 saving turned into a £25 loss, which subsequently turned into a 3 day loss of life. How do you put a price on that? Even if I had realised I already had this book, electronically, I would still feel robbed of those days which I will never get back.

Some additional research indicated that the bulk of this second edition is in fact just a cut down rehash of the content from the first book, Unity 4.x Game AI Programming. Having discovered that the worst section (so far) was actually taken from the first book (verbatim), I managed to get hold of the downloadable code files for that book. They are identical, in their error stricken way as the current offering. Incidentally, the first book does actually have a 5 star rating on feefo… provided by the one reviewer… possibly some distant relative of an author who, thankfully, never had to endure the quality of it’s sequel.

If you were to rearrange a few of the words in the title of this book I would argue that it does live up to it’s name, as the intelligence that is portrayed in this book is definitely artificial.

I hope that this post may serve to save others some money, time and days of their life.


The following is an emoticon timeline to define the experience for those who were too lazy to read my post.

:slight_smile: - before the book arrives, the world is good

:smile: - the book arrives the following day, much excitement

:confused: - confusion kicks in after some initial mistakes are spotted

:confounded: - full blown confusion

:scream: - how can so few authors make so many mistakes?

:rage: - full blown rage

:poop: - the final critique of this book

:fire: - turns out the book was of use after all / bonfire

:laughing: - my reaction to watching two pigeons trying to mate on a neighbours roof / random

1 Like

Privacy & Terms