Please tell us about your app, Flight Odyssey. Flight Odyssey began one summer day in 2013, when I downloaded a free app. The app was nothing special, but in its credits it claimed it was "Made with Love & Corona SDK," and I was curious what kind of framework had inspired such accolades.
So I did some research on Corona SDK, and I liked what I saw. It bragged making development 10 times faster than Objective C 2.0 or Java for Android development, the two most popular "native" tools for smartphone app development. That's a bold claim, but from what I could tell, it was true, at least for relatively small programs. My previous attempts at apps had used Objective C 2.0 and ended in disaster.
Not only was Corona SDK less over-engineered, it also boasted that it could be deployed to four different app stores (Android, iOS, Kindle Fire, and Nook) without rewriting code. That was another impressive claim, considering the vast differences in architecture between Android and iOS (Kindle Fire and Nook are really just forks of Android, but they have their own app stores). I was extremely excited to try making an app in Corona SDK, so I started looking around for ideas. I tried to solicit some from my brother, but he was no help. So, I just started experimenting with Corona SDK and waiting for an idea to hit me.
After a few weeks passed, one day I noticed my brother playing a game called Hill Climb Racing, where a player drives a car over 2D hills doing tricks and collecting coins. He seemed to be having fun playing it (he had unlocked almost all of the cars), and when I tried my hand at it I found it relatively amusing. At that point, I thought it was just another free game, but a few hours later, I had an idea: What if I made a similar game, but instead of driving a car you could fly an airplane?
\My brother seemed to like the idea, so we commenced development of a prototype and formed a team. Naturally, we added some twists to make the gameplay totally unique. Players not only control the throttle, but can also tilt the device to control the angle of the plane. Furthermore, instead of starting at the beginning of a scene each time you play, gameplay takes place in one huge world that you are free to slowly explore. Players can complete missions and collect coins – but be sure to land safely or you won't get to keep the money! Through experience or coins, players can unlock planes as varied as jumbo jets and drones.
How is Flight Odyssey different from similar apps or competitors? Unfortunately, neither of us is a professional artist, so unlike most apps, we had to resort to finding free cartoon-style images available on the internet. The overall effect is sometimes humorous, and we make an effort to keep up the light-hearted spirit with tongue-in-cheek comments on every game-over screen. Players explore a rich world with obstacles that are truly interactive, from cars that drive around to dolphins that jump out of the water.
Could you talk a bit about the app UI and icon? The user interface is designed to be simple to use, with only a few buttons on each screen. Of course, actually flying the planes has a bit of a learning curve, but we spent hours fine-tuning the controls so that, with a little bit of practice, anybody can feel like they're truly piloting a plane. The actual controls are simple (slide the throttle to control the plane's speed, and tilt the phone to control its angle), but using them masterfully to avoid interactive obstacles takes plenty of skill. The app icon highlights the app's signature plane (the propeller plane) against an inspiring cloud backdrop.
What tools and/or communities assisted you in creating the app? Due to our unique situation with regards to obtaining graphics, Flight Odyssey has a larger than normal amount of people who helped, in some shape or form. The full list of credits is available here, but certain resources were particularly useful. Let's start off with Clker.com, one of the most crucial resources in our search for images. Clker.com provides clipart/vector images licensed under CC0 (effectively public domain). It has a huge variety of images, and the price is right! The majority of our images come from this website, so we are incredibly grateful.
Bitbucket was also very helpful for maintaining systematic version control. At least once or twice we were spared from hours of work by a backup in Bitbucket, and several times the reassurance that the backup was there let us be more aggressive in making changes. Not only does Bitbucket provide free private repositories for up to 5 users, it also has a nice GUI (SourceTree), a decent issue tracking system, and everything you would expect out of a paid version control system (despite being free). One caveat: they don't have an official mobile app or a mobile-friendly website (helpful things when testing on devices and reporting issues), but BitBeaker is an Android app which interfaces through their REST API and works nearly as well as an official app would.
Some other helpful tools include GIMP (a great way to fine-tune the free clip art from Clker.com for a specific purpose), Paint.NET (like GIMP but lighter weight), and Notepad++ (once I discovered that you can create a workspace in the sidebar, I never had to use another text editor). TexturePacker, a tool that allows sprites to be easily packed together into one, easy-to-use, high-performance spritesheet, was also extremely useful. And of course, this list could never be complete without Corona SDK, the framework that powers the whole app.
What lessons did you learn in the process? First of all, version control is awesome, and we should have been using it more earlier! Second, free graphics are difficult to find, and sometimes it's worth the effort to make something custom. We also definitely learned the importance of marketing. It's not enough to just make a fun game, you have to help people to find it. Another important consideration in the development of any game is to make sure that the controls are intuitive and easy to understand.
What went right and wrong with the app release? Our release was a bit disjointed, since we failed to account for the delay between Google Play's almost instant release and Apple's week-long review process. However, development was quite successful and we are satisfied with the final product. Hopefully our players are too! The next app we have under development will have a more coordinated marketing/release strategy.
Who is on the team and what are the roles? Flight Odyssey is produced by me, Alan, and my younger brother, Joel. We both currently attend high school, but I will be graduating in a few weeks. I do most of the programming and design, while Joel gathers graphics and fine-tunes the level design.
What were you doing prior to the app? Up to now, we've both been working our way through high school! Though I've previously attempted to make apps using other development kits (like Adobe Flash Player and Objective C 2.0), this is the first one that made it all the way to release. We're excited about its success and already planning our next one!
What are some of your favorite apps? Dropbox is extremely useful, and it came in handy for transferring files onto the phone for testing purposes. We've also found a lot of cool games through the Amazon App Store Free App of the Day and the Android Giveaway of the Day. Quizlet is also an essential part of any high-schooler's study regime.
Hey you app devs! Wanna be featured like our friends at Flight Odyssey? Be sure to check out https://22.214.171.124/get-discovered.