Sign in to follow this  
  • entries
  • comments
  • views

About this blog

Announcements, stories and industry interest posts for users of Corona, the 2D game engine from Corona Labs.

Entries in this blog


Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics.


In this thread, our original poster was looking for various ways to animate a checkmark. Our enterprising developers chimed in with several ways to create checkmarks on the fly.


Long-time Corona developer Graham Ransom, mastermind behind Glitch Games and their amazing adventures, has created a new code library for you. Many of you have used his various “GG” libraries over the years, so check out this new awesomeness!

In-game currency

“Where do you get started?” was what the original poster asked. Check out the advice in this thread about some considerations when implementing an in-game economy.

Do you have a particular forum thread that was helpful for you? Let us know about it! Email, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.

View the full article


Now that iOS 11 has been officially released, there are several things you must do to prepare iOS apps for submission to Apple. Also, the upcoming iPhone X creates some unique challenges when creating a user interface, so we’ve added some useful new APIs to help you adjust your UI.


Starting with iOS 11, Apple now requires that you include an Icon-1024.png file in your app package. However, current Corona-built apps cannot find that file correctly using the CFBundleIconFiles table. Thus, to make this work today and going forward, you must switch from using static icons to using the modern Images.xcassets package.

Starting with daily build 2017.3144, you can easily implement the Images.xcassets method — simply consult our Managing Xcode Assets guide for instructions.

Safe areas

The iPhone X creates a unique challenge for app developers. Between rounded corners and the sensor housing protruding into the screen, developers need a way to know where they can safely place critical UI elements so that they are fully visible and accessible to users. Toward this end, Apple has provided this helpful guide outlining what you need to do.


In short, you need to fill the entire screen, including areas outside the “safe area” (the darker region bounded with the red line in the illustration). Also note that the iPhone X has an extra-tall aspect ratio of 2.165:1 — surpassing even the 2:1 aspect ratio of the Samsung S8 — so for a Corona content area size of 320×480, you will need to fill a total area of 360×693 for the iPhone X screen and iPad screens.

Even more importantly, your app should not place important UI elements like buttons, scores, navigation elements, etc. outside of the “safe area” on the screen. In truth, the “safe area” is not a new concept with the iPhone X — for instance, TVs have overscan areas and some mobile devices utilize status bars and soft button rows where you shouldn’t be placing UI elements.

To address this, starting with daily build 2017.3135, we added several new properties and a new function which you can use to determine the safe zone on the screen. These additions to the display library include:

Please click through to the documentation for examples on how to use these.


In addition to the above features, we are preparing a new iPhone X skin for the Corona Simulator, to be released soon. In the meantime, you can start preparing your apps for the iPhone X, test them in the Xcode Simulator, and submit them to Apple using the iOS 11 SDK.

View the full article


Many Corona developers head into their first project all alone. While working with a team can help in several ways, it’s simply not an option for many aspiring developers. In this digest, we highlight a few articles on the concept of “going it alone” as a solo game developer. Hopefully, these tips and suggestions can help make your game a success!


Climbing an impossible mountain: the struggles of making a game alone

In this post by Ed Key, he talks about many of the issues that face solo developers like managing choices, combatting loneliness, and staying motivated. As the article progresses, he continues on to topics like fear of failure, anxiety, and self-doubt.

Mayhem above – The do’s and don’ts of a solo dev

As a game developer, there are several things you should consider doing, and some which you should avoid. In this post by Eder Beldad, he covers topics like planning vs. lack of planning, scheduling your day, and limiting the scope of your project to something manageable.

Top 10 tips for solo indie game developers

In this post, discover ten tips that can help solo developers achieve success. These include topics from “keeping it simple” to “building up a fan base.”

View the full article


If you haven’t peeked into the Corona Marketplace recently, it now offers dozens of plugins and assets, from art packs to audio tracks to useful utility plugins. Periodically, we will highlight a few exciting products which can help you develop your dream app using Corona.

Coronium Core

2017-09-12-15-00-21-logo.pngCoronium returns in full force with Coronium Core, the ultimate cloud sidekick for your Corona apps and games. Check out this all-in-one Lua application plugin/server built specifically for Corona developers!

Like Button

2017-09-11_19-39-36_-_Like_Button-300x17The Like Button plugin from Corona maestro Scott Harrison allows you to easily display the Facebook “like” button on iOS and Android. Check it out!

Casual Game Music Pack 2

2017-09-08-15-02-24-CGM2_DVD_BIG-300x263Casual Game Music Pack 2 includes all of the essential music, jingles, stingers, and sound effects to kickstart your game!

View the full article


Code Adventures: Coding Puzzles For Kids by Daniel Ivanov is a great educational game where children can solve brain-challenging puzzles to learn basic programming techniques. The goal is to help Aurora, a cute little fuzzball that is lost, find a way to get home.

The game consists of 30 levels, some with single goals, others with multiple, that will require children to use logic and creative skills to complete. It also includes plenty of hints to keep players from becoming stuck.


Code Adventures: Coding Puzzles For Kids has been featured in over 150 countries in the Educational and Puzzle Games category and it made it to the feature banner on the home page in Russia. It’s available on the Apple App Store, Google Play, and Amazon Appstore for $3.99.

App-Store-Icon_200x200_badge.png google-play-badge.png amazon-icon-badge-large-200.png

View the full article


Since our last public release (2017.3068) in April, our engineers have been very busy updating Corona, continuing to provide a world-class 2D development framework. This engineering cycle has focused a lot on stability and adapting to new business models, but we’ve managed to add in some pretty cool things too!

Corona Enterprise is now free

Starting with build 2017.3100, Corona Enterprise became free. We re-branded it as Corona Native and it’s now included in the unified Corona application. With this public release, Corona Native is now available to everyone.

Windows Simulator updates

We have also focused on improving the user interface for Windows users. Now you can stop builds in progress by simply clicking the “Stop” button. The build process also has a visual indicator of its progression. Finally, we have reduced the Java dependencies, although you will still need the 32-bit Java JDK installed.

Google IAP Plugin

This plugin was updated to make its initialization asynchronous. Prior to this, Corona would “block” while waiting for the initialization to complete. Because of this update, if your app currently makes calls to APIs like store.loadProducts() or store.restore() within main.lua, these calls will likely execute before the plugin has finished initializing, causing them to fail. Since this change affects builds 2017.3105 and later, if you’re updating from the previous public build, this change will affect you and you should read this post for steps on updating your code.

Facebook V4 Plugin

The Facebook V4 plugin had the same issue with initialization blocking which increased “App Not Responding” (ANR) errors on Android devices. Because updating the existing plugin would have caused a significant breaking change, we created a new plugin, plugin.facebook.v4a, so you can migrate at your convenience. For more details, see this post.

Changes to native text field input types

We added "decimal" keyboard type support for native.newTextField() on all platforms (previously it was only available on iOS). We also added a "no-emoji" keyboard type that prevents users from entering emojis, although it may still be possible for users to “paste” in emojis on some platforms.

Physics time scale APIs

Two new APIs were added to the physics library, allowing you to set/get the time scale of the physics simulation — see physics.setTimeScale() and physics.getTimeScale().

Apple in-app purchases

The Apple IAP store.* APIs now work on macOS and tvOS, in addition to iOS. Also, the iOS 11 requirement that apps support store-initiated purchases has been added.

Font metrics

We have added new APIs to help you compute the baseline and other metrics for fonts, allowing more control of vertical alignment for text objects in relation to other graphical elements or text objects of different fonts/sizes.


  • AppLovin — Previously, AppLovin was only available as a revenue-share plugin. While this is optimal for developers with smaller revenue streams from ads, those with higher income prefer a fixed fee. As such, AppLovin is now available as two plugins: free (with revenue-share) and paid ($199/year). Now, as your income profile changes, you can use the best plugin as needed.
  • Facebook Audience Network — Similar to how we made both a paid and revenue-share version of AppLovin, the F.A.N. plugin is now available in both paid and revenue-share versions.
  • BatteryState — This new plugin allows you to either get battery events or query the battery system to determine how much charge the battery has, if it’s charging, unplugged, etc.
  • NanoSVG — You can now import some SVG graphics as Corona bitmap textures using this plugin.
  • Collision Filters — This plugin is designed to circumvent the math and complication of creating physics body collision filters using categoryBits and maskBits, letting you assign user-friendly names to “categories” of objects in your physics simulation without worrying about internal binary values and sums which are liable to change as you adjust game behavior.


View the full article


Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics.

Engage impulse engines

Corona allows you many different ways to move things, but if you’re using physics you can give objects a push or an “impulse.” In this post, the original poster wanted to know how to add random impulses to objects to get them moving.

Great balls of fire!

In this thread, a developer wanted to know the best way to make fireballs bounce up and down with a natural gravity-like effect. Corona super-developer @roaminggamer comes to the rescue with ways to use linear damping to control the bounce better.

File dialogs

If you’re building desktop apps, you probably need to implement things like file pickers or other OS-type dialog boxes. Corona veteran @starcrunch recently provided the Tiny Dialog plugin and this post is a shout-out from a thankful fan!

Do you have a particular forum thread that was helpful for you? Let us know about it! Email, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.

View the full article


Entries for the #CoronaDefoldJam are starting to show up! Today we preview one #MadeWithCorona candidate that’s still in development but looks amazing so far, Heavy Vertical.

The theme of the jam is “Running out of power” and, in this case, Corona developer Santi is translating the theme literally. In Heavy Vertical, you have to land your cargo before running out of power!


#CoronaDefoldJam runs until October 1, 2017 and it’s not too late to enter. See the original announcement for more details. If you have an entry in progress, please set up your page and let us know about it in the community section of the game jam. Maybe we’ll feature your entry here!

View the full article


If you haven’t peeked into the Corona Marketplace recently, it now offers dozens of plugins and assets, from art packs to audio tracks to useful utility plugins. Periodically, we will highlight a few exciting products which can help you develop your dream app using Corona.

Mobile Game Audio

2017-08-17-14-20-24-ESM_Mobile_Game_BASEThe Mobile Game audio pack includes 578 game-ready audio assets, inspired by popular best-selling mobile games, giving you sounds that you can quickly implement inside any game to give it a familiar “hit app” feel.

S3 Lite

2017-08-31-14-03-25-logo.pngThe S3 Lite plugin lets you add secure file transfers to your Corona applications and games using Amazon S3 (Amazon Simple Storage Service). Amazon S3 makes it simple and practical to collect, store, and analyze data — regardless of format — all at massive scale.

Torch Bot 2D Character Sprites

2017-08-25-10-01-35-logo-277x300.jpgTorch Bot is a 2D animated character designed for runner games, side-scrollers, arcade games, and more! 13 stunning animations at HD size with animations as transparent .PNG exports, as well as .PSD and Spine files for editing.

View the full article


An area where #MadeWithCorona apps shine are educational apps. Frequently, when talking about educational apps, we think of apps for school-aged children, but there are other types of educational apps as well. Today, we explore The Ukulele App by Jon Howard.

Since launching the app on December 16, 2016, The Ukulele App has had over 710,000 downloads. Jon developed the app to help ukulele players learn the instrument and practice their skills. He also contacted the largest ukulele tutorial channel on YouTube and branded the app to the channel.


Using a combination of Corona widgets and animation features alongside web views for playing videos, Jon created a consistent look and feel across iOS, Android, and Kindle Fire versions. He also used math formulas to calculate all of the various chords and scales to make the collection complete.

The Ukulele App is available for free with in-app purchases on the Apple App Store, Google Play, and Amazon.

App-Store-Icon_200x200_badge.png google-play-badge.png amazon-icon-badge-large-200.png

View the full article


Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics.

Optimizing your graphics

Most Corona developers are happy with the performance of our engine and never give a thought to what’s going on under the hood, but there are some who are pushing really complex ideas through the graphics pipeline. In this post, discover how to optimize your art to be as efficient as possible.

Functions vs. coroutines

In this post, a developer wanted to understand the difference between functions and coroutines. Our wonderful developer community responded with a great description.

Group coordinates

Corona display groups have their own coordinate space when compared to the overall screen. This thread covers how to convert between these with ease.

Do you have a particular forum thread that was helpful for you? Let us know about it! Email, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.

View the full article


Color — or even a lack of color — impacts every game ever created. Color is one of the primary emotional cues a designer can use to set the mood of a game and thus the player. In fact, understanding how to use color properly could be the difference between a hit app or one that gets almost no downloads.

In this roundup, let’s look at several resources which discuss the topic of color in game design.

Screen shot from BotHeads

Screenshots from BotHeads.

Screen shot from Limbo

Screenshot from Limbo.

1. The Most Important Color In UI Design

In this post by Nick Babich, a software developer with a passion for UI/UX design, he discusses why the color blue is so popular in UI design and why it’s used in many mobile apps. From emotional reasons to technical reasons, he outlines several reasons why you should use blue.

2. Color in games: An in-depth look at one of game design’s most useful tools

In this article from Gamasutra, Herman Tulleken and Jonathan Bailey take a deep dive into the purpose color serves in games. Not only do they show how games use color to brand themselves, they get into discussions about the emotion of color and how it’s used as signifiers and identifiers. This article will certainly make you think about color and its impact!

3. Picking a Color Palette for Your Game’s Artwork

In this article, Tyler Seitz discusses color palettes and how to create them, along with some basic color theory that every game developer should understand.

View the full article


facebook-an-150x150.pngOur current Facebook Audience Network (F.A.N.) monetization plugin was originally created as a “revenue-share” plugin where a small percentage (5%) of your Facebook Audience Network ads are credited to a Corona Labs account.

Now, just like we did with AppLovin earlier this year, we offer the Facebook Audience Network in two forms:

  • The original revenue-share version where 5% of the delivered ads are attributed to Corona Labs.
  • A new paid version of the plugin without any revenue-share component. You keep 100% of your ad revenue and you manage your account directly.

The new paid Facebook Audience Network plugin is available in the Corona Marketplace for $199/year.

To use the paid version:

  1. Visit the Corona Marketplace and purchase the Facebook Audience Network Paid plugin.
  2. In your build.settings file, change the plugin entry from "plugin.fbAudienceNetwork" to "plugin.fbAudienceNetwork.paid".
  3. Update any require() statements in your code:
    local fbAudienceNetwork = require( "plugin.fbAudienceNetwork.paid" )

Please visit our integration documentation for instructions on how to get up and running with Facebook Audience Network.

View the full article


If you haven’t peeked into the Corona Marketplace recently, it now offers dozens of plugins and assets, from art packs to audio tracks to useful utility plugins. Periodically, we will highlight a few exciting products which can help you develop your dream app using Corona.

Builder Game Audio

2017-08-07-15-14-39-ESM_Builder_Game_-_FBuilder Game includes 625+ fun, cartoon adventure sound effects that your audience/users will love and recognize. This pack is complete with bubbly items and collects, cute UI effects, cartoon creatures, doors opening, closing sounds in many styles like treasure chests, apothecary cabinets, wooden doors, and so much more!


2017-08-02_09-12-41_-_fortumo-300x170.jpThe Fortumo plugin enables developers to charge for premium features and sell virtual credits inside their Android applications. Fortumo supports one-click mobile payments in 98+ countries.

Sci-Fi Sounds and Weapons

2017-08-07-15-47-39-sci-fi_1920x1080-300Sci-Fi Sounds and Weapons contains 287 sci-fi sound effects, including ambiences, general sounds, and weapons. Also contains an additional 645 bonus sound effects covering guns, 8-bit sci-fi, and general sounds.

View the full article


Corona’s engineers have added two new APIs for getting information about fonts, with the intent of helping you better align text in your apps. We’ve also added a new plugin that you might want to take advantage of.

Font metrics APIs

Starting with daily build 2017.3121, there is a new API call, graphics.getFontMetrics(), which returns a table that contains values like the height of the font, font leading, and the ascent/descent values for the font. Ascent is the amount of recommended space above the baseline for single-spaced text, while descent is the suggested space below the baseline for single-spaced text. Leading is the recommended additional space between lines of text.

In addition, all TextObject objects (those created via display.newText()) have a new read-only property called baselineOffset which lets you adjust the position of the object so that you can easily align it with other objects, including graphics or other text objects that may be constructed with different fonts or font sizes.

Consider this output:


By using the baselineOffset property, you can easily align the baseline of each text object with the bottom of the gem for a more appealing display!

Battery State plugin

We also introduced a new plugin that lets you get the current state of the device’s battery. It offers an event-based update callback where you receive an event when the battery state changes (charging, unplugged, etc.). You can also call the batteryState.getState() function to get a one-time status on the device’s battery.

To use this plugin, visit the Corona Marketplace, activate the plugin, and then follow the integration documentation to add it to your project.

View the full article


3fSJxA-150x150.pngWe want to remind you that we’re hosting a game jam with 10,000 installs as the main prize, along with a bunch of other cool stuff! If you’re working on a new game in Corona, this is a great way to get additional promotion (and a bit of motivation, of course).

Also, we are planning on featuring some of your games during this jam. If you have already registered to take part, please go ahead and set up your page, publish an alpha/beta “prototype” of what you’re working on, and let us know about it! You can do so by posting your page to either the #gamejams channel in the Corona Developer Network on Slack (click here to join), or reply directly to this forum thread.

We look forward to seeing your creations! The jam runs until October 1, 2017, so there is still time to join the fun!

View the full article


Similar to the recent updates we made to the Google IAP plugin to help combat “App Not Responding” (ANR) reports in the Google Play console, we have released an updated Facebook v4a plugin to reduce the incidence of ANR errors. Here’s what you need to know…

Why a new updated plugin?

The last revision of the Facebook plugin begins initialization when you first require() it, and it does not return to the calling module until initialization is complete. On Android devices, this may appear (to Google) that the application isn’t responding, thus generating an ANR report.

To solve this, we have made the new Facebook v4a plugin asynchronous. The new process involves starting the initialization when you require the plugin, plus a new facebook.init() API to register a listener to be called when the initialization process completes.

Using the new plugin

To use the new plugin version, you need to do four things:

  1. Change your build.settings code to use the new plugin. Simply change "plugin.facebook.v4" to "plugin.facebook.v4a".
  2. Change any Lua file that requires the plugin to use the new plugin. Simply change require("plugin.facebook.v4") to require("plugin.facebook.v4a").
  3. Make sure you’re using Corona version 2017.3068 or later (2017.3068 is the most recent public release at the time of this writing).
  4. Following the first time you require() the plugin, likely within main.lua, add a call to facebook.init().

New initialization API

Since the new Facebook v4a plugin is asynchronous, you need to know when initialization is actually complete. Calling the new facebook.init() API gives you a chance to define a specific function which will be called when initialization completes. Once that function receives the "fbinit" event, you can safely call other Facebook API calls like facebook.publishInstall() or facebook.login() (although you should probably defer asking the player to log in until a point in your game which makes sense).

The listener function referenced in facebook.init() will also be used for other Facebook API calls to handle "fbconnect" events. Because of this, you only need to call facebook.setFBConnectListener() if you wish to use a different function to process your "fbconnect" events. See the integration documentation for more information and examples.


While this update only truly affects Android builds, you should follow similar behavior for iOS builds to maximize cross-platform compatibility. ANRs can be a silent error that you may never know about, so we strongly encourage you to update to the Facebook v4a plugin, especially if you have an active Android user base.

View the full article


Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics.

Filter those hashes

Currently on Android, if you want to do numeric entry with a decimal place, you have to select the “phone” keyboard, but you may not want all of the phone’s extra characters just to get the ability to type in floating point numbers. In this thread, learn how to filter out those extra characters with a nifty little string.* library function.

Nights of the Round Table

Corona community developer superstar @develephant is back, ramping up his Coronium project. Learn more about his adventures and how you can help shape the next version of this Lua-based online tool.

Adapting displays

In this post, the new 2:1 aspect ratio of the Samsung Galaxy S8 was creating display issues for a Corona developer. Learn how he adapted to these changes and worked out various resolution problems.

Do you have a particular forum thread that was helpful for you? Let us know about it! Email, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.

View the full article


Apple logoToday, Apple sent out notices to iOS developers that, starting with the release of iOS 11 next month, only 64-bit apps will be supported. Several people are curious as to what this means for apps made with Corona.

The good news

Corona has been fully 64-bit since build 2015.2543 which was released on January 21, 2015. If your Corona-made app was built and uploaded to Apple after that point, you will likely be fine — all builds with current versions of Corona are good to go.

The bad news

Apps built with versions of Corona prior to January 21, 2015 will likely need to be updated if you want them to run on iOS 11. Apple will probably not offer them for sale/download to iOS 11 devices and, if the app is already installed on a device, Apple will likely hide it.

To determine if your app will run on iOS 11, assuming it’s installed on an Apple device today, you can open of the device’s Settings app, go to GeneralAbout Applications. This will display all apps on your device that will not run on iOS 11. If you see your app(s) in the list, you will need to take steps to update them. You can also check your apps in iTunes to see when they were last updated.

Updating to modern standards

Apps from the pre-2015 era are going to run into a various array of problems with modern versions of Corona such as dependency on Graphics 1.0 functions or legacy libraries like Storyboard.

In many cases, your older apps may not be getting enough downloads to warrant updating, but if they are still being downloaded, this might be a good time to refresh them and get them up-to-date.


You will have to make your own decisions if it’s worth the time and effort to update older apps to maintain iOS 11 compatibility. If Apple follows previous patterns, the iOS 11 Gold Master will drop in mid-September, giving you roughly a month to make any updates.

View the full article


headphones-sound-audio-logo-300x300.pngWhen it comes to making a game, whether it be for mobile, desktop, or console, we know how important art is, but for many people (in particular those with a limited budget), audio tends to take a back seat and many developers turn to the Internet to hunt for free sounds.

Here are a few tips for making your game audio better:

Audio types

Games typically need several different types of audio, including:

Sound effects — These are the most familiar: a “ding” when you pick up a coin or a “boom” when something explodes. These tend to be small, short sounds.

Background music — These larger tracks set the mood for your game and they can build up excitement or provide a calming emotion for the game. These are among the most essential audio assets in any game.

UI effects — Quality sounds for your UI (user interface) frequently get overlooked, but adding a subtle “click” sound to a button press can provide just enough feedback to the user that it’s working.

Voice-overs — These are generally sounds that augment the visuals, for instance a voice reading out “eleven o’clock” to help a child tell time in an educational game.

Ambience — These are frequently forgotten, but they can include the sound of traffic in a city scene or song birds in a forest scene. Ambient sounds can be played randomly or whenever it makes sense.

Look for consistency

If you get your sounds from multiple audio sources (or sites), you may end up with a mix of sounds that don’t really fit well together. Your coin sound may be louder than your jump sound, or your menu background music may be heavy on guitar while your game soundtrack is filled with piano notes. This might make your beautiful art and exquisite game design look amateur.

What’s the solution? One is to look for audio from the same artist. Generally speaking, audio artists tend to use similar volume levels and produce sound files in the same quality. That being said, it’s usually fine to get your sound effects from a different source than your music, as these can be integrated more harmoniously.

Understand licensing

As you rummage around the Internet looking for audio, you will find all kinds of different licensing requirements. Many free audio tracks (and some paid) have some form of attribution requirement. This means that you need to give credit to the sound artist. Depending on the artist, they may require that you mention their name/studio on your website or even directly within the game.

Packs vs. individual sounds

The two challenges above can often be addressed by getting sound “packs” instead of individual sounds. If you get all of your audio from one pack, it will typically be of consistent quality and have the same licensing requirements. Since the files will tend to exist in a folder, it also makes it easy to drop a small text file in that folder to keep track of the license requirements, if you intend to use the audio in multiple games over time.

Finding good packs

While Internet search queries can find a lot of good sounds, you can save time by visiting various marketplaces for game engines like Corona. For instance, you can visit sources like the Corona Marketplace where you will find dozens of audio packs to satisfy virtually any game you imagine.

Sound effects will generally work well regardless of the game engine — artists will usually pack together similar concept sounds, so if you need sounds for a sci-fi game, you can likely find a sci-fi-specific sound pack.

If you’re not seeking a specific “genre” of audio, consider packs like the Mega Game Music Collection, the Ultimate Game Music Collection, or the 8,000+ sound effects in the Pro Sound Collection.


Having good sounds that are consistent in feel, quality, and volume will help take your game to the next level. Fortunately, there are plenty of great audio packs that can last you a lifetime of app development!

View the full article


If you haven’t peeked into the Corona Marketplace recently, it now offers dozens of plugins and assets, from art packs to audio tracks to useful utility plugins. Periodically, we will highlight a few exciting products which can help you develop your dream app using Corona.

Mailgun Sender

2017-07-31-03-19-28-logo.pngAre you building an app which may benefit from more comprehensive email functionality, including tracking, test sending, and more? The Mailgun Sender plugin enables you to send up to 10,000 free emails per month from your Corona applications!

Android Share

2017-07-27_13-46-49_-_Android_Share-300xPlugin wizard Scott Harrison continues his momentum with the Android Share plugin, a convenient utility plugin which allows you to share files with other Android apps.

Magic and Spell Sounds

2017-07-28-10-49-45-magic_700x400-300x17Magic and Spell Sounds is a professionally-designed sound library covering many types of magic and spells, from shining in the light to bringing darkness. This collection includes 422 magic and spell sounds, plus 260 bonus sounds from the Pro Sound Collection.

View the full article


Our engineers have updated the Zip plugin to provide standard Zip 2.0 password protection. Simply include the password as a key-value pair in your options table for zip.compress() or zip.uncompress(). When compressing, the zip file will be encrypted with that password, and existing password-encrypted zip files can be uncompressed in the same way. Note that WinZip’s AES encryption is not supported at this time.

See our implementation documentation for more information on how to populate your zip.compress() and zip.uncompress() API calls.

View the full article


BotHeads is somewhat an unrelated follow-up to Hanger World from A Small Game, an independent game studio in Stockholm, Sweden. Imagined by Richard Åström and Christian Östman, BotHeads was designed to be a simpler, easier-to-play game than its older sibling while still capitalizing on the experience of Hanger World.

BotHeads is an atmospheric arcade adventure game with a lot of style, but it can be best described as “an amazing dream where Sonic The Hedgehog™, transformed into a flying robot, is trapped in badlands filled with weird monsters and cats with laser eyes,” according to Östman.

In BotHeads, you must guide your robot through the world, picking up objects, avoiding traps and the laser-eyed cats. You can even bounce off “plungers” for super-speed movement. Your previous paths help show you the way though this hand-crafted physics-heavy world. So far, only around 600 players have completed the game to learn what really happens at the end of the story.


BotHeads has been featured worldwide by Apple. It’s available for free from the Apple App Store and Google Play with an in-app purchase to remove advertising.

App-Store-Icon_200x200_badge.png google-play-badge.png

View the full article


Today we present several articles on game design topics which can help you build better, more compelling games!

Make your game difficult but not punishing

In this article, Ricardo Valério from discusses various factors in what makes a game challenging yet not punishing. The article starts by helping you understand what “difficulty” is, what motivates players, and how to build in the right mix of skill and achievement.

7 effective tips to create an engaging game level design

Keeping your players engaged is one of the challenging aspects of game design. In this article, Daniel Stallion covers different techniques for making your games more entertaining.

Should you play bad games?

There are benefits from playing bad games — it’s a great way to learn what doesn’t work! In this article, Andrii Goncharuk, game designer for Ubisoft, talks about why you should spend at least some time playing bad games.

View the full article


Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics.

Look up in the sky…

It’s Coronium SkyTable! We welcome awesome community contributor Develephant back to the forums and he comes back with a bang, releasing not one but two new plugins to satisfy your online cravings. It didn’t take long for the community to start dreaming up ideas to use these new tools — in this post, learn how Coronium SkyTable might be a great way to push configurations out to client apps.

Manipulating tiles

No doubt platformers and overhead games benefit from tilesets. There are some great tools and libraries for working with a tileset, but how do you manipulate a tileset you already have that needs some work? This thread provides ideas and offers a free tool which can help with your graphics needs.

Making your game loop smaller

Corona’s concept of a “game loop” is an event that triggers every frame. Having an efficient “enterFrame” function is a healthy thing. In this thread, see how one developer ended up with a more optimized game loop.

Do you have a particular forum thread that was helpful for you? Let us know about it! Email, put FTF: and the forum title in the subject, and include the URL in the email. We will consider adding it to an upcoming edition of From the Forum.

View the full article

Sign in to follow this