Last week, David Fox of Orange Fox Games saw his Hop to the Top iPhone game enter the App Store. This week, he talks to us about the making of his game, and why he switched to Corona in order to build it.
You can learn more about Hop to the Top at the Orange Fox web site.
Starting off, what’s your background as a developer? What’s your preferred platform to create for?
When I was about 11, I took a summer camp course on the basics of Flash. This got me interested in the development of games, specifically for the web. A few years later, I paired up with my development partner Ryan (co-creator of Hop to the Top) in high school and we decided to start making Flash games. He would do the graphics, and I would do the programming — this is how I got into the game development scene. Making the Flash games was a lot of fun, and this is also how the first version of Hop to the Top was built, and it became enormously popular. At that time (2006) the mobile industry was just beginning to get popular, but developing mobile games was difficult and required a ton of resources.
Now I’m 20 and in college, and over the last 4 years I have mainly focused on server-side development using stuff like PHP and MySQL. But this changed recently when I purchased an Android phone. I found out that Ryan also had an Android device, and immediately we both thought Hop to the Top would be a perfect fit for the mobile game space.
Have you tried any other toolkits besides Corona, especially for the mobile platform?
Yes. When I developed my first mobile application, which was not a game, I used Titanium Appcelerator.
So, why did you settle on Corona when it came time to make Hop to the Top?
It was actually sort of the opposite! I decided to commit to making Hop to the Top when I found Corona.
Titanium Appcelerator was good for a screen-by-screen application, but for something that depended on movement and performance like Hop to the Top, it really wasn’t an option. Corona really impressed me when I saw how easy it was to get graphics on to the screen and have them look great on the device. And then, the biggest factor was the performance. I’ll never release a game if it doesn’t play smoothly. I didn’t really know what to expect since Corona made it so easy, so I wasn’t sure if I’d get the performance also. But early in my tests I saw Corona was performing great, so it was a no-brainer that this was the tool for the job.
The entire development process took about 5 weeks. One of the main reasons we were able to develop it so quickly is because we were able to use all frame-by-frame animations from the Flash version pretty much as-is in the mobile version by exporting them as a PNG sequence from Flash. The simplicity and elegance of Lua made the engine fairly easy to write, while still maintaining a robust set of features and nice integration with the mobile device.
Not to get too geeky here, but how many lines of code did all of this take you to create via Corona? Did you ever gauge how much more code other mobile SDK’s would have required?
Hey, there’s nothing wrong with getting geeky! The entire game with all screens and gameplay included is a little over 2,000 lines of code. I’ve used the iPhone SDK/Xcode in the past and I know it would have taken many times more code, but that’s not even the most important advantage we received by using Corona. The main advantage is those 2,000 lines of code I wrote can be used for iOS and Android. If I had just used Xcode/Objective-C, the months of work would have been useless for targeting Android. With Corona we can also port to Android with minimal extra effort.
Are there specific functions in Corona that you used to make Hop to the Top that simply would have been too long and complicated to implement via other mobile SDK’s?
I think pretty much everything that an engine like Hop to the Top entails is fairly complex if you’re using Objective-C. Not that it’s impossible, but for a single developer to do it is incredibly time-consuming.
There’s also the learning curve. For a developer like myself, who has no interest in developing native Mac applications with Objective-C, it doesn’t make sense to learn it. That’s why I love Corona, because I’m writing code for iOS that’s also ready to go on Android, but I still get performance like I’m writing Objective-C.
You told me you have been recommending Corona a lot to other developers — what do you say to them?
I tell them if you want to create a game for iOS and Android, then you’re going to have to use a development tool that targets both. I think it’s impossible, and certainly not realistic for any individual developer, or even a small company for that matter, to develop a quality piece of content individually on multiple mobile platforms. I also tell them that if they are looking to do iPhone/iPad/Android games then Corona is hands down the best tool out there and they’ll be thrilled with the stuff they can do.
Thanks a lot for the interview, Dave!