ContributionsDevelopmentGame DevelopmentIndieOnlinePostmortem

The Flight of Kid Aviator: A Postmortem

February 24, 2014 — by Mariia Lototska

main

ContributionsDevelopmentGame DevelopmentIndieOnlinePostmortem

The Flight of Kid Aviator: A Postmortem

February 24, 2014 — by Mariia Lototska

Kid Aviator is an endless flyer that launched on iOS and Android January 2014. It features Kid, a daring aviator-in-the-making willing to risk life and limb for his fans. The game was developed by two developers: Mattia Fortunati (programmer, designer and graphics rookie) and Claudia Perugini (visual artist and character designer), both hailing from Rome, Italy. Mattia shares their story.

A Lengthy Development

developer_team_photo
Kid Aviator Development Team

Kid Aviator was an interesting project for first-time developers such as ourselves. From start to finish, the development of Kid Aviator lasted more than two years, quite a bit of time for such a small game. Not only did we experience the expected false starts and ups and downs associated with a two-person team of first-time developers, but we were busy with school and day jobs. We only had time to work on the game in our spare time. Add to this the fact that Kid Aviator was built on a self-made game framework . . . and you get the picture.

It was also 100 percent self-funded. We invested our savings from our day jobs. We didn’t even start a Kickstarter campaign because it’s (sadly) not an option for Italian developers (Kickstarter only allows projects from the United States, UK, Canada, Australia, or New Zealand). 







Dreams & Aspirations

We wanted to create a well-made, relaxing game, something that you could play in your spare time, during lunch breaks, or while waiting at the bus stop. We kept the game simple and full of personality. This was Claudia’s rule, and I’m glad we were able to stick to it. Kid Aviator was always meant to be welcoming and easy to learn so that players felt good playing it.

We also had a personal goal: to learn. Many teams around the world make great games year after year, but how do they do it? Our idea was to not take any shortcuts and pay attention to every single step: concept, prototype, production, testing, marketing, PR, all of it. Throughout development, we strengthened our writing, programming, drawing, interface, design, and polishing skills by asking for help and hearing war stories from fellow indie developers.

Kid Aviator's Xcode and iPhone simulator
Kid Aviator’s Xcode and iPhone simulator

Pushing ourselves to the limit, we often found each other performing several roles at a time. After encountering a big problem, we sometimes wanted to simply surrender and leave things as they were instead of fixing them. As an indie developer, you will be tempted to give up from time to time because you’re way too busy with a day job or other projects. It’s like raising a bonsai: with some discipline, proper scheduling, and doing just a little every day, you’ll slowly see your miniature tree grow to be a strong and beautiful specimen.




Finding the Core Gameplay

The endless runners genre is marred by clones of clones now, but two years ago, there was still room for innovative gameplay. We wondered what would happen if the player moved the obstacles instead of controlling the main character. To add some variety to the gameplay, we included objects that could be destroyed, along with power-ups. Back then, Kid would move automatically (and randomly) around the screen – like a lifeless roboaviator.

Then we noticed that every time our friends played the game, they always ended up trying to move Kid by tilting the device. We didn’t have tilt controls then, so we said, ‘Why not?’ We immediately put our friends’ feedback to use and added tilt controls. Thus, the dual control system (in which players control both the protagonist and the interaction with each object) was born. Clearly, player feedback and the use of hardware capabilities particular to mobile devices have helped us develop (and refine) Kid Aviator‘s core gameplay.

The Circus Setting (& Choosing a Title)

Kid wants to become famous. He’s like a rock star, with his audience numbers increasing each time he wins a medal. It’s not about Saving Private Brian (I guess only Ryan was saved!), avenging a long lost cat, or cleansing the world of all evil. Kid Aviator is about flying endlessly toward the sky and becoming a star.

handmade_sketches
Early Concept Sketches of Kid by Claudia

It’s an unusual choice, we know. This simple (and somewhat basic) concept—a cute Kid flying toward the sky and encountering random strange objects along the way—was born organically. As for the setting, we didn’t take long to come to a decision. After a quick brainstorming session, we chose a more traditional “human cannonball” theme for the game—and a circus setting was a natural fit. But the title didn’t come as easily: in fact, it took us two months to choose one!

We had a whiteboard that we scribbled on everyday, looking for inspiration. Some of the early titles we considered included To the Top!, Sky-Man, and Cannon Kid. Eventually, we fell in love Kid Aviator, a variation of Cannon Kid. However, we secretly called it “scaimen” (Italian transliteration of “Sky-Man”), and the game directory is still named “skyexplorer.”

Time to Tighten Up Those Graphics!

We’ve heard that graphics are the most important element in game development. An awesome icon and beautiful, hand-drawn characters are essential to success. This is only partially true. A great game needs deep, rewarding gameplay or it will just be an average game with AAA graphics. Just ask regular players. Most of them will say that graphics are important but “gameplay is king.” I find that the gameplay is the game’s soul and the graphics are its body. Gameplay is a direct channel between game and player.




At first, Kid Aviator’s graphics were no more than placeholders (and heavily inspired by The Powerpuff Girls). Once Claudia got her hands on it though, a revolution took place. She realized that falling objects would be more familiar to the average player—and after many sketches, she made a major decision: Kid would now be based on Mr. Driller instead.

Claudia was totally new to computer graphics, and Kid Aviator was her first experience mixing art and computers. However, in no time at all, friends and fellow developers introduced us to professional tools and gave us honest and constructive feedback. We love the result! Kid Aviator boasts “cute and warm graphics”—as it should be in an Italian game. The way the game looks is a perfect translation of the studio’s ethos, and it’s a little piece of the spirit of Italy that can be played worldwide.

old_graphics
Old Graphics (left) vs. New Graphics (right)

Visibility: Limited

What’s the point of making a game that no one will ever play? We knew that the game would be invisible without a good promotional push behind it. However, it would have taken years for us alone to learn the PR tools of the trade—and we would never be able to finish the game if we turned our attention away from development.

We did not surrender—despite the cold, calculating replies—and we finally found Novy PR

We contacted a number of PR agencies with a detailed message explaining our needs. It was our first time seeking PR help, and we expected professional replies, but we quickly realized that most firms were more interested in money rather than helping indie developers. We did not surrender—despite the cold, calculating replies—and we finally found Novy PR.

Novy replied in a professional, yet passionate way. They listened to us and were interested in our project as a whole. They were also affordable for our small, self-funded studio. Novy took the role of Kid Aviator’s cheerleaders, testers, marketing mavens, you name it. In hiring a PR firm, we weren’t trying to top the App Store rankings; we just wanted to avoid oblivion. Novy PR helped us avoid that.

Homemade Framework

Due to my work in development, I ended up becoming one of two core creators of RapaNui. An open-source, Lua, high-level, 2D game framework, RapaNui can be used with the Moai SDK when developing cross-platform games for iOS and Android. Initially created as a Corona SDK porting framework, RapaNui would eventually become a “college in a box” for me. I learned a great deal about both the Lua language and Moai SDK.

intellij-moaisimulator-screenshot
Kid Aviator’s Moai Simulator

Since then, RapaNui has grown and led to a job making an AAA title. Working 60 hours a week while still fleshing out RapaNui reduced the time I could spend on Kid Aviator. At the same time, it allowed me to port my game to RapaNui. Improving the framework for the AAA project would mean improving Kid Aviator‘s engine as well—and vice-versa. Kid Aviator is bound to RapaNui, but it took much longer to develop because we relied on this exciting, but ever-changing new framework. I definitely don’t recommend going the “non-standard” route like we did—especially if you’re an indie developer.

However, I was personally willing to accept the risk, and I’m really happy with the end result. I feel closer to Kid Aviator because I built so much of it with my bare hands, a feeling I lack with my other games built with commercial engines.

Dire Straits

We were moving along at a such a smooth but busy pace handling the (successful) open beta, we didn’t realize that iOS7 was right around the corner.

With November already taken hostage by two major console launches, we decided to slow things down and delay the soft launch to December.

Kid Aviator was approved and ready for sale when suddenly, we had to make it compatible with the new Game Center and status bar designs. This meant that we had to re-submit the game to Apple and postpone the soft launch and worldwide release. With November already taken hostage by two major console launches (transitioning to the next generation, no less), we decided to slow things down and delay the soft launch to December, planning the launch for January. This was a two-month delay that we could not have predicted.

The second issue was the “December Curse,” which played a big part in our poor Australian/Canadian/Brazilian soft launch. Although it was intended to test the game’s viability and help us smooth out the actual release, the soft launch yielded almost zero downloads—and we didn’t get the feedback we so desperately needed.

In hindsight, we were hitting the freemium wall—with big titles, all free, released with the sole purpose to attract players at the expense of more premium indie offerings during the holiday season. Would you download Dungeon Keeper for free, or Kid Aviator for $0.99? The AAA game is obviously not truly free, but many mobile players still don’t realize this in advance. Most will skip the paid title and try a free download, even if they eventually uninstall it after 15 minutes. Kid Aviator was not made to do battle against the frighteningly competitive freemium market, but we couldn’t re-design it to counter that threat. Our only resort was to hope for a strong launch.

Texture Packet and Physics Editor for Kid Aviator
Texture Packet and Physics Editor for Kid Aviator

At no extra cost, Novy agreed to pursue a pre-launch campaign in order to generate some buzz. We reached out to journalists ahead of launch, and a number of outlets requested promo codes and Android builds, which made us quite happy. However, we stumbled upon a huge issue when it was time to release the game on Android: a black screen, which was reported by a large number of Android users on launch day. Of course, we fixed it as soon as possible to avoid missing out on any sales—but we received a number of refund requests before we could submit a fix (fixing the Android build took two full days – 48 hours without sleep).

It turns out that the Android logcat had no errors. This was a sneaky bug because it would happen only if the game was installed from Google Play. We found a solution, thanks to friends who lent us their time and Android devices — plus the help of other developers who had experienced the same issue. It was a problem caused by the new resource path system added to Android 4.3 (Jelly Bean): the game could not find its assets. After we fixed the problem, our Android players were happy and satisfied.

A note on Apple’s approval process vs. Google Play: Apple’s approval process is notoriously time-consuming. However, having a professional QA team test your game on every single iPod touch, iPad, and iPhone gives developers much-needed peace of mind. At the same time, Google Play allowed us to upload a stable build within a few hours – versus a few days on the Apple camp. I guess both platforms have their strengths and weaknesses!

First Week: Reviews, Feedback, Downloads

Freed from a nasty black screen, Kid Aviator flew across the world, ready for the real challenge: the App Store and Google Play. During those crazy days when we were busy fixing the Android build, we still felt incredible relief and excitement because we were reading the early coverage for Kid Aviator.

Journalists produced well-thought reviews with mostly positive scores. The few negative reviews were still very honest and always included constructive feedback. Players and reviewers alike enjoyed the dual control system, core gameplay, cute graphics, and charming characters.

It seemed to us that Kid Aviator was invisible in both stores, and we don’t remember adding an invisibility power-up.

Users rated the game, recommended Kid Aviator to their friends, and contacted us with a lot of awesome suggestions. However, while we got great reviews on top sites like 148Apps, Cult of Mac, and AppleTell – along with communities like Reddit and Touch Arcade’s forums – download numbers were low. It seemed to us that Kid Aviator was invisible in both stores, and we don’t remember adding an invisibility power-up.

I guess this speaks to the dark truth of mobile development: the competition is beyond fierce at the moment–more like “dog eat dog, who then eats you.” Free-to-play took the air out of the room, making it very difficult for a game like Kid Aviator to get download numbers matching its quality. If this was 2011, we would be in the thousands of downloads at this point. But we won’t give up. After all the hard work that went into Kid Aviator, we’ll keep pushing to give the game every chance it deserves.

The Bottom Line

Developing an indie, self-funded game is difficult, stressful, and crazy—fraught with ups and downs—but it’s also challenging, illuminating, and satisfying. Just make sure to hold on and never surrender!

This is our journey, brought to you with absolute sincerity. We hope that it can be useful to others like many postmortems on the web have been useful to us. A hearty goodbye from Mattia and Claudia, the small team behind Kid Aviator!

The duo invites you to try Kid Aviator today and leave your feedback (invaluable for indie developers like them). You can also keep track of how it is going with the team on Twitter, Facebook, and their website.

Comments




Mariia Lototska

logo
SUPPORTED BY