Ludicrous Software

Build Missile Command With the Corona SDK

Last week I had the pleasure and the honour of being able to deliver both an introduction to Corona presentation and a full-day game development workshop at FITC Screens. The workshop attendees built (most of) a complete cross-platform Missile Command game using the Corona SDK; we ran out of time before we could implement everything you’ll find in the workbook, but we covered all of the basics. I’ve uploaded the materials I used in the workshop to GitHub, so feel free to check it out.

The workbook will walk you through all the steps involved in building the game, right from configuring the project through to adding sound effects and creating custom components to control the volume. Along the way, you’ll build a game that, among other things:

  • Uses Corona’s cross-platform capabilities to build a game that can be deployed to both iOS and Android devices from the same code base;
  • Uses the built-in physics engine to handle collision detection;
  • Uses sprite sheets for in-game animations, and learn how to incorporate sprite sheets sized for different devices from within the same code base (i.e. manually doing for sprites what display.newImageRect() does for images);

The only things currently not covered in the tutorial, which I may add down the road if I have some spare time (ha!) is:

  • Creating a menu system with a main menu, help screen, and so on. Once Corona publicly releases their new Storyboard API, I may add this;
  • Creating a device build and deploying to your device for testing. In the meantime, there are other tutorials online that cover this, including a pretty thorough explanation of the steps involved on Ansca’s website - look under the “Basics” heading.

Please be aware that a few points that probably should be fleshed out in the text are glossed over. This was intentional, since there were some things I felt would be better explained during the course of the workshop itself, rather than putting it all into the workbook. If there is sufficient interest, I may expand on these explanations (again, given this mythical spare time I seem to think exists).