Book Review: Making Isometric Social Real-Time Games with HTML5, CSS, and JavaScript

by Darius Kazemi on September 1, 2011

in books,html5,reviews

Post image for Book Review: Making Isometric Social Real-Time Games with HTML5, CSS, and JavaScript

I noticed early this morning that the book Making Isometric Social Real-Time Games with HTML5, CSS, and JavaScript has been released. Written by Mario Andres Pagella, and published by O’Reilly, I’ve been awaiting this book for some time. I instantly loaded it up on Safari (O’Reilly’s online reference library service) and began blasting through it, since some of my Twitter followers were asking if it was any good. At five chapters total, it’s a short read, so I finished pretty quickly.

The short answer is that it’s a decent reference for people who are already very well-versed in making HTML5/JS games. But I can’t recommend it to anyone who isn’t prepared to wade through tons of uncommented code to figure out how it works.

The book is divided into five chapters: in the first chapter, Pagella does a good job of laying out the basics of graphics rendering through canvas 2D, and animating with sprite sheets. While this stuff is pretty basic, it’s well-explained and it made me excited for what was to come. Unfortunately, the rest of the book fails to meet the bar set by the first chapter.

Chapter 2 covers isometric projection, which is the kind of side-on view that you see in games like Farmville. There are some really great code examples here, but the biggest issue is that the author does a poor job of explaining isometric transforms. Aside from the code itself, the only explanation he provides is a very difficult-to-understand (and IMO, very incomplete) diagram. (As a note, I would link to a good online resource for understanding isometric projection in a game dev context, but I can’t find one I like. Amit Patel’s collection of resources is a start.)

Chapter 3 starts a bit stronger, explaining UI considerations for two pages, but then just dumps 600 lines of code at you, attempting to describe it all in about 10 sentences. Chapters 4 and 5 are similarly disappointing. For example, I was excited to read the section which covers managing computation using the Web Workers API, but he spends 185 words describing A*, 300 words describing workers in general, and then dumps another 400 lines of almost entirely uncommented code.

There’s a chapter on game server development that made me literally vocalize my laughter, where he attempts to cover the entirety of cheat protection and server-side operations in about 8 printed pages. Again, the PHP code he provides is a great reference, but it’s completely uncommented, leaving all the actual learning as an exercise to the reader.

Four-fifths of the book follows this pattern. I’m not generally one to get hung up on word counts, but the paucity of actual content is so egregious that I can’t help but note that there’s very little writing here. Unfortunately, this book is little more than a very useful Github repo with a tiny bit of introductory text describing each code example.

I can’t say that I didn’t get anything out of this book (if I were asked to build an HTML5 Farmville clone, I would start by forking the book’s companion repo), but the book fails in the fundamental task of actually teaching the reader about making games in HTML5.

{ 2 comments }

Sean October 22, 2011 at 10:13 am

Thanks for this review. Obviously, the scope of the book means it’s going to be fairly advanced, but I hadn’t expected it to be so heavy on code and so light on explanation. The blurb certainly makes it sound like a book that explains all the skills you need, rather than just presents code to you illustrating them. It might be one for me to come back to later, but it’s probably not a good one for me until I’ve mastered more of the basics of HTML5.

Aditya Ravi Shankar June 23, 2013 at 12:22 am

I am currently reading this book… There are tons of nuggets of wisdom in here…

Some of the stuff I liked so far
i) clicking thru transparent pixels,
ii) Adaptive Tile Refresh
iii) Drawing dimetric

It is a gold mine of information, but definitely not aimed towards beginners, (not that it necessarily needs to be)

I recently wrote a book (Pro HTML5 Games) with the beginner-intermediate game developer in mind.
Some details here (http://www.adityaravishankar.com/pro-html5-games/)….

The book teaches people how to make an angry birds clone and a real time strategy game from scratch…

I would love to hear your thoughts on the book :)

Comments on this entry are closed.

Previous post:

Next post: