CoronaRob

Members
  • Content count

    51
  • Joined

  • Last visited

Community Reputation

111 Neutral

About CoronaRob

  • Rank
    Member
  1. From the Forum – Issue #165

    Welcome to this week’s From the Forum. In this post, we highlight a few Corona Community Forums posts that cover important topics. Checkmarks 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. Puggle 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 support@coronalabs.com, 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
  2. 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. Icons 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: display.getSafeAreaInsets() display.safeScreenOriginX display.safeScreenOriginY display.safeActualContentWidth display.safeActualContentHeight Please click through to the documentation for examples on how to use these. Conclusion 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
  3. Game Development: Going Solo

    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
  4. 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 Coronium 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 The 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 Casual Game Music Pack 2 includes all of the essential music, jingles, stingers, and sound effects to kickstart your game! View the full article
  5. Featured Game – Code Adventures

    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. View the full article
  6. 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
  7. From the Forum – Issue #164

    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 support@coronalabs.com, 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
  8. 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 itch.io 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
  9. 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 The 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 The 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 Torch 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
  10. Featured App: The Ukulele App

    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. View the full article
  11. From the Forum – Issue #163

    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 support@coronalabs.com, 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
  12. 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. Screenshots from BotHeads. 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
  13. Our 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: Visit the Corona Marketplace and purchase the Facebook Audience Network Paid plugin. In your build.settings file, change the plugin entry from "plugin.fbAudienceNetwork" to "plugin.fbAudienceNetwork.paid". 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
  14. 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 Builder 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! Fortumo The 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 Sci-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
  15. 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