My Book Inspired some games

A while ago, approximately December 2013, Apress published my Book "Learn Lua for iOS Game Development" which can be purchased here. When I search for a book on Lua, I find this book featured and many of the links are ... let's say links fallen from the back of a truck ;)


The book was written for those that were choosing which Lua based framework to choose, the Purist Egalitarians, that code in C++ use Lua as a scripting language and write to OpenGL directly, so they would not really want options of a framework. Then there are the die-hards that swear by one or the other framework and then those that bag the book for personal reasons. It takes all types, not all fingers on the hand are the same, are they? Some felt that there were not enough game samples to read through, well it takes all sorts and everyones feedback is helpful, but the point is that the book is already published, it had inputs from quite a few people, Atilim of Gideros Studio, Patrick Meehan of Moai SDK, Simeon of Codea and then MY Developers and Micheal Hartlef. You cannot please everyone all the time.

Direction taken by most Authors

Most authors write books as postmortems, they dissect ther own published app/game in the book talking about how they achieved something. This book was different, I did not want a post-mortem. While many books work the user through a printed source code of a single game explaining how things work, the reader (in my opinion) learns about the practices of the author and thereby takes on the faults and strengths of the Author. However, I feel that there are plenty of source code available on the internet, is it easy for anyone to dissect that and make head or tail by themselves. Since you look at multiple authors and source codes, you learn various tricks from the different code authors.

My Approach

Now, my book is a bit different here, it introduces the reader to the framework and gives a brief overview of the way things work so that a beginner can start working, there are plenty of tutorials that teach how to create a basic program with framework X. In fact there are more tutorials of this sort than there are flappy bird clones out there.

The difference between a Diploma/Certificate and a University Degree is that in a certificate you learn the specifics of the subject. For example if you were to do a certificate course in Visual Basic, you would learn how to program with Visual Basic and can hit the ground running from Day one if you were out on a task requiring Visual Basic. However, the degree is slightly different, it teaches you the skills to think and make decisions, so a Uni graduate might not hit the ground running on day one in comparison to the certificate person but with the sills of application, the uni graduate can achieve the same and more in a short span and their knowledge grows.


Similarly, the book was written with the aim of positioning in between the two. The book also serves as a reference guide on your desk, it is not the complete Lua reference, nor is it a dump of the help files. Plus while searching on goolge, it can start to distract from the task on hand, so I prefer the book as a ready reckoner. There are also some code snippets in Chapter 7 - Tips and Tricks, this has some ready to use functions that one would use in their apps. In fact the first 7 chapters are dealing with Lua in general and would be applicable to any Lua based framework.


While it may seem like a plug to sell more copies of my book, let me tell you that it is not the case. Genuinely, the book is a valid addition to your desk (in printed form) it has most of the things that one would need to start development, while many rack their brains and spend hours figuring out on how to do something in framework X, you can quickly flip to the section for that framework and find the way to do so. Some bits that can be applied to any framework are in different chapters. One reader thanked me for the code snippet on parsing CSV strings. Who knows what snippet would save you at that moment. It is all ready and there in one spot. You could be one of those that print out 100's of pages (the entire manual or all the help pages or SDK API pages to read offline) yes it might cost your company for the stationary and printing.

Inspiration to Others

In Chapter 4 - Math I had an example of how Lua can be used for creating a Snakes and Ladder game. Since in Chapter 4, we had not gotten to a GUI framework, we were working with text and the sample of Snakes and Ladders ran on the console and without any user input and simulated a dice roll and moved the pieces and ran till one player won the game (i.e. reached the square number 100). In Chapter 15, I had written a simple Helicopter Game that works with the accelerometer and made with notes on how to adapt the same with minimal changes for either CoronaSDK or Gideros Studio. So in effect, you could have a single source code and you could compile the game with either of the framework. Not sure how effective that strategy was.

Copied Code

I saw a developer talking about a new game they created on one forum, and to my surprise, it was this Chopper Game with the graphics re-skinned. The Author picked up the source code and added a couple of screens and re-skinned the same, but did not credit using the code, line for line. In University terms that is called Plagiarism. I compiled my original code as an app and released it on iTunes and Google Play. the iTunes link is here.

The re-skinned copy called Sky Fire available on the Google Market Place

The interesting part behind this is that this particular developer was in touch on the forums in December 2012 and asked for advice on starting writing games, by June 2013, this was released as his second game.

The thing that a lot of developers did not know was that it was a straight copy/paste from the book. While someone congratulated the wonderful use of Accelerometer. So I reiterate again, the book is quite handy and there are things you can pick up or learn and expand on with your own ideas.

The second time around

I thought that since that was the only source code with a GUI bit that could be re-skinned so that's about it, I was surprised. Recently I saw a tweet from another developer that released a Snakes and Ladder game. It is an inspired port from the code published in the book and while the code in the book did not have a GUI component to compare, the core of the game, the portions that setup the game and run the game are kind of picked up including the same variable names.

I appreciate that these individuals *must* have purchased a copy of my book and then read through it and then found the relevant bits to adapt and modify. A simple personal email would have been nice to say, I read your book and thanks for that, I have adapted your code from the book on page xxx and incorporated it in my app and released it as this app. It not only feels good but also inspires to write more examples and game samples.

Ethics and decency

The more standard developers that are veterans in the market or come from big name studios are already habituated to attributing work and continue to do so when they use any work that is not their own. It also feels nice to see your own name pop up in apps and games, like below (these had nothing to do with the book)

Outreach of the book

The one thing that I missed was seeing my book on the shelves in shops, both in Australia and in India (I have not been to book stores in other countries) The reason being simple, Apress is managed through Springer that offers *all* their books via the springer subscription to universities and subscribing organisations. For the Indian market there are *alternative* quality prints that lower the price of the book to suit the local market, and I think not all books are adaptet, the only books from Apress are the DotNet series and the server series.

Still, with that limited outreach, it is interesting to note Two projects have come out from the book. Thought share that with you.


Popular Posts