Showing all entries for: January 2011
Biffy and I attended the Mobile Startup Camp in Silicon Valley this weekend, but we came a day early to meet the Ansca Mobile team, which is something we’ve wanted to do ever since I’ve been using the Corona SDK.
We got to meet Carlos Icaza and most of the Ansca team and they were all very sharp individuals. We couldn’t have asked to be around a better people. It feels good knowing we’ve been supporting a product that also happens to be made by a truly awesome group of people.
The weekend event ran by Semantic Seed was focused on developers who are interested in launching a startup and getting the attention of venture capital investors, so our purpose for going wasn’t the same as everyone else there. We went solely for the experience of attending a developer’s event (since we never have), to see how things work in Silicon Valley, and to hopefully challenge ourselves in the process.
And that we did! The goal was to build a working app over the weekend, and thanks to Corona, we were able to get a fairly complex, GPS-based multiplayer risk-style game completed before the deadline! It wasn’t anywhere near production quality, and had a fair amount of bugs that needed to be resolved (it even produced a pretty ugly error in the simulator during the presentation, ouch!) but I have to say it was probably the most ambitious (and different) app that I personally observed at the event.
None of it was my idea. The whole thing came from our head team member, Peter Dassenko, who had created a 15-page design document on the game before the event (he plans on turning into a real deal one of these days). The team also included Arvind Ravikumar, me and Biffy (who did some amazing game graphics for the project), and Hetal Bhatt from Ansca who wasn’t officially on the team, but it felt like he was (he even contributed some pretty ingenious on-the-fly sound effects and music).
So special thanks to Carlos and Hetal for hanging around with us throughout the whole event!
Our app didn’t end up winning any of the awards, because the whole event was about coming up with something viable (through the eyes of investors) for a startup and before I go on, I’ll share something I learned about a lot of the folks at the event (and a lot of people in their shoes in Silicon Valley I presume).
It seems that the mindset there is that you need to come up with a product (app in this case) that has the sole purpose of “appearing” as though it could possibly generate revenue to sort of win the heart of an investor. Like as if that’s the only path… Or at least the expected one.
Nowhere in the presentations did I see a product or idea that anyone could be passionate about or really enjoy pursuing in the real world, which are two elements that I personally think are among the most important.
After discovering all that, I didn’t expect our app to win because it also seems that although they are in the heart of Silicon Valley, they haven’t caught on to the possibility that mobile games can be an outstanding business model in today’s atmosphere… And they also seem to think that coupon apps are more likely to generate revenue (that was a little weird).
So I can’t say I share the opinion or agree with a lot of the common startup “routes” that folks down there feel like they have to take in order to be successful, but hey, I only have a wife, two daughters, and do this for a living so what do I know?
It was a great experience though, and we really enjoyed ourselves and got to connect with some really cool people. I can’t wait to see what the future has in store!
Cavern Drake 1.5.0 Update Now Available. This update addresses many bug fixes, provides two more FREE characters, makes a couple of the premium items available for free, and best of all, makes gameplay more fun by switching to 100% tilt-based movement, unlimited firing (as fast as you can tap!), and more.
So if you already have Cavern Drake, please update immediately! Otherwise, you can download it for free from the App Store →
P.S. Please leave a rating/review when you get a moment!
Anyone Can Make an App. Interesting enough, Biffy found this article and it talks about both me and her! It’s about how the Corona SDK makes it easier to develop mobile applications. Oh, and that photo… that’s Biffy painting!
Tilt Monster on freeAppCalendar.com. Shortly after the first Corona-made version of the game was released, this game (formerly titled Doodle Dash) was featured on FreeGameofTheDay.com and climbed to #25 in the App Store.
Now, after extensive updates (that was version 1.2, this is version 2.0.1), Tilt Monster is now being featured on freeAppCalendar.com… let’s see how far it climbs this time :-)
Special thanks to Ken Carpenter, founder of freeAppCalendar, for allowing Tilt Monster to be featured on his awesome site.
Tilt Monster is Now Free. Formerly known as Doodle Dash!, the last time we set this game free, it rose to #25 in the App Store charts, let’s see how it does this time :-)
This isn’t a temporary thing. Tilt Monster is now FREE… Tell all your friends!
BeebeGames Class 1.8 Released. After releasing Cavern Drake, I was disappointed (and embarrassed) to find out just how many people were experiencing crashes.
Not too long after the game went live, coincidentally, user samlotti posted a reply at the Code Exchange pointing out a major memory leak issue with the destroy() function of my BeebeGames Class (which Cavern Drake uses). After some searching, I found the same issue with the timers as well.
Thankfully, the fix was easy and as a result, Cavern Drake is a lot more stable (I just submitted a 1.0.1 update today) and there is a new version of the BeebeGames class for you to download!
If you have a previous version, this is ESSENTIAL… and don’t worry, it won’t break any of your code. I try to structure all of these updates so that any existing code that calls for the BeebeGames class doesn’t get broken. Just replace the beebegames.lua file with the new one and you’re good to go!
Here is a summary of the changes/fixes:
Fixed major memory leak issues in regards to the destroy() function for objects and cancel() for timers. Also, randomTable functions have been deprecated because after extensive testing, localizing math.random actually works A LOT faster than using pregenerated random tables.
And as a side note, I’m so glad I decided to open-source the class and share with other developers (or I might have never found this issue!). Special thanks to samlotti for the great catch!
Bubble Ball Surpasses Angry Birds. Robert Nay, a 14-year old Corona Developer, created and released a free game titled Bubble Ball and as of yesterday, surpassed Angry Birds as the #1 Free Game.
Whether or not it holds that position is irrelevant. The fact that a kid, a one-man development team, had an idea, followed through with it to turn it into a reality in the App Store is amazing enough… but to surpass the App Store giant-that-is-Angry-Birds is just out of this world.
Congratulations Robert on a job well done.
Revisited might be a little misleading, considering the fact that I’ve been using the Corona SDK just about non-stop since I started using it back in July (2010), but I’m going to “revisit” it by writing about just how my experience has gone since I published my first review of Corona mid-September.
So if you haven’t read my first review, I highly suggest you go back and read that first, because this review assumes you read the previous. Do I still agree with everything I said in my last review? In short, yes. But here’s the long version…
Why Two Reviews?
For two main reasons:
Corona was in beta during my last review, now it’s not.
Corona is subscription-based software, subject to change over time.
Another reason for writing this review is because my last review is the most read article on this blog, and I still get emails regularly from people who “just read the review” and decided to purchase Corona.
The problem is, that last review is quickly becoming outdated, so I’d feel more comfortable if people based their decision on the information they receive from THIS article, not the older, outdated one.
So, What’s New?
I’ll start things off by listing (off the top of my head) the things that have changed since the last time I reviewed the Corona SDK:
I’ve now been using Corona for six months (like I said, pretty much non-stop), as opposed to two.
I now have 4 games (all Corona-made) live in the app store now, with an additional one currently “Waiting for Review” (see: Cavern Drake), as opposed to two.
I created two full-featured, open-source sample apps for Ansca Mobile (see: Ghosts vs. Monsters and Martian Control)
Corona Standard and Game Edition have been merged into one product.
Corona is now out of beta.
There is no longer a 30 day limit on the trial version. You can use the trial version for as long as you want, full-featured. The only limitation is that you cannot build for App Store distribution, but you can build to test on your device.
In my previous review, I mentioned that Corona needs to have more native user interface (ui) elements included. More has been added, but A LOT more is coming soon, very soon.
I mentioned the need for in-app purchases. I was granted access to download the latest development build, and I can confirm that in-app purchases are not only present, but are EASY to implement and working great. So if you were to get Corona today … EDIT: In app purchases are now live :-)
A plethora of new features have been included since my last review, a few of the highlights include OpenAL powered audio, MapView API, Analytics by Flurry, improved Sprite API, integrated Facebook API, and
A Few More Quick Points
My previous review focused on the benefits of using Corona mostly from a rapid app development standpoint. “If you want to develop apps fast, without sacrificing performance, then Corona is a great choi… rephrase… the BEST choice.” was the main message.
I was looking for a way to produce apps quickly, with a reasonably low learning curve, without having to sacrificing performance and Corona provided exactly that, so the review focused on others who were in my same boat.
This time, I’ll try to address everyone and anyone who Corona might appeal to. But first, let’s conclude two things right off the bat:
There is no ulterior motive for me to support Ansca or the Corona SDK, other than the fact that it is an amazing product and I choose to support it.
The fact that I’m still using Corona after six months of continuous, regular, almost-overwhelming-amounts of use speaks volumes for Corona all by itself. In fact, if you read my review that was published in September and notice that I’m still using Corona to publish apps now… then you know Corona is a great product.
So, you already know that Corona is for me. I’ve harped on that. You get the message. I know. But is Corona for YOU?
If you are deciding whether or not you should use Corona, I can give you plenty of reasons why you should, and also why you shouldn’t, depending on who you are. So I’ll go over the different categories you might fall under, and let you know if you should or shouldn’t use Corona to create your next mobile app.
Group 1: Experienced Programmers
If you’re an Objective-C developer, or have experience in other languages such as C, C++, Java, etc. and are wondering whether or not you should use Corona, you fall into Group #1.
You should use Corona:
If you want to stop focusing on the technical aspects of programming your app, and want to focus on just the logic (if you like programming, this is also known as “the fun part”).
If you want to develop apps exponentially faster than you currently can, without taking a hit on performance.
If you want to take advantage of an engine created by industry leaders. Carlos Icaza and Walter Luh, the co-founders who have not only worked for top tech companies such as Adobe, Apple, Macromedia (the list goes on), but also have years upon years of engineering experience in the mobile software industry. The rest of the Ansca staff also have impressive engineering backgrounds as well. Of course, you’d only want to use this engine IF you don’t think you can create a better engine than they can to power your games and apps.
If you want to publish apps for both iOS and Android without having to use a separate language, or even a separate project! With Corona, you write once, and deploy for whichever platform you want (albeit with a few minor tweaks).
On the other end of the spectrum, you shouldn’t use Corona if the app you’ll be programming requires a feature not currently supported by Corona (although, that that gap is quickly narrowing… unless you want to do 3D games). I honestly can’t think of another reason why you’d want to continue using Objective-C, C++, or Java for your iOS/Android app unless you hate programming using high-level scripting languages (Corona uses Lua).
Group 2: Experienced Scripters
You fall into this category if you’re currently an ActionScript programmer, or even a web developer who wants to create apps that are of the same caliber as folks from Group 1, but aren’t sure if you’re ready to dive into the complicated programming that Objective-C and company presents.
In that case, you should use Corona:
If you want to create high performance apps without straying too far from what you’re used to (Lua is a scripting language that’s very similar to ActionScript, but has a friendlier syntax IMO).
If you want to do it in a fraction of the time as you ever could if you DID learn Objective-C.
If you’re a Flash developer and want to port your existing software onto iOS and Android devices (without having to use the notoriously slow Adobe Flash packager).
If you belong to Group 2, I can’t think of a reason why you shouldn’t use Corona for your next mobile app. If you’re an experienced scripter, then you’re already used to high-level languages and you’ll likely pick up Lua within a couple of hours (probably less), and you’ll be able to create native apps using your existing skills.
Group 3: GUI-based Developers
You fall under this group if you’re used to GUI software tools that require little-to-no programming experience, and are comfortable working with drag-and-drop features to create software or apps (such as GameSalad or GameMaker).
Folks in this group should use Corona:
If your current development environment has limitations that are getting to you (whether it is lack of features or performance) , and you want to use something that’s a lot more powerful at the expense of moving away from your GUI-based environment.
If you are ready to get started programming and want to begin with a high-level, easy-to-learn language such as Lua to create native, high performance mobile apps.
You’re not fully happy with what you’re using, but you think Objective-C is overwhelming, and are still a little nervous about learning Lua but are thinking about it.
I’ve come across a lot of folks in the latter situation, and I say go for it, 100%. If you’re nervous about learning a programming language and are insecure about moving away from your GUI based environment, set aside some time to download Corona and take advantage of their unlimited free trial.
Go through their online
resources and training, and give it your best shot! You have nothing to lose.
If you’re in this group, there are a couple reasons why you might not want to use Corona for your next app:
If the lack of a GUI-environment, particularly drag-and-drop, is a deal-breaker for you, and absolutely cannot live without a no-code (or very minimal code) development environment, then Corona is not for you… or I should say, 95% (probably more) of all mobile development tools and environments are off limits for you. Be thankful that you live in a time where you can even develop any kind of software without knowing how to code.
If you’re not ready to start coding, whether it’s time restrictions to learning a programming language, or because you don’t think you can (In that case, I still think you should give it a shot, take some time to try to learn Lua and you’ll be surprised at how fast you pick it up).
I was going to write a section for Group 4 (complete beginners with no experience) but then I realized that everything from the Group 3 section applies, minus the stuff about GUI development environments.
One drawback that could apply to anyone no matter what group you belong to is the yearly subscription costs. These are subject to change at any given moment, but as it stands, there is a yearly subscription fee that is associated with using the Corona SDK (unless you’re not publishing apps and are just using it in trial mode).
For some, this is a HUGE drawback. If it’s out of your price range, then that’s completely understandable. But this next section might make you feel a little better.
How to Justify the Yearly Costs
If you want to use Corona to develop iOS apps (not covering Android right now), this is what it’s going to cost you (subject to change):
$99 annual iOS Developer Program fee (from Apple)
$349 annual Corona SDK subscription (from Ansca)
Total: $448/year (as of January 12, 2011)
If you’re nervous about the upfront “investment”, look at it this way. It is a realistic goal to create at least a few apps within a year’s time using Corona (more than realistic). In my experience, as long as you do a good job with your app, and make sure it looks professional, you’ll usually at least get an initial sales boost from the first couple of days in the App Store.
Also, even if you do minimal promotion, your app can sell consistently and while a few sales here and there aren’t much at first, they do add up over the course of a year. Multiply that by a few apps and you’ll—at the very least—have a good chunk of your subscription made back.
A more likely scenario is that you’ll have made more, as long as you stay focused and do something with your subscription.
Like a treadmill, it won’t do you any good if all you do is sit on it. Unlike a treadmill, you can use it to make awesome games and apps.
There’s no one product that’ll fit everyone’s needs, but as someone who has used the product extensively for a full six months (and counting), I can safely say that Corona is the one that definitely comes the closest.
If you do decide to grab a Corona SDK subscription,
take their short survey (it really is short) and get 10% off when you purchase.
If you’re still not sure, then definitely take advantage of their unlimited free trial and see for yourself. Take as much time as you need.
I hope this article, as well as my previous review will help you make a more informed decision as to whether or not to choose Corona. You know who has my vote.
Biffy’’s iOS Icon Pack Now On Sale. At $10, this is the BEST value iOS Icon template pack you can find. 28 high-quality icon elements for you to mix, match, and make your icons look great. At the very least, check out the page and see if the designs could help any of your app icons.
It was going to be called Tiny Drake, but finally decided on Cavern Drake instead. This is our first app to include in-app purchases, and by the time it’s approved, it might actually be the first Corona-made in-app purchase enabled app in the app store (there are a total of 11 premium items in the game).
I’ve yet to have an app rejected during the approval process, and with in-app purchases being something new for me (the submission process was a little weird) AND new for Corona, I’m a little nervous about how the review process will go with this one. Either way, I’m happy to have wrapped it up.
In the meantime, here are some screenshots (kudos to Biffy for putting the screenshots together—great job babe!):
Cavern Drake — Coming soon! (will be free)
I just conducted my first in-app purchase using Corona SDK, and on the Lua side of things (not the iTunes Connect side), it’s just as simple and easy as the Corona docs make it out to be!
I was able to make a purchase using a Test User account, and the item was unlocked in-game afterwards—amazing.
Now that I know it all works great, I should be able to wrap up our next game today and get it submitted.
Bubble Ball is Ansca’s App of the Week. Congratulations to Nay Games for their app Bubble Ball which had 300,000 downloads its first week—very impressive :-)
Inconsolata Free Font. In my opinion, the BEST font to use with coding. I have BBEdit, Textmate, and anything I use for coding set up to use this font. And guess what? It’s completely free to download and use.
I wouldn’t normally disclose details on a Corona SDK development release, but yesterday, Carlos Icaza asked me to tweet about some of the new things added to the latest development build, so I take that as a thumbs up to start talking about it (and getting some anticipation built up, heheh).
Here are the main things that were added:
Needless to say, I’m (more than) extremely excited about this new release. Biffy and I are currently working on a game, Tiny Drake, which we’ll now be releasing as FREE with some optional premium in-app purchase content, and we’re almost ready to submit.
The topic of including in-app purchases caused quite a stir in the Corona forums a couple of months ago, and Ansca was quick to react.
After taking a look at what including in-app purchases into your app entails (with Corona), I can say that Ansca has once again taken something complicated and simplified it into something that is very easy to implement from a developer’s perspective.
A HUGE kudos to Ansca Mobile for not only listening to their developers, but for providing a solution that makes it downright easy to implement premium content purchasing into our apps (the hardest part is setting everything up in your iTunes Connect account, which applies to ALL iOS developers, not just Corona developers).
What I received is just a development build, so there could still be some bugs to work out, but once everything is good to go, you can expect in-app purchases to be publicly available as part of the Corona SDK very soon, so keep your eyes open!
And as promised, once this release goes public, I’ll write an updated Corona SDK review (in my previous review, Corona was still in beta, and LOTS of things have changed since then).
Tutorial: Path Finding in Corona. A very nice tutorial that goes in-depth into a concept that’s very complicated (to me, anyway), but will surely come in handy for many games (the ideas are already popping into my head).
As a side note, the Tutorials+ websites are one’s that I consulted for various things in the past dealing with graphics design concepts, web design, etc. so it’s really nice to see Corona SDK tutorials showing up there.
More proof that Corona is really making headway in the mobile development arena.
Ugly Bugs Approved and Ready for Sale. Biffy and I are working hard to release 4 new games by the end of next month, and Ugly Bugs is the first of the bunch.
Keep in mind, we are maintaining a level of high quality despite the fact that these games are being produced very quickly (wouldn’t be possible without the Corona SDK).
Ugly Bugs is a simple arcade game where you simply aim and shoot the alien bugs as they come towards your ship. The longer you last, the more bugs come at you. Just like the good old days of arcade gaming, Ugly Bugs is all about getting the highest score. The game supports OpenFeint leaderboards and achievements, as well as Facebook score posting.
Biffy directed this one and created all of the graphics, so kudos to her for another great job! If you’re interested in reviewing it, please contact me and I’ll be happy to provide a promo code.
I’ll be directing the next quick game, which is about 75% complete as I write this post. It’ll be called Tiny Drake—more details to come once it is released, so stay tuned. In the meantime, support us by downloading Ugly Bugs for $0.99!
Help Ansca! Take Their Corona Survey. From the latest Corona email newsletter:
It has some questions on your Corona SDK usage to date, platforms you are using and our upcoming Premium Support offering.
If you use the Corona SDK, I highly suggest you take Ansca Mobile’s survey. The more they know, the better they’ll be able to serve their developers—and I know first-hand that Ansca is all about pleasing their customers.
UPDATE: If you’re currently a subscriber, you get a 1-month extension to your subscription for taking their survey, or 10% off if you’re not currently subscribed. I just took the survey, it’s short, so there’s no reason you shouldn’t!