I have 8 games created with CoronaSDK, some going back to 2012. I do revisit them from time to time to add features, fix bugs, and update libraries that I used. For the latter, I have used and purchased several libraries, and I have created a few as well. If I feel that there is a market for them, I release them as Plugins on the Corona Marketplace.
Over the years, I have developed and integrated GBC Data Cabinet, GBC Language Cabinet, and GBC Object Pool into my own projects.
- GBC Data Cabinet manages your data. You can create storage “cabinets” to read, write, and save data for later use. This eliminates the need for global variables, and makes management of data between scenes much easier. And… it’s FREE.
- GBC Language Cabinet manages translation within your game or app. You create the text for each language you want to support, and GBC Language Cabinet will handle grabbing the correct text, including the inclusion of any variable data. And… it’s also FREE.
- GBC Object Pool manages your game objects so they can be reused. Instead of creating and destroying objects repeatedly (bullets or enemies, for example), GBC Object Pool creates game objects and manages them throughout the lifetime of your game. Performance using object pooling via this Plugin is noticeable. It’s not free, but it is a reasonable (I think) $5.00 USD.
I have one (well, actually two; more on that later) plugin that I have not released, GBC Text, which is a bitmapped-text manager.
GBC Text – The Highs
GBC Text started out as a replacement for a once-popular, but no longer sold/support text library that I purchased back in the 2012 time frame. I wanted similar features, since Corona’s text library is very basic, so I decided to write a library. The results are demonstrated in this Proof-Of-Concept video.
As of now, the library can do the following:
- Allows you to load and use multiple bit-mapped fonts.
- Displays the fonts in various sizes.
- Left/right/center alignment.
- Sets anchors.
- Flows text.
- Can change text dynamically, without the need to destroy/recreate.
- Allows you to animate text as a whole or as individual letters.
I put a lot of time into engineering and developing this library, especially the last 2 features in the list above, and I feel the results are great. I have begun integrating this into all my current games, and will add additional features as needed.
GBC Text – The Lows
After reading thread after thread on the limitations of Corona’s text system, I felt that a plugin like this, at a reasonable price, would be greatly welcome. I posted a message on the Corona Forums showing the proof-of-concept and asked for feedback. I was surprised that there were close to 200 views, but only 2 replies. A bit discouraging, no doubt.
Reason for Not Releasing
This is eerily similar to my experience releasing GBC Object Pool… there was a lot of talk about performance in creating/destroying objects repeatably, and I wanted to develop a method to manage objects easily within Corona. I spent a great deal of time on the library to enhance performance, remove bugs, document, and prepare for Marketplace. The development and engineering, as well as ongoing support, requires time, effort, and money, so I decided to release it for five bucks. Sales in the two years since release are dismal (maybe this plugin is a solution to a problem that does not exist), and I do not want to go through this again with another plugin.
I had high hopes for GBC Text, but based on the lack of responses in the forums, and on Twitter, I am no longer sure if people would pay for an enhanced text library, so for now, this library will remain an internal library for my own use.
“Free” you say? “Open Source” you say? Maybe at some point, but not now.
Oh, My Second Unreleased Plugin?
I also developed another library I have been using for years. It is sort of a game center library to manage the iOS Game Center, Google Play, and Amazon GameCircle (when it was active) plugins. I also spent a lot of time on this library, since Apple and Google enhance their SDKs quite a bit, and each platform has their quirks on how they handle leaderboards and trophies. I also want to add PC and Mac support at some point. I am not sure about releasing this plugin either, since this library requires a lot of maintenance when Game Center and/or Google Play changes something on their end.