Advertisement Jump to content
  • Advertisement
  • entries
    137
  • comments
    8
  • views
    5044

About this blog

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

Entries in this blog

 

Zip plugin update: password protection

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

CoronaRob

CoronaRob

 

Working smarter when building games

In this post, we explore a three-part blog series from Sara Casen, the co-founder at Midnight Hub, a five-person development team in Sweden. While many Corona developers are solo or small two-person shops, many others are working with even larger teams, but regardless of being solo or part of a team working smarter is always a good thing. While all of this might not apply to your situation, it’s certainly worth thinking about. Lake Ridden is a story-driven first person mystery filled with puzzles, developed by former Minecraft and Paradox devs, in Sweden. Part 1 – Avoid Brain Damage From Working With Games According to Casen, the average career span of a game developer in Norwegian countries is about four years after which they are burned out. Long work-weeks, stress, unrealistic deadlines and other pressures create more problems that have to be solved. In this series she addresses how working more manageable hours lead to more productive hours. Part 2 – Making Your Game With The ABC-Recipe In this part of the series, Casen talks about the ABC method for building your game up which has the net effect of defining deliverables in a more productive way. This is a unique way to look at managing your project from development to deliverable. Part 3 – Burning Money, Brain Power and Morale To Make Your Game In the final part of this three-part series, Casen discusses resource management and how to manage more than time and money to get your team to their maximum efficiency without burning through all of your resources regardless of it being financial or human. There is a lot of good information in these three posts that will be really helpful for any studio, building games or any other software product.  
View the full article

CoronaRob

CoronaRob

 

Welcome to the new Corona!

We have some very big news — Corona is completely free! Starting today, when you download Corona from our daily builds page, you will get a combined package that includes the standard Simulator-based product and the native-based product (formerly Corona Enterprise). And naturally, the next public release of Corona will also be a similar combined product. Windows: Corona-2017.3100.msi
macOS: Corona-2017.3100.dmg One product: Corona Since Corona is a unified product now, we will no longer refer to “Corona SDK” and “Corona Enterprise” as distinct items. Instead, we will simply refer to our product as Corona. In cases when we need to clarify a specific aspect of the Corona toolset, we will refer to Simulator builds or native builds. Native builds include the Corona splash screen We’ve made Corona Native free, but in exchange for this huge savings for you, giving us a little marketing seems like fair compensation. You can, of course, purchase the Splash Screen Control plugin to remove or customize the default splash screen. To ease in the transition, users who previously paid for Corona Enterprise will receive a 1-year license for the Splash Screen Control plugin. We have a brand new website A new combined Corona product deserves a brand-new website, don’t you think? The new website is built on modern web practices and should perform well across all devices. We have also done a lot of housekeeping on old content too. Most of our content should still be around, but you may come across a bookmark or find something through a web search that was intentionally left behind. We now offer new support plans Many people can build successful games simply using our fantastic guides, tutorials, and documentation, or turn to our community forums or public Slack channel when they need help from the community. Sometimes, however, you may need more help, so we’re offering some great support plans that will get you access to unique Corona Labs support features like private channels in Slack, prioritized feature requests, and more. What is the Corona Slack channel? We offer a public Slack channel that’s open to everyone, but Slack doesn’t allow automatic signup. If you want to join, please email joinslack@coronalabs.com and we will send you an invitation. If you subscribe to one of our new support plans, you will also be invited to private channels where you’ll get closer access to the Corona Labs team. You have questions? We have answers! Q. What does “completely free” mean? A. There are no limits. The previous income restrictions are gone, so feel free to earn as much money as you can. If you want to build and maintain your own plugins, you’re now free to do so. Of course, most developers don’t want to re-invent the wheel, so we will continue to offer and maintain a wide array of world-class monetization, analytics, and attribution plugins, conveniently available to help you make the most from your apps. Q. How does Corona Labs make money under the free model? A. First and foremost, we want to emphasize the value in using our current ready-to-go monetization plugins. Between paid advertising plugins, revenue-share-based plugins, and free monetization plugins where we have a partnership with the provider, we encourage you to build apps that use advertising as a component of your income strategy. The more successful your app is, the more successful we will be. The Corona Marketplace is also an area we want to see grow. We encourage you to begin there and browse for any art/audio assets you may need, as well as game templates which can be used to kick-start your own projects. We also want to encourage our developers to become content providers for the marketplace! If you have a game template that others can use as a framework — even if it’s a simple one — please submit it and create a new income stream for yourself as a Marketplace provider. Another exciting development is that we are ramping up our publishing support. We are now working in cooperation with large, experienced publishers to make sure you have the best success possible. With our publishing services, you’ll gain access to pre-release services, cross-promotion, user acquisition, in-game analytics, App Store Optimization (ASO), and more. Q. I just purchased Enterprise last week. Can I get a refund? A. We recognize that many people may have purchased Corona Enterprise yesterday, last month, or six months ago. Unfortunately, we can’t issue refunds, but to compensate for these changes, existing Enterprise customers will get a 1-year license for the Splash Screen Control plugin. In addition, existing Corona Enterprise “Small Business” subscribers will receive one year of our Priority support subscription, while Enterprise “Unlimited” subscribers will receive one year of our Priority Plus support. Where can we discuss further? We want to hear from you! Please visit our community forums and use our announcement thread to ask us questions about these exciting changes and more.
View the full article

CoronaRob

CoronaRob

 

Welcome to the new Corona Marketplace

Today, Corona Labs is pleased to announce that our new Marketplace is online and ready for use. Since opening our original Marketplace in 2016, hundreds of plugins and assets have been submitted to the store and is powering many Corona made apps. In addition to an all new look, the new marketplace supports a new submission form, giving you more control over your promotional images and information. This will help speed up submission approvals. This will also help us promote your products better through featuring and social sharing. If you haven’t looked at the Marketplace recently, please drop by https://marketplace.coronalabs.com and give the new site a look!
View the full article

CoronaRob

CoronaRob

 

Welcome to public release 2017.3135

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. Plugins 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.   Get the latest Corona
View the full article

CoronaRob

CoronaRob

 

Using plugins with native Android builds

When making Simulator builds, Corona magically binds plugins to your app for you. However on Native builds, this process is not automatic. Much like we did for Xcode builds, we have come up with a way to help you get your Android based plugins into your Android Studio project. Unlike Xcode, where you run a Download Plugins scheme and we do all the work for you, we offer a command line script that will read your build.settings file and download the plugins to a common folder. From there, it’s your responsibility to integrate them into your Android Studio project. Each Android plugin may have additional settings and configuration that you need to complete before you can use it. The script is located at android/download_plugins.sh as part of the App template you start new projects with. To download plugins for an existing project, copy the download_plugin.sh to your android folder and run it from that folder. Hopefully this will help you with your native Android based Corona projects.
View the full article

CoronaRob

CoronaRob

 

Using plugins in Corona Native projects (iOS)

With the new unified Corona (Corona + Corona Native), some developers have asked how to include plugins in Corona Native projects. The process outlined here is for iOS only, but we plan to post similar instructions for Android Studio soon. IMPORTANT: The process outlined herein requires daily build 2017.3103 or later. Essentially, to use plugins with Corona Native builds through Xcode, you must include them in build.settings just like you would for Corona Simulator builds, for example: settings = { plugins = { ["plugin.openssl"] = { publisherId = "com.coronalabs" }, }, } From here, you must run a process which contacts the Corona Marketplace and confirms that you have an active license for the plugin(s). If confirmed, Corona will install the library files and link them to your project. Procedure To perform the process described above, simply follow these steps: Open your project in Xcode. In the Xcode tool bar, click on the active scheme button and select Download Plugins:
Click on the Run button to download the plugin(s):
In the Xcode tool bar, click on the active scheme button and select your main app. Now you can build your app with any plugin in the Corona Marketplace. Note that you’ll need to download the plugin(s) each time you add or change plugin settings/inclusions within build.settings. REMINDER: Unless you need access to specific native libraries, offline builds. or you are building native-based plugins, you can (and should) build and ship apps using the Corona Simulator and Corona Lua APIs. Essentially, while some specific tasks may require Corona Native, they should only be implemented by developers who have previous experience with native functionality.
View the full article

CoronaRob

CoronaRob

 

Updated Vungle plugin (v5.1) with new features

Vungle, a Corona Labs video ad partner, has released a new plugin which integrates version 5.1 of their SDK. This updated plugin also brings some new features that you may find desirable, including: Vungle now supports multiple ad placements. Instead of a single video asset type, you can now use multiple placements with either video or rewarded video types. Dynamic Templates let you give more users even more ad templates. Native Ads, or Vungle’s Flex-View technology, lets you add immersive video ad banners into your app’s user experience (you will need to contact your Vungle account manager to enable this feature). To use the new version of Vungle, edit your build.settings and replace… ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle" }, …with this: ["plugin.vungle"] = { publisherId = "com.vungle" } You will also need to use daily build 2017.3103 or later to access the new plugin. For more details, see the Vungle 5.1 documentation.
View the full article

CoronaRob

CoronaRob

 

Update on the new GPGS v2 plugin

Corona Labs would like to update you about our recent plugin for Google Play Games Services. This plugin is known as GPGS v2 and there is a breaking change to be aware of. We’ve worked hard to make it call compatible with the older GPGS v1 plugin, however Google has changed their initialization and login process significantly. We had to make a change that you will need to adapt to so that you can successfully login and know if your app is connected. Simply remove any calls to the gpgs.init() API and instead call gpgs.login() directly: gpgs.login( { userInitiated=true, listener=gpgsLoginListener } ) Where gpgsLoginListener is the name of your function to handle a successful login. If you have questions about the plugin, please joins us in our community forums.
View the full article

CoronaRob

CoronaRob

 

Understanding Content Scaling in Corona

Content scaling can be a mystery even for some seasoned developers. Let’s try to demystify it. First, forget pixels. You are going to create a virtual content area that is measured in values that make sense for you to use. Your content area could be 1 x 1 if you want. Of course to position something on the screen you would need to use fractional values, which is probably pretty inconvenient. You could match your content area to some device standards like a width of 1080 and a height of 1920. This would provide a 1 to 1 mapping to the typical HDTV screen or computer monitor which also happens to be a common device resolution for many modern phones. This is all defined in the config.lua file. config.lua is always written assuming a portrait orientation That is, your width should always be the smaller value and the height the larger value that you specify, even if your game/app is going to run in landscape mode. Aspect ratios You shouldn’t care about pixels. Corona converts your “content area points” to pixels for you. You only need to care about what number of points you want to work with. However, aspect ratio matters. If you set your width and height to both be 1000, then you have a 1:1 aspect ratio, the width and height are the same. If you set your width to 1000 and height to 1500 then you have a 1:1.5 aspect ratio. There are many standard aspect ratios that are common among displays: 1:1.5 – Common to the iPhone 3 and 4 family, cameras produce 4×6 photos (which is 2:3 or 1:1.5), some laptop screens are 1:1.5 as well. 3:4 – Common to Standard def TV and computer monitors such as 1024×768, the Apple iPad and several Android tablets. This is also 1:1.33. 16:9 – This is the HDTV standard or 720p (1280×720) or 1080p (1920×1080). This is very common to many modern phones too. This works out to 1:1.777778 if you want to measure it based on a 1 point scale. Which aspect ratio should you use? Corona Labs recommends that you use the 2:3 or 1:1.5 aspect ratio. While this is common on older phones, using 16:9 may make more sense, however if you want to build apps that work both on more square iPads/tablets as well as more rectangular 16:9 or more extreme devices, the 1:1.5 aspect ratio fits nicely on all devices. Of course this means that you’re going to have extra screen space to use that is outside of your defined content area. It’s important to point out there is no “perfect” or “right” way to define the content area. You need to use what works for you and it may vary from app to app. This is recommended because it fits on all screens. In the graphic below, green is your defined content area in config.lua (based on a 1:1.5 aspect ratio). Blue is the typical 16:9 device, pink is the typical iPad/tablet. Does width and height matter? You should use what works best for you. But you will see that many Corona-produced samples seem to be stuck on an archaic 320 width and 480 height setting. This has not been a pixel match to any device since the iPhone 3 which makes it very old indeed. However, Apple still measures everything in points and they are using a 320 point base system. Android devices are based off of a 160dpi system so a 2″ widescreen, common to phones would be 320 as well. Finally Corona’s widget library is based on a 320 point system and many of the widgets are not designed to work with arbitrary sizes, so we continue to use 320×480. You should use what’s right for you, but 320×480 is a pretty good standard to base your app on. Aligning the content area By default, Corona will center your content area on the screen for you. This is the common use case for most games. You can use the xAlign and yAlign properties to change the default. For instance, if you’re making a portrait business app, it might make more sense for the very left, top spot on the screen be 0, 0 and you fill content down the page. These apps don’t do a lot of centering and having left, top be 0, 0 and right, bottom be display.actualContentWidth, display.actualContentHeight makes that simple. Games come in two basic configurations: Objects have to be the same distance apart regardless of the screen. Think about Angry Birds. The distance from the sling shot to the structure has to be the same on every device for the gameplay to be consistent. Space to the left of the sling shot or to the right of the structure is just filler. In this scenario having a centered content area makes sense. Objects should fill the screen and spacing isn’t critical. Think of a card game. The stacks of cards look best when they are spread out to fill the screen. In this case, you may want to left-align the content area and use display.actualContentWidth to determine how to balance your card stacks out. Corona’s display attributes There are several important values you can get in your Corona app based on your settings in config.lua: display.contentWidth = the value you set for “width” in config.lua display.contentHeight = the value you set for “height” in config.lua display.actualContentHeight = a computed value based on your width/height but adjusted for your screen’s aspect ratio. For instance if your portrait app has a height of 480, but you’re on a 16:9 device, display.actualContentHeight would be 568 (16/9 * 320) display.actualContentWidth = a computed value based on your width/height but adjusted for the screen’s aspect ratio. For instance an iPad would return 360 for a portrait app (3 / 4 * 480) display.screenOriginX, display.screenOriginY = for a centered content area and a bigger screen, some of the extra area will be to the left or to the top of the content area. These values provide you that offset These values are important for positioning their objects around the edges of your screen or to fill your screen. Consider this image: Given this config.lua: application = { content = { width = 320, height = 480, scale = "letterbox", fps = 60, }, } You are creating a centered content area (the green block). The blue area would be the typical 16:9 phone such as an iPhone 5 family. We will discuss the yellow block in a little bit. 0, 0 is the left, top corner of your defined content area. Your right, bottom corner is display.contentWidth, display.contentHeight. Both of these are exactly what you specified in config.lua. Corona will fill the screen either vertically or horizontally depending on the aspect ratio of the device. For phones, the 320 will fill the narrow width of the device. For tablets, the 480 will fill the device. The other value is computed based on the actual device. These values then become display.actualContentWidth and display.actualContentHeight. Corona also automatically adjusts these values based on your device’s orientation. The config.lua is always written for portrait, so on a portrait app, 320 width will be 320 (or 360 for iPads). If you rotate the device, the narrow edge of the phone is now the height instead of the width. Corona adjusts these attributes to match the orientation automatically. Back to the graphic above, you will notice that there are blue areas on the left and right of the display. That’s because the content area is 480 points, but the actual screen is 568 points, an 88 point difference. Since the area is centered, that means there are 44 points left of 0, 0 and 44 points of screen to the right of your defined height. Corona makes getting the left edge in this case very easy. The display.screenOriginX will in this case be -44 and display.screenOriginY will be 0. Flip the device to portrait and display.screenOriginY would be -44 and display.screenOriginX would be 0. If you want to position a button in the left, top of the display 25 points from the edge, you could do: button.x = 25 + display.screenOriginX button.y = 25 + display.screenOriginY Getting to the right side in this example is a little bit tricker. While display.actualContentWidth will return 568, which is the actual width of the content area, with the content area being centered, it will be 44 pixels too far to the right. To position a button at the right, bottom, you still have to use the display.screenOrigin* values: button.x = display.actualContentWidth - 25 + display.screenOriginX button.y = display.actualContentHeight - 25 + display.screenOriginY For your game critical items that need to be at predictable distances for each other, keep them inside the 0, 0 and display.contentWidth, display.contentHeight area and it will work on all devices. Then you can fill the background to fill the full screen and edge position scores, lives, User Interface (UI) buttons and such so they also fill the screen. iPhone X weirdness Apple introduced some features with the iPhone X that makes laying out your app a bit of a challenge. Corona has some alternate versions of display.screenOriginX, display.screenOriginY, display.actualContentWidth, display.actualContentHeight that takes these changes into account. If you plan on supporting the iPhone X, you should use display.safeScreenOriginX, display.safeScreenOriginY, display.safeActualContentWidth, and display.safeActualContentHeight for positioning UI elements into the safe zone. But you should still use the non-safe versions for filling the background. Filling the background Consider this game’s UI: This simple interface has a health indicator, lives indicator, score indicator and some other buttons along the bottom edge. The red ship is inside the config.lua's defined content area. When making your background, you want to try and use graphics that can extend beyond the screen edges. Then for the UI elements, don’t build them into the background, but have them be their own graphics so they can be edge positioned to fill the visible screen. Then you can draw your hearts, bars and score values inside those graphics. Before Samsung came out with the S8 and S9 and Apple the iPhone X, the most extreme screen was the 16:9 screens and the iPads (in the other direction). This made it a very easy formula for filling the background. Based on a 320×480 content area, you would want your backgrounds to be 360×570 for portrait or 570×360 for landscape. Center it on the screen and you would have no black “letterbox” bars to contend with. The S8 and S8 are a 1:2 aspect ratio which means your backgrounds need to be 640×360 to fully fill the screen. Then Apple went even more extreme with the iPhone X and its 19.5:9 aspect ratio (a 1:2.1666667 screen). You will need a 694 pixel wide image to fill the background on this device. Hopefully this will help you understand the config.lua a little better and propel you to success in your next #madewithcorona app!
View the full article

CoronaRob

CoronaRob

 

Tomorrow is GDPR day. Are you ready?

Tomorrow, May 25th, the European Union’s General Data Protection Regulation (GDPR) becomes legally enforceable. Basically, for app users in the EU, you have to allow them to choose if you can collect private data on them. While you might not personally be collecting information, the services you are using may. Prior to daily build 2018.3286, Corona has collected users’ IP addresses, the iOS ID for Vendors, and the Android equivalent. Starting with 2018.3286 and later, the data we collect does not contain any personally identifiable data. Regardless, you need to either update your apps to ask for permission to collect data (if you need to use an older version of Corona) or build with a newer version since we don’t collect data that you need to get permission for. Our friends at Appodeal have produced another great Q&A on how they are handling GDPR and things you need to do to meet the requirements. It’s worth looking over these questions and answers to help you understand what you need to do.
View the full article

CoronaRob

CoronaRob

 

There’s BIG open source news on our 9th birthday

Ten years ago, two guys got together with a goal to change the mobile development world. A year later, Corona SDK was born. My, how time has flown! Since those first days, we’ve frequently seen developers reach the #1 spot in various app stores. We’ve seen apps that have received millions of downloads, and app developers who have made a full time career out of mobile app development. But for many, it’s also a challenging time. The mobile app market has become over saturated. There has been a race-to-the-bottom in app pricing. New challenges extend up the development toolchain and impact the quality of top app engines. In this evolving industry landscape and these emerging challenges, change is good and necessary. With that in mind, we would like to introduce a big change for Corona. We have decided to get you — the developer community — more involved in Corona’s development, and open-source most of the engine. There are features you want, updates you need, and it’s simply time to get you more involved in Corona’s future. Corona Labs will continue to support the engine and going open source means more transparency to the process. We are certain you will have a lot of questions about how this will work, and as we have more to share, we will be continuously sharing new details with you. Also, feel free to discuss this in our community forums and in the CDN Slack. We’d like to assure you that our goal is to increase transparency by enabling access to the source, and allowing each and every one of you to add your unique contributions to Corona’s future. Any media questions should be directed to the Corona Labs Developer Relations team at devrel@coronalabs.com.
View the full article

CoronaRob

CoronaRob

 

The struggle of retention with casual games

One of the struggles with building simple “casual” free-to-play (F2P) games is how to keep the player engaged and playing for the long term. Having a lot of initial downloads is great, but you need the app users to keep playing your game so they engage with your advertising and take advantage of your in-app purchases. In this blog post by Josh Bycer, he discusses the problems with short game-play loop games and how late game play turns into a painful grind to keep income coming in and how more complex games address additional content. Factoring these issues into your game design can go a long way to helping you build more sustainable games. Click here to read: How Free to Play Design Runs out of Steam
View the full article

CoronaRob

CoronaRob

 

The Corona 2D game engine is going open source in 2019

After more than nine years of developing and evolving the Corona game engine, Corona Labs is releasing its technology to open source. It’s a move we’ve been planning for a few years now, with the goal of making the engine development process more transparent, and to empower the community to directly impact future growth and potential. As part of a series of steps on a longer evolution journey, entrusting Corona to the community is the surest way to quickly respond to market shifts and changes, ensuring Corona stays relevant and valuable to all mobile app developers. “The transition of Corona to the open source model of development has been our long-term vision since Corona Labs was acquired by Appodeal in 2017. We believe that this move will bring transparency to the development process, and will allow users to contribute features or bug fixes to make the project better for everyone,” said Vlad Sherban, product manager for Corona Labs. The open source model will bring more visibility and flexibility to the development process by allowing visibility into exactly what the engine team is working on and where the project is going, and by contributing valuable new features that will help spearhead Corona to the next level. Additional benefits for businesses include the potential to acquire a commercial license for source code and customize the engine for specific commercial projects. “Corona Labs will continue to have a dedicated team and infrastructure to support our flourishing plugin ecosystem and infrastructure, as well as to keep up to date with the ever-changing requirements and updates coming from applications stores. Powered by the new open source model and supported by the development of new features and bug fixes will make Corona more community driven — but not without our help and guidance. Ultimately, going open source will provide confidence in the future of the engine and an opportunity to grow community involvement in engine development,” said Vlad Sherban, product manager for Corona Labs. Details Most parts of Corona’s code will be open sourced except for some plugins, the Corona Marketplace, www.coronalabs.com, and the build infrastructure. This is not a final or exhaustive list as the team may open source even more as we move forward. More about Corona open source can be found on the FAQ page. Licenses Corona will be dual-licensed under both commercial and open source licenses. The open source license is the GNU GPLv3 license, and commercial license will be available upon agreement with Corona Labs. You can download the Corona source code under the GPLv3 license and build your games and apps, however, those games have to be distributed under the GPLv3 license, i.e you have to make your source available. Games and apps based on the open source distribution of Corona have to be distributed using the same license (GPLv3). You can download the Corona source code, negotiate a commercial license agreement with Corona Labs, and build a version of Corona that has a custom feature. You can then distribute your games and apps without opening your own source. About Corona Corona is a free, cross-platform framework ideal for creating 2D games and apps for mobile devices, desktop systems, TV platforms and the web. It is driven by the easy-to-learn Lua language, over 1,000 built-in APIs and plugins, and Corona Native extensions (C/C++/Obj-C/Java). The Corona engine has been updated with HTML5 and Linux (alpha-version) building during 2018 and celebrated our 9th anniversary from the date of the first release. You can find the full source code on GitHub. Contacts:
devrel@coronlabs.com
View the full article

CoronaRob

CoronaRob

 

The Business of Apps: June 2017

Making games and apps can be fun, but what’s more fun is when other people play your games or use your apps. In many cases, you build it, publish it to the various app stores, and then watch those installs… not pile up. Equally important as your artwork, your clever design, or your awesome coding, marketing apps is an area where many developers  lack the skills to do it properly. In this month’s issue of The Business of Apps, let’s look at a few resources that can help you understand how to get your game or app seen and rocketing up the charts! How to Research Your Next Game’s Target Audience for Free In this recent post, Justin Carroll from Launch Your Indie Game discusses how to determine your target audience, research the demographics, and see what your competition is doing to get users on board. He points you to several free tools to analyze these aspects. 5 Cost-Effective Ways to Market Indie Game Apps Once you know your target audience, you need to actually market to them! Naman Kapur, product marketing head at ShepHertz, covers five important ways in which you can effectively market your game. How to Make Effective Official Game Websites Really Fast Once you start marketing your site, people need to learn about your game, where they can buy/download it, or see a trailer. We go back to Justin Carroll in a post on gamedev.net where he discusses building an effective website for your game. These tips are all great ways to help you succeed. Learn them, use them, and get your games and apps known to the world!
View the full article

CoronaRob

CoronaRob

 

The 10 secrets to indie game success

We all want to make successful apps, but how do we get there? There are many different ideas of how to reach success and many different ways to get there, but it’s a challenging path. Think about Fortnite’s “Battle Royale” format. You start with 100 players and at the end only one person has climbed to the top and can claim “Victory Royale”.  Now imagine that but on a much grander scale. Your indie title is competing against thousands of other indie titles and of course the “pro” AAA titles that come out as well.  Luck will sometimes favor you to the top. Hard work will sometimes propel you and other times it’s perseverance. There are plenty of things for you to think about. Paul Taylor, the Joint Managing Director of Mode 7 Games, an indie studio based in Oxford, UK provides ten things for you to think about as you start building your next Indie title. Read over this blog post which just might be the key to your next hit. Click here to read: The 10 Secrets to Indie Game Success
View the full article

CoronaRob

CoronaRob

 

Students using Corona are BAFTA finalists

The British Academy of Film and Television Arts (BAFTA) has announced the finalists of this year’s Young Game Designer competition: http://ygd.bafta.org/winners-nominees/2018 Three students taught by Corona developer Ian Masters entered their Corona-made apps and all three were selected as Top-10 finalists in the 10-14 year old “Game Making” category. There were around 3,500 submissions. A fourth student was selected as a Top-10 finalist in the 10-14 “Game Concept” category. Ian Masters, an indie developer and the creator of QuizTix (an acclaimed series of quiz games made in Corona), teaches these students part-time using Corona. Masters said “Lua is such a great learning language for kids, and thanks to powerful development tools like Corona they can use it to make releasable cross-platform games”. Check them out: “T-rex Need Eat: Type Real Weird Words” for Windows by Maximilian Robinson, age 13 “Paddle Boat Panda” for Android, by Alex Robinson, age 11 “Bee Simulator” for Windows by Ariyan Hormoz, age 11 Note: “T-rex Need Eat: Type Real Weird Words” is also available for MacOS and HTML5 from itch.io at: https://whisked.itch.io/trex
View the full article

CoronaRob

CoronaRob

 

Steamworks plugin is now open-source

Corona Labs is pleased to announce that the Steamworks plugin is now open-source. The Steamworks plugin is used by PC and macOS games published to Valve’s Steam service that allows support for leaderboards, achievements, user profile data, and microtransaction support. Now you can download the repository for the plugin and add your own features and extensions to it. You will have to have a Steam developer account to be able to test the plugin. Follow Steamworks documentation (available on Steam’s developer portal) to learn how to enable Steamworks debugging and development for your game. You can get the plugin source at our GitHub repository. You can learn more about the Steamworks plugin in our previous announcement.
View the full article

CoronaRob

CoronaRob

 

Splash Screen Control issues update

It seems that when it rains, it pours. As has been reported in the forums, the Splash Screen Control plugin has stopped working for some Corona developers. Fortunately, as of this post, we believe we’ve solved it. The problem originated around two different issues. For Corona Native users, a change to a background API was being applied incorrectly. This was resolved last Friday and we had Native builds back up-and-running quickly. For Corona Simulator users, we addressed an issue with the cache busting after your plugin expired and you renewed, but that caused a database issue involving multiple records. We have been working diligently to solve this matter and you should now be able to resume builds using the Splash Screen Control plugin.
View the full article

CoronaRob

CoronaRob

 

Social media assets guide

Image by Milky – Digital Innovation, from The Noun Project [CC BY 3.0 us], via Wikimedia Commons Every app and game developer needs an online presence if they expect to have success. Aside from a website, social media is a huge area for helping market your app. Getting started is simple enough, create a Twitter account, create a Facebook page and other sites as well. One daunting challenge is artwork. Each social media site has their own requirements. It can take hours to figure out just what you need in addition to creating the work. But never fear, Laura Bularca has created a guide to the art assets needed for a social media presence. Click on over to her website for her handy list of sites and what you need to set up that presence.    
View the full article

CoronaRob

CoronaRob

 

Recent virus reports

Some of our Microsoft Windows customers who run a couple of virus/malware checking software have noticed that our installer was testing positive for a Other:Malware-gen [Trj] alert. Avast and AVG were flagging this. ESET and Fortinet reported a PUP or “potentially unwanted program” for a web-bar they detected. The other 51 virus tools reporting to virustotal.com gave Corona a clean bill of health. What was the cause of these? Corona’s installer included a file named dma.dll. This file was part of the DeskMetrics library, an analytics service we used to help collect crash reports. The dma.dll file is actually harmless, but to remove any doubt, we have removed this file from our Windows installer. This change goes live with daily build 2018.3226. If you’re concerned about the presence of this file in our installer, please update to 2018.3226 or later.
View the full article

CoronaRob

CoronaRob

 

Programming Guide For Video-Gamers

There are some great resources available on the Internet for just about everything. Making computer games is no exception. Sometimes we come across a great resource that we think you might benefit from. The site IT Hare offers up their Programming Guide For Video-Gamers. This guide contains links/bookmarks to many other resources for game making, broken into development topics and career topics. Thanks to Sarah A. from San Diego, CA, an aspiring game developer, for finding this resource for us. It’s a great example of the community helping each other. If you come across great resources that would benefit our community just drop an email to support AT coronalabs.com.
View the full article

CoronaRob

CoronaRob

 

PayPal is back!

PayPal is back. Marketplace vendors can once again request payouts via PayPal. Also for those purchasing the plugins that are part of the Corona Professional Bundle, including the Splash Screen Control plugin, you can request to pay via PayPal by emailing info@coronalabs.com.  
View the full article

CoronaRob

CoronaRob

 

New third-party “Getting Started with Corona” tutorial

Corona developers Ryan Gainor and Zach Philip with PerceptTech have created a free course on developing Corona-based apps. The course is delivered via email with daily lessons sent to your inbox. You will learn Corona basics, from installation to displaying objects on the screen to implementing physics. You’ll even learn cool tips for animation and audio. To get signed up for the course, visit https://percepttech.co/ and give it a go!
View the full article

CoronaRob

CoronaRob

 

New Google Play Games Services plugin

Corona Labs is pleased to announce the immediate availability of a new, updated Google Play Games Services plugin. This plugin in a complete rewrite of the version one of the plugin using the latest GPGS core libraries and dependencies. One of the key reasons for the GPGS v2 plugin, besides staying with modern underlying SDK’s is support for preventing Google rejections for using invalid login scopes. The previous version of the underlying GPGS SDK contained Google Plus login scope which has been deprecated. The new version has this removed. The GPGS v2 plugin should be a drop in replacement for the GPGS v1 plugin. First, visit the Marketplace and activate the plugin, then simply update your build.settings to include the plugin using: settings = { plugins = { ["plugin.gpgs.v2"] = { publisherId = "com.coronalabs", supportedPlatforms = { ["android"] = true, } } } } And where you require the plugin in your lua code: local gpgs = require( "plugin.gpgs.v2" ) This is a completely new version of the plugin and you should fully test your app against the code. If you have questions about the new plugin, please check out our documentation. Join us in the community forums to discuss this new plugin.
View the full article

CoronaRob

CoronaRob

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!