Under the Bridge

Review: Developing Mobile Games with Moai SDK

So we’ve been vaguely aware of the Moai cross-platform SDK for a good while now, and been somewhat interested in learning more as its Direct Services and Custom Cloud Logic make it stand out a bit from the plethora of engine options available; so when the nice people over at Packt asked if we’d like to take a look at the first Moai book published, we were why yes this a good opportunity to polish up our knowledge of cross-platform options, no doubt our Dear Readers would be ever so interested in our thoughts!

5064OS_mockupcover_normal_1.jpg

Unfortunately, we were kinda underwhelmed. Not that it’s a bad book mind you — just of rather less scope than we were hoping for. Let us take the introductory section “Why Moai?” from the second page of the book, for those of you who didn’t click the links above to check out the Moai basics:

Moai SDK is a multi-platform game development framework. It’s been developed in C++ and all of its features are accessible through Lua. What does this mean? That you can build your game completely in Lua (taking advantage of the flexibility of this amazing language) and, in case you need low-level access, you can always switch to C++ and do whatever you want. You can even bind your C++ libraries to use them in your game, in Lua. It has built-in access to Moai Cloud as well, which is a cloud service that allows you to deploy server-side code written in Lua, with databases, support for push notifications, leaderboards, and other fancy stuff…

… and that’s the LAST mention in the book of Moai Cloud!! Très déçu. Since we see that as being the compelling reason one would likely pick Moai in the first place, we were rather hoping that would be covered in some detail. More detail than that single sentence, anyways. Well, on to what it does cover.

They have you install the SDK and install Zerobrane Studio and run the first project in the SDK /samples folder, and that all goes perfectly smoothly; then we have a chapter on the high level design philosophy, and on to walking through a Concentration-style game, which takes 4 chapters:

  • Chapter 4: Our First Game with Moai
  • Chapter 5: Showing Images on the Screen
  • Chapter 6: Resource Manager
  • Chapter 7: Concentration Gameplay

All pretty straightforward, especially if you already know Lua. And if you don’t, it doesn’t take much to figure out, which is kinda its point.

Chapter 8 “Let’s Build a Platformer!” introduces camera, parallax and sprite sheet animation. The next chapters straightforwardly introduce more functionality essentials:

  • Chapter 9: Real-world Physics with Box2D
  • Chapter 10: Creating a HUD
  • Chapter 11: Let the Right Music In!

And that’s it for your tutorials. Somewhat spartan, but the essentials of a single-player game are covered decently yes.

Chapter 12 is a fairly good chapter on how to get your Moai project compilable in Xcode for submission to the App Store; and Chapter 13 “Deployment to Other Platforms” … well, it’s not much more than a collection of weblinks. We really would have hoped that Windows, OS X and Android would have got the same deployment detail as iOS did.

So, yeah. On the one hand, if you have decided already to go with Moai, this will certainly help you through the learning curve associated with the free documentation — generally agreed as being somewhat lacking — quite a bit.

On the other hand, if you’re approaching it from the perspective we are, which isn’t “I’ve already decided, teach me how to use this” but “convince me why I should pick Moai over any of the other cross-platform kits available, particularly since I have several tens of thousands of lines of Objective-C cocos2d-iphone invested into already”, we would have needed

  • Walkthroughs of using Moai as a PaaS to provide social web services and cloud back end logic
  • Detail on how to integrate advertising, analytics, and other native SDKs
  • Much more detail on cross-platform deployment workflows

which you won’t find here. So that was rather a disappointment. Hard to qualify this book as “essential” without covering those points to the curious reader’s satisfaction, we think. But it is nicely written within the scope it does cover, so we’ll give it three stars, with the caveat that the cover says “the basics” and don’t expect any more than the basics. Then you should be satisfied with it nicely.

0