Monday, March 28, 2011

Working with Corona

This isn't actually the first time Cat and I attempted to make a video game.  We've actually been off and on for several years, though we've never actually released anything.  One of our first attempts was around the time Facebook first opened up their API, and we got it into our heads to make a facebook game.

Lets just say, not only did we never finish, we were late to the party in an epic way.  Farmville came along... and did almost exactly what we drafted in our design phase.  Well, ok, so they actually handled the time mechanic better than our implementation might have, but it certainly was a kick in the pants.



Then Android happened.  We decided we'd be one of the early developer supporters of Android, and that only partially fizzled.  We actually ran up against a technical wall.  In order to make it as easy as possible to code, we went with the Android SDK.  Now, there are things that the SDK does amazingly well.  And especially since I was about as rusty coding as one could ever be, it was comforting to at least know the syntax since it's all java.  And the SDK does so much automatically, it alleviated a lot of issues.

But there is one massive problem.  The SDK is NOT meant for graphics.  Well, that's not 100% true.  What I should really say is that the "views" of the SDK are not meant for pushing graphics.

And we realized this a little late.  Simple animations, moving of images around the screen was painfully slow.  Impossibly slow on a G1, and still pretty bad on a Droid class phone.  And our game requires a bit of twitch, a bit of speed.

This set back, combined with our insane work schedules put the project on the back burner again.

When I flew out to LA for a gaming convention, Cat shows me a little demo he made with Corona that ran on the Droid and the ipad with no code change.  I didn't actually buy in at that point, since I have no Apple products, I wasn't exactly excited to try to develop something that required a Mac, and I didn't have a clue what Lua was or how it worked.

But that changed.  Just a couple of months ago Corona went multi-platform and was available for Windows.  So I finally decided to take a serious look.  Corona still has a few bugs here and there and a couple of rough edges, but does pretty much exactly what it says.  And unlike using views, it can move images fast and smooth.  Of course, learning Lua syntax took all of a single day since there aren't really that many different ways to do "if then" statements.

In 2 weeks our code is almost back at the same point it was before in Java (which took us months of off and on work) except this time it runs smooth as silk, which is exciting, and as a bonus the app will run on both iOS and Android.

He still does a lot of the heavy lifting in terms of debugging and cleaning up my spaghetti code, but things are moving along at a decently brisk pace.

At this point, Corona definitely gets a thumbs up from me.  It's still pretty early, but it's pretty sweet.

Still need that art though...

No comments:

Post a Comment