“Corona SDK Hotshot” – Book Review
About a week ago, I was approached by Packt Publishing with a request to review a new book on the market titled “Corona SDK Hotshot”. The publisher was attracted by several of the articles I had written on this blog, so I thought what the hey I’ll give it a shot! I’m no acclaimed critic of any sort, just your typical community-involved indie games developer doode. Some credibility I recognize for myself is that I have been tutoring this stuff on and off, written my own complete OOP tutorial, as well as released several apps on the market (Download Marshmallow Ninja!!! ahem..) But also I am impressed by what I’ve been able to find out about Nevin Flanagan, the author.
Aside from the review following this paragraph, we are also doing a FREE GIVEAWAY of the book! All you have to do for your chance to win 1 of 5 available copies is re-tweet or re-share any of the free giveaway announcements I post to my feeds (twitter and facebook) during this week only. The 5 winners will be sent a DM via twitter, or Message via facebook, and will also be announced on those same feeds. [UPDATE: Winners So Far (2/5): Adrian Corpuz: @d__adee, Daniel @thatssopanda]
To begin with what I care about the most: The book does a thorough job of explaining the core concepts game structure, mainly through project examples. Although I wish there were more discussion on structure up front (like what good structure should be, and the principals behind OOP), I found myself following along and discovering it just fine throughout the examples. And often, particularly with programming, it’s important to just do whatever task is at hand in order to learn from it.
The games included in the project are in no way groundbreaking, but provide a solid foundation of how one could build worlds in an efficient and structured fashion. I found the syntax a bit messy since I like everything in single quotes and parenthesis, but it is of course a variable preference for anyone, especially since LUA allows for such flexibility. Otherwise, navigating the code was easy and very understandable. You will not find any comments in the code itself, but that’s because everything’s discussed in the book.
The format of the projects are consistent and will get you moving quickly because the learning process for each lesson will be the same. Each project starts with a “What do we build?” (explanation of the game), shifts through individual game components, and then ties everything back together with a “What did we do?” and “What else do I need to know” section at the end of every lesson. It’s a good recap of what’s been done, as well as an extra bit of clarification. The code samples are also split into versions of the same game that progressively tack on new things, for example, once the game’s core mechanic is established, the following section will be on creating the UI, and then following that will be saving high scores, etc. I’ve found that it does a good job of setting up, and guiding the reader on how to deal with core mechanics like movement, collision detection, and tile mapping, as the projects become more involved.
Like any book that teaches programming, there will likely be some sections you’ll just feel like skipping over because you already know it or it’s subject to your needs (i.e. for this one, things like “adding visual interest to the high scores”, or even the beginning design process wasn’t too useful for me, as I believe design tactics are a product of experience, trial and error). But nevertheless, things like that are included just in case they interest you!
Overall I gave it a 4/5 stars and am happy to recommend this read if you’ve got a basic understanding of Corona SDK (as the author says, if you’ve don a couple of small projects already). So get goin & expand your gamedev knowledge!