There’s no doubt that Corona SDK is powerful in its own right. Out of the box (so to speak), you are able to make both games and applications (hereinto referred as “apps”) that are fast and powerful, for both iOS and Android.
It’s a bit of a misnomer, but for the iOS platform, Corona can help you produce a “universal binary” app that works beautifully across the iPhone and iPod touch series with or without a Retina Display, and the iPad family. That one feature alone can significantly boost sales for your app, since many iPad users don’t want to use a blown-up iPhone app, and many iPhone 4/iPod touch 4G users don’t like apps that are pixelated. So, when developing, always work in the higher resolutions, and then downscale to accomodate the previous generation devices. Oh, and don’t forget about the extra available screen width on the iPad display! But, that’s just the beginning…
Easy integration with Facebook and OpenFeint (and now Game Center through the OpenFeint system) are great ways to add even more dimension to your app by including the “social” factor. Other platforms don’t offer anything more than an isolated app, making a good experience a rather lonely one. By simply adding a few lines of code, you can connect with other players, see and share your scores, and create challenges through achievements. Did you know OpenFeint offers your loading/saving data to their cloud, a feature custom-built chat room and forums, all inside your app? Don’t forget about that little “Game Center” flag next to your app’s title in iTunes, and also having it listed in other gamers’ rosters of Game Center-enabled games. More exposure, more sales.
Have some web development skills? Tying them into your Corona app can be a cinch with features such as Asynchronous HTTP support that allows you to easily download data from a web server, whether it be an MP3, image, video, a full web page, or even simple results to be read into a variable to a barrage of values to be read into a table. The possibilities become endless, from making a multiplayer trivia game that pulls down questions from an ever-growing web-based database, to downloading additional voiceovers and graphics in other languages as an add-on while keeping the initial “purchase and download” size at minimum. You can also post values back, which can be great for loading/saving your progress to the cloud without having to rely on the device for storage. Even uploading binary files via FTP is possible in Corona. Take a picture or record your voice and send it up to a server! My game Rico: Mercenary for Hire features creating your own assignments and uploading them (with custom backgrounds from your camera!) to our server, where they can be approved and downloaded live to all other users who have Rico: MFH installed, and no running back to the App Store for an update either!
Video playback is great for cutscenes and introductions. Getting the exact model of the device your app is running on and setting the minimum OS version requirement can be crucial in determining what it can and can’t do. There’s nothing more aggravating for a new buyer of your app to be struggling with features their device can’t handle. Instantly get the orientation, not just for games, too. Determine if your app was suspended and resumed, and have your app react accordingly. Make your app look native to iOS with Corona UI. Lastly, add more value to your app and more revenue for your bottom line with in-App purchases.
Got your juices flowing yet? Good! But, we haven’t even scratched the surface yet, as these and many more features are already available to you as soon as you fire up Corona on your Mac or Windows desktop!
Yet, a number of innovative developers have taken Corona even a step further with tools that can make good apps great, and great apps fantastic. Here are a few of these notable add-ons and utilities:
- PhysicsEditor. If you do any sort of game with physics, this is a fantastic utility from code’n’web. It will take your image and fine-tune the shape for more precise collisions, even smartly segmenting it for concave/convex polygons. I have used this application in my upcoming game Feather, where lightning bolts with its unique twists and turns can be easily mapped out for precise collision detection.
- TexturePacker. Another great utility from code’n’web. In fact, they are selling it optionally as a bundle with a reduced price, even though each program’s price tag is a steal in itself. If you do even just one animated sprite in your app, this utility is for you. Taking a bunch of frames and strategically placing it in a large spritesheet for memory optimization and easy access becomes streamlined with TexturePacker and its full-featured GUI. Honestly, I’ve tried a few of these types of utilities out there, and this one beats them all.
- Particle Candy. I literally fell out of my chair the first time I saw this add-in for Corona users. From fire and explosions to water and weather effects, this compact but powerful library is just the thing to add some serious visual pizazz to your game. The guys at X-PRESSIVE.COM have been wowing gamers since the mid 1990’s, and this version is specifically geared for Corona users. So, don’t just take my word for it, check it out for yourself and grab a copy today.
- SpriteDeck. If you are used to a more visual (read: drag & drop) method of development, this utility may be a great jumping point to help that transition towards understanding the programming behind it all (and find out it’s not as difficult as you think). Their website may not offer a lot of details on the product, but much of it is summed up in video tutorials that might answer a few questions.
- Lime. If levels and tile maps are your thing (or could be your thing) for game development, this is the premier utility for it. From RPGs to side-scrollers, Lime is so versatile, you’ll be finding yourself expanding your original game idea bigger and faster than you thought possible.
- Corona Project Manager. This utility just ties all your work together in one proficient workflow. It includes a built-in, powerful code editor to boot, and whether you’re creating a series for a game, or you simply reuse valuable code and assets, you can easily refer back to them for all your projects without dealing with duplicates all over the place. While Corona makes developing in Lua easy, Corona Project Manager makes developing in Corona efficient. See for yourself with their video tour here.
- PubNub. Multiplayer gaming (and multiuser apps) is a reality in Corona with PubNub’s cloud-hosted broadcasting service. Again, with just a few lines of code, your app can listen for broadcasted messages and send up messages, full of any kind of data you want. With it, you can make a simple chess game to a full blown massively multiplayer online role-playing game (MMORPG). And, it’s all through the internet, so your online gamer buddies can be in the next room across the hall or the next continent across the ocean. I’m personally itching to use this service in the worst way – perhaps one of us can make the next FarmVille?
So, if you’re a newbie to the world of Corona, all this can be a little overwhelming. But, if you take the baby steps, from the “Hello world” application, to getting the gist of the Lua language, to experimenting and structuring code to your liking, to using one or more of these add-ons and utilities to take your project to the next level, you’ll soon realize how fun it can all be and how proud you will feel when it’s all put together.
Always remember that you are never alone in the Corona world either. In addition to the official forums on Ansca’s site, Techority, for one, is a great starting point for Corona users, and the new CoronaForums where they just compiled the “Ultimate Tutorial List” is a becoming more and more useful each day. Don’t forget about LearningCorona.com that also puts all of the great tutorials in one place. Lastly, you’ve got me.
Good luck and happy programming to all current and future Corona users. If you haven’t taken the plunge yet, perhaps now is the time.