Rapid Game Development with Corona SDK- Altaf Rehmani
Altaf Rehmani - Introduction15 Yrs Financial Services IT3 Years Startup Experience (redbytes software)Merged with Iniquus IT services Ltd.Projects:Capital Markets: Trading, Settlement, Treasury, ComplianceClients: Publishers, Real Estate, Retailers, Catering
Jun – Sep 2011
Recently Developed AppsFun With ABC
Swim With numbers
My Talking album
Color Carnival
Learning  Hindi
What is Corona?A cross development mobile sdk from AnscaMobile (http://www.anscamobile.com)An SDK that empowers developers to write mobile games and graphical rich apps for iOS and Android, quickly, and easily. Corona produced apps have been downloaded 22m timesCorona apps are approved for the Nook Platform. Price – USD 349 per year to publish for both iOS and Android. Free Trial forever.
Success StoriesBubble Ball 14 yr old – Robert Nay (> 7m Downloads) Float – Crawl Space games ~ 1 million downloads; one day to prototype; 2 months to develop Blast Monkeys – > 300K downloads: created in 14 days
What is the SDK?Lua Interpreter (110KB interpreter)Open GL – ES 2.0 (graphics hardware acceleration standard)Open ALPhysics engine built around Box2DNative C, C++ libraries (injected at runtime depending on the platform)
Things we love about the SDKHuge Productivity GainsCross Platform Ability for iOS and Android Simple, effective Dev environment and workflowHelpful and active communityAPI keeps expandingPhysics and other Framework supportLots of sample code and third party toolsMigration path from Flash to Corona
ProductivityDisplaying an image 	Objective C (iOS)Java (Android)Corona sdk (both platforms)Display.newImage(“myImage.png”)Display.newImageRect(“myImage.png”,1024,768)
Simple and effective dev workflowProjects are kept separate foldersAssets are compiled into appApp Code starts in  the “main.lua”Code Editors of your choice:   Text Wrangler, BBEdit, Xcode, Notepad ++ ..Works on Windows and MacCompilation does not happen locally!
Cross Platform DevelopmentSupport for Nook in the Final stages. More Platforms – in the future
SDK is good at2-D GamesGraphical-oriented UtilitiesRapid PrototypingApps which are graphical in nature
Catch the Ball – Game PrototypeBackgroundsPhysicsCollisionsStory: basketballs dropping from the skyUse a basket (hoop) to catch themDon’t catch bombs, but catch a special bonus ballScoring: + 1 for each basketball, +5 for special bonus, -2 for bombYou have 10 lives, each time you drop a ball life decreases.
Limitations of the SDKAndroid Only 2.2 or higherAndroid Armv7 only.iOS notifications not availableAndroid inapp purchase – not availableiAds only possible through a workaroundSome iOS features don’t work yet on androidwhen not to useIf you need native code integration and 3rd party toolkits integratedIf you need a business app with native device UI controls targeting both platforms
Sample Code availableAnd Much More..
What about Lua?Lua is smallAs small as <100 KB (DLL/LIB)Easy runs on small devices or in small apps. Lua is simple to useTo use-well suited for small softwareTo learn- ~20 keywords, ~20 operatorsPowerful arraysLua is fastApart from this, dynamic typing first class functions, easy interop, written in C, ample libraries.
Benefits to game developersSDK is easy to use; powerful with 500 APIsLua , fast powerful and easy to use languageAbility to publish to both iOS and AndroidAnimation and sprite techniquesPhysics engineinApp purchases for both iOSinMobi and Papaya Mobile Ad networksDynamic Content ScalingFile manipulation, xml / JSON parsing, SqlLiteReusable frameworks and code available from community – Director, Memory monitor etc Social integration, Launchpad, partnership with inMobi and PapayamobileNative Device Features(accelerometer, gyroscope, GPS, MAPS, async http
Tools for game developersSpriteloq – convert Flash animations to CoronaKwik – Photoshop CS5 plugin to create comics, storybooks from psd filesCPM – Corona Project Manager to manage your projectsParticle Candy – professional effects for gamesLime – include tilemaps created in Tiled
App Dev ExperiencesThe GoodReal Fast developmentAbility to cater for multiple resolution and devicesFocus on creativity and contentExcellent community of developersSource code available for common patternsDaily build, improved features ChallengesAndroid and iOS differences
Native UI look

Mobile development with the corona sdk

  • 1.
    Rapid Game Developmentwith Corona SDK- Altaf Rehmani
  • 2.
    Altaf Rehmani -Introduction15 Yrs Financial Services IT3 Years Startup Experience (redbytes software)Merged with Iniquus IT services Ltd.Projects:Capital Markets: Trading, Settlement, Treasury, ComplianceClients: Publishers, Real Estate, Retailers, Catering
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    What is Corona?Across development mobile sdk from AnscaMobile (http://www.anscamobile.com)An SDK that empowers developers to write mobile games and graphical rich apps for iOS and Android, quickly, and easily. Corona produced apps have been downloaded 22m timesCorona apps are approved for the Nook Platform. Price – USD 349 per year to publish for both iOS and Android. Free Trial forever.
  • 10.
    Success StoriesBubble Ball14 yr old – Robert Nay (> 7m Downloads) Float – Crawl Space games ~ 1 million downloads; one day to prototype; 2 months to develop Blast Monkeys – > 300K downloads: created in 14 days
  • 11.
    What is theSDK?Lua Interpreter (110KB interpreter)Open GL – ES 2.0 (graphics hardware acceleration standard)Open ALPhysics engine built around Box2DNative C, C++ libraries (injected at runtime depending on the platform)
  • 12.
    Things we loveabout the SDKHuge Productivity GainsCross Platform Ability for iOS and Android Simple, effective Dev environment and workflowHelpful and active communityAPI keeps expandingPhysics and other Framework supportLots of sample code and third party toolsMigration path from Flash to Corona
  • 13.
    ProductivityDisplaying an image Objective C (iOS)Java (Android)Corona sdk (both platforms)Display.newImage(“myImage.png”)Display.newImageRect(“myImage.png”,1024,768)
  • 14.
    Simple and effectivedev workflowProjects are kept separate foldersAssets are compiled into appApp Code starts in  the “main.lua”Code Editors of your choice: Text Wrangler, BBEdit, Xcode, Notepad ++ ..Works on Windows and MacCompilation does not happen locally!
  • 15.
    Cross Platform DevelopmentSupportfor Nook in the Final stages. More Platforms – in the future
  • 16.
    SDK is goodat2-D GamesGraphical-oriented UtilitiesRapid PrototypingApps which are graphical in nature
  • 17.
    Catch the Ball– Game PrototypeBackgroundsPhysicsCollisionsStory: basketballs dropping from the skyUse a basket (hoop) to catch themDon’t catch bombs, but catch a special bonus ballScoring: + 1 for each basketball, +5 for special bonus, -2 for bombYou have 10 lives, each time you drop a ball life decreases.
  • 18.
    Limitations of theSDKAndroid Only 2.2 or higherAndroid Armv7 only.iOS notifications not availableAndroid inapp purchase – not availableiAds only possible through a workaroundSome iOS features don’t work yet on androidwhen not to useIf you need native code integration and 3rd party toolkits integratedIf you need a business app with native device UI controls targeting both platforms
  • 19.
  • 20.
    What about Lua?Luais smallAs small as <100 KB (DLL/LIB)Easy runs on small devices or in small apps. Lua is simple to useTo use-well suited for small softwareTo learn- ~20 keywords, ~20 operatorsPowerful arraysLua is fastApart from this, dynamic typing first class functions, easy interop, written in C, ample libraries.
  • 21.
    Benefits to gamedevelopersSDK is easy to use; powerful with 500 APIsLua , fast powerful and easy to use languageAbility to publish to both iOS and AndroidAnimation and sprite techniquesPhysics engineinApp purchases for both iOSinMobi and Papaya Mobile Ad networksDynamic Content ScalingFile manipulation, xml / JSON parsing, SqlLiteReusable frameworks and code available from community – Director, Memory monitor etc Social integration, Launchpad, partnership with inMobi and PapayamobileNative Device Features(accelerometer, gyroscope, GPS, MAPS, async http
  • 22.
    Tools for gamedevelopersSpriteloq – convert Flash animations to CoronaKwik – Photoshop CS5 plugin to create comics, storybooks from psd filesCPM – Corona Project Manager to manage your projectsParticle Candy – professional effects for gamesLime – include tilemaps created in Tiled
  • 23.
    App Dev ExperiencesTheGoodReal Fast developmentAbility to cater for multiple resolution and devicesFocus on creativity and contentExcellent community of developersSource code available for common patternsDaily build, improved features ChallengesAndroid and iOS differences
  • 24.
  • 25.
    Limited to whatthe SDK has to offer.
  • 26.
    Both platforms maynot have common elements
  • 27.
  • 28.
    App EconomyLooking ForPublishersSchoolsTrainingand consultancyPartnersContact me at:altafr@redbytes.inTwitter: altafrwww.thetinytapps.comwww.facebook.com/tinytapps

Editor's Notes

  • #2 Name : here to share some knowhow and experience of developing apps with the corona sdk.
  • #3 Here is some more background about me: mergerPassionate about products solving business problems or providing value
  • #10 Walter and Carlos from ex-adobe (flash engineering team)Pros and cons with going with this approach.
  • #11 We all know games are the hottest selling apps in ths app / marketplaces.
  • #13 Recent hackathon in LA – yielded a number of games in 12 hours non-stop contest.
  • #15 Need sdks to compile android on windowsUse a mac – compile for both iOS and Android.
  • #16 Show app on all three devices.
  • #20 Show more sample code and running samples