Game Development using Corona SDK in 2016 with ASO & Ads
4.6 (85 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
668 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Game Development using Corona SDK in 2016 with ASO & Ads to your Wishlist.

Add to Wishlist

Game Development using Corona SDK in 2016 with ASO & Ads

Dive right into making fun and interactive games for Android and iOS in this Game Development Course.
Best Seller
4.6 (85 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
668 students enrolled
Created by Daniel Williams
Last updated 9/2016
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • 6 Articles
  • 9 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create an Original Mobile Game that will Guarantee Downloads with Corona SDK
  • If you want to start an app business, you'll need to build games that aren't just another Flappy Bird Clone. This course will teach you how to make a game that will make an impact on the app store.
View Curriculum
  • Download and Install the Latest Corona SDK
  • You should have a bit of familiarity with Corona SDK. (Not that much is required!)
  • Although you'll have access to a refresh, a little working knowledge of LUA will help you throughout the course.


Have you ever wanted to learn how to build a mobile game? Then this course is for you! Game Development with Corona SDK will skip past the boring 'Hello World' examples and you'll jump right into making a game that will be sure to make an impact in the app stores.

You'll learn to make a game that pits Ninjas against Pirates in a time classic battle. This game features animated characters, an intuitive playing style, an upgrade system, and in-game currency.

Once the game is built, you'll turn your focus on monetization. Generating revenue from your games is something that's overlooked in other courses and this course will make sure monetization is a main focus point. We'll look at paid options as well as in-app advertising options using Corona SDK.

You'll learn how to:

  • Develop a fun and interactive mobile game
  • Learn the easy way to publish your game on multiple app stores - iTunes, Google Play, Amazon, and more!
  • Explore ways to generate revenue from your games
  • Learn where to find free game art
  • Discover sources for free music
  • Get briefed on ASO - app store optimization

If you've ever wanted to build your own mobile game and you don't want another boring course on variables or loops, then this course is for you. Imagine the possibilities of being able to create your own games for customers around the world!

What You'll Need

This course takes advantage of Corona SDK. Corona SDK is a great platform to quickly bring your ideas to life and you'll need to have a basic understanding of Corona SDK along with the latest public build. This course will walk you through some of the basics and where to download Corona SDK, but your focus will be on topics that are beyond variables and your basic if-then statement.

Who is the target audience?
  • This course is geared towards students who have a little familiarity with Corona SDK and/or students who are looking to jump into building an original game that will make a splash in the app stores.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
53 Lectures
Course Overview
5 Lectures 07:35

In this lecture, you’ll get a sneak preview of the game we’ll be building. Throughout this course, we’ll be using Corona SDK to develop mobile games that we can publish to iTunes, Google Play, Amazon App Store, and more. We’ll learn how to build a defense style game from scratch, take a look at ways to monetize your game, add some polish, and finally publish your game.

Preview 02:46

In this lecture, you'll learn about the requirements for this course.

Preview 01:11

In this lecture, we'll go over the downloadable files for the course. You will need these files to complete the course so please download the template shell for Ninjas vs Pirates located in the resources of this lecture.

Preview 02:16

This document will teach you some of the basics of the LUA programming language for Corona SDK. This document does not teach you everything, but it will give you a quick refresher that of topics such as variables, loops, and even touches on the Composer scene management tool. If you are already familiar with these topics, just mark this lecture as complete and carry on!

A Quick Lua and Corona Refreshment
7 pages

In this lecture, we'll take a quick peek at what the final product will look like.

Taking a Peek at the Final Product
Setting Up Our Game
3 Lectures 14:58

In this lecture we will cover build.settings. Build.settings defines the build-time properties for your app. This file controls app orientation, permissions, icons lists, what plugins to use from Corona and more. We will discuss the settings we will be using for Pirates vs. Ninjas.

* build.settings is available in the download for this course.

Build-time Properties - build.settings

In this lecture, we'll cover config.lua. config.lua controls the runtime properties of your app such as the size, scale option, frames per second and more. We'll go over the options that we are using for Pirates vs. Ninjas.

* config.lua is available in the downloads for this course.

Game Configuration Settings - Config.lua

In this lecture, we will discuss main.lua. main.lua is the starting point of every Corona SDK build application and we'll be setting up some variables, adding some libraries, and setting up the user save file. The loadsave.lua file referenced in the video comes with the course download, but you can view the original file on github.

You can also download the final copy of main.lua in the resources section of this lecture.

Creating the Starting Point - main.lua
Creating the Main Menu
5 Lectures 35:16

You will be learning about Composer, Corona’s official scene management library, and how easy it is to create a scene. The scene we’ll be creating is for the menu of Ninjas vs Pirates.

Setting Up the Menu and Composer - scene_menu.lua

You'll be adding graphics to our menu such as the background, buttons, a ninja, and a pirate.

Adding Graphics to the Menu

Let's add some buttons! You'll be adding a play button, an upgrades button, and a sound on/off button.

Errata: To fix the positioning of the sound button, use the following:

btn_sounds.x = 100;

btn_sounds.y = 140;

Adding Buttons to the Menu

Time to make those buttons work! In this lecture, you'll be creating some functions for the buttons created in the previous lecture to make them respond to the users touch.

Adding Functionality to Buttons

In this short lecture, you'll add some animation to the menu to bring it to life. We'll make the pirate and ninja move onto the screen using

If you would like to compare your scene_menu.lua file to mine (or just update your copy), please download my completed version of scene_menu.lua from this lecture.

Adding Some Animation
Creating a Place For Player Upgrades
5 Lectures 35:07

You'll set up the upgrades scene using the skills you learned in previous lectures. This section will move at a faster pace than section 3 because all of the core skills used in this section have been learned in section 3. If the lectures go to fast, just remember that you can always watch them again whenever and wherever!

Setting up the scene - scene_upgrades.lua

This lecture will continue the setup process of the upgrade scene by adding graphics such as the background and banners.

Adding Graphics to the Upgrades Scene

Buttons! In this lecture, you'll be adding some buttons to the upgrades scene.

Buttons! Adding the Upgrade Buttons

You'll be adding some labels to the buttons in the upgrades scene so the player can know how much an upgrade costs and what their current upgrade rank is.

Adding Labels to our Buttons

This is a long one! In this lecture, we will be wrapping up our upgrades scene by adding functionality to our buttons. You can download the final version of scene_upgrades.lua here.

Making Our Scene Work
Creating the Game
16 Lectures 02:07:11

You'll setup the scene for the game play of Pirates vs. Ninjas.

Setting Up the Scene - scene_game.lua

Pirates vs Ninjas will be using physics for collision detection and you'll add physics in this lecture.

Adding Physics for Collision Detection

You'll be adding information for images sheets during this lecture. Image sheets, also known as sprite sheets, will be used during the animation of our pirate, ninja, and poof.

Setting Up Our Image Sheets

You'll be setting up the forward declares which will make programming the rest of the game easier. You can download a copy of the forward declares in the resources section of this lecture.
Setting Up the Game Variables

You'll be setting up the functions that will be used later on in Ninjas vs Pirates. These functions will be blank for now, because you'll be adding the functionality later.

Adding Functions

You'll be adding a background, 4 lanes, a ninja, and a pause button.

Adding the User Interface

In this lecture, you'll add the player object, a wall to remove pirates, and a text object to display the amount of money the player has.

Adding Our Ninja

You'll be coding your first two functions to allow the player return to the menu and to allow the ninja move between the lanes.

Allowing Our Ninja to Move

You'll be creating the function for our ninja to throw the shuriken. The shuriken will travel from the ninja to the left hand side of the screen. Get to throwing!

Release the Shuriken!

Finally some real action! You'll be creating the function to send pirates towards the ninja.

Arrgh! Send the Pirates!

In part 1 of collision detection, you'll be coding the functions that will respond when the player is hit and when the enemy is hit.

Collision Detection - Part 1

In Part 2, you'll create the function onCollision where the collision detection will occur.

Collision Detection - Part 2

It's time to create the game over function where you will stop the game, remove event listeners and show an interface to allow the player to return to the menu.

It's Game Over!

You'll be adding the functionality for a pause button. Similar to the game over function, you'll be stopping timers, removing event listeners and showing an interface for the pause menu.

Who Needs a Pause Button Anyways?

We need to go back into our pause function to correct a couple of things - pausing all enemy sequences, inserting the enemy into the sceneGroup variable, and allowing our pause button to unpause the game.

Modifying the Pause Button Function

Thank you for watching my course about developing mobile games with Corona SDK. I sincerely appreciate the time that you have devoted to learning Corona and the time that we have shared together. I would love to hear what you thought about the course so feel free to reach out to me! Thank you again for watching!

The next sections cover adding polish, ad networks, and app store optimization.

Wrapping Up Our Scene
Adding Polish to Your App
3 Lectures 04:01

Add some polish to your app by adding in your app icons. You can find all of the app icons for this game in the downloadable resources of this lecture.

In the video, I referenced and

Adding App Icons

Launch Images is another important step in adding polish to your app. Launch images will be displayed while your app starts up and is a great place for branding or just the app name. Download the launch images for this game in the downloadable resources of this lecture.

Launch Images

Download the final version of Pirates vs Ninjas (without ads) here.

Download the Final Version of Pirates vs Ninjas
5 Lectures 21:36

Implementing ads into your app built with Corona SDK is easy. This lecture is an introduction to the section titled monetization.

Your Monetization Options with Corona SDK

Free or Paid? In this lecture, we'll discuss your options about releasing your app as a free or paid application.

Free or Paid? The choice is yours.

You'll find a lot of information about the revmob ad network at This site will also have the downloadable file revmob.lua for Corona. I strongly recommend downloading the latest file from RevMob to make sure your version is up to date. The version I used for this course is 5.5.3.

Implement RevMob Ads

To create an app id, you'll need an account at It's free and easy to setup. Once you you have your app id, drop them into the code that's shown in this video.
Vungle - Short but Sweet Video Ads

In this lecture, we'll be implementing AdMob ads. AdMob is an ad network provided by Google that allows you to display banner or intersitial ads.To sign up for an account, head over to

Using AdMob
Publishing Your App
2 Lectures 01:04
Who Knew Publishing Could Be So Easy?

4 pages
Bonus: Getting Graphics and Sounds for Your Games
2 Lectures 01:11
Free Graphics

Bonus: App Store Optimization
7 Lectures 00:39

An introduction to app store optimization. This lecture is a short one, but it gives you direct answers to what ASO is and what ASO is not.

What is App Store Optimization?
6 pages

We'll go over some of the tools that are currently available to assist you with some aspects of app store optimization.

The Tools of the Trade
13 pages

This lecture will describe the differences between Apple, Google, and Amazon. While the lecture does not cover all factors of ranking for each store, it covers the core concepts to get you started with optimizing for these stores.

Apple vs Google vs Amazon Optimization
13 pages

What's in an app icon? Everything. The app icon is the first graphic people looking in the app store will most likely see. You need to make sure the app icon is unique, beautiful, and stands out from the crowd.

App Icons
14 pages

Screenshots are vital for conversion. Make sure your read through this lecture to get some quick tips on what to do and what not to do with your screenshots.

17 pages

Generating Keywords
16 pages
About the Instructor
Daniel Williams
4.6 Average rating
109 Reviews
727 Students
3 Courses
Game Developer

The instructor for this course, Daniel Williams, has experience with online marketing, web development, and game development. He's a seasoned veteran with Corona SDK and has been developing apps using Corona's platform for quite some time. Daniel has published over 100 apps under his accounts and several more for clients. These apps have ranged from business apps, such as calculators for engineers and cookbooks for healthy eaters, to game apps, such as word games, educational games, and casual games.

In addition to his game development experience, he's had his hands in all aspects of online marketing such as search engine optimization, content strategies, retargeting ad campaigns, and web development.

Daniel has a passion for teaching and has written a book on Corona SDK. The written book covers the basics of Corona SDK and even goes over the basic game mechanics some popular game genres. Daniel also has written several online tutorials for the community and maintains a blog discussing some how-to's for Corona SDK and PHP. He hopes to share his knowledge with anyone that is willing to listen.