A native iOS game written in Objective-C using the open source Cocos2D engine; translated to 8 languages.
12 minute readElevator CEO was an iOS game first published to the App Store on October 1, 2012. The last release of the game was published on January 9, 2015. Although it was downloaded thousands of times, I decided to cancel my App Developer membership, thereby ending its tenure on the App Store on April 28, 2016.
This was the first game I designed and coded. The initial time investment did not pay off. However, the value of the lessons learned in design, development, and getting schooled in app store economics are incalculable. The journey from sketchbook drawings to final release are detailed below.
From the App Store description…
Take your career to the next level with the Elevator CEO. Transfer all the passengers from your blue elevator using the green elevators. You have limited synergy to move up and down. Be careful and choose the right combination of green elevators. The CEO arrives in a red elevator but can only bring one person up to the next level. Your career depends on it so make your move! Look for the treasure chests to get a mystery prize. Sometimes getting to the next level means taking risks.
Think you know everything about the Elevator CEO? Maybe you should try to decode his secret message on the home screen. Good luck!
I started sketching game ideas in May 2010. Several weeks later I had over 60 pages of various drawings, notes, and flow charts. I only used a pen and grid paper. The ideas eventually converged around an elevator-based game.
All of the game graphics were created in Illustrator. Most of my inspiration came from Small World graphics by Daniel Cook. Although I never throw out sketches I'm exactly the opposite with Illustrator. I'll clone a layer, refine it, and delete the old layer if its replacement is better.
A few tips from my experience:
The MacBook Pro I used to develop Elevator CEO was only the second Apple product I had owned, after the iPod Touch. As a longtime Windows user pretty much everything contributed to the learning curve: OS X, Objective-C, Xcode. I had to also learn the gaming engine, Cocos2D for iPhone.
At v2.1 the game reached almost 8000 lines.
Language | Files | Blank | Comment | Code |
---|---|---|---|---|
Objective C | 44 | 1754 | 1209 | 6908 |
C/C++ Header | 51 | 622 | 1656 | 1081 |
Sum | 95 | 2376 | 2865 | 7989 |
An icon doesn't define the app but it does declare it. That first impression matters, so I spent several days working on it. I took one of the game elevators and extruded on the selected axis to create a 3D version. There were no early versions. I just landed on this design and liked it.
My wife's native language is Dutch (Flemish) so I thought it would be interesting to translate the game. Eventually, I decided to support all three official languages of Belgium so I added French and German translations. We live in Florida so Spanish seemed like a natural fit.
Elevator CEO v1.0 included five languages: English, German, Spanish, French, and Dutch. I also localized date and numeric displays.
Elevator CEO v1.3 added language support for Simplified Chinese. Unlike western languages, the character set for Chinese is vast and has thousands of different glyphs. It wasn't until I started to internationalize the game that I began to appreciate the importance of a game's typeface. Extended character sets are critical and League Gothic seemed to excel in that area, though, not specifically for eastern languages.
Supporting eight languages became an unwelcome burden when it was time to publish an update. Especially when those updates impacted the graphics. Each country-specific App Store has translations for:
Thus, a single update meant capturing 48 new screen shots. My advice about internationalizing is to wait until the app finds its target audience and then determine if it's worth the effort.
In 2012 consumer willingness to pay upfront for games was still palpable. Elevator CEO's first week sales at the Tier 1 price of $0.99 USD were encouraging! However, that excitement turned to disillusionment within a couple weeks.
The trend of monetizing casual games was towards freemium, play-to-win, and ad-supported. Elevator CEO wasn't designed to extract dollars, nor was its code ready to support ads.
None of the features in the four updates between v1.0 and v2.0 had a noticable effect on game sales. I was hopeful that game translations would have an impact but country-specific sales in those areas hardly changed. I threw some money at Google Ads to see if search traffic would translate into downloads or even conversions. Nothing seemed to move the needle.
Version 2.0 was my pivot to an ad-supported revenue at a new price tier (free). Downloads increased but the ad views and clicks weren't enough. The blight of advertising was something I truly wanted to avoid. This attempt to monetize included banner ads, interstitial ads, and an option to remove ads permanently.
Larger displays such as iPhone 5, iPhone 5s and 5th generation iPod touch had the lower area of the screen reserved for banners. If a banner can't be retrieved from iAd then the banner slides out of view. If the customer had an iPhone 4, 4s or 4th generation iPod Touch then they played ad-free.
Full-screen or interstitial ads were available for iPad running iOS 6, but this feature of iAd was introduced for all devices supporting iOS 7. These ads are only displayed between levels in the game and only at the second level and higher. If the interstitial can't be retrieved from iAd then nothing is displayed and the game continues.
It's possible no one would pay to remove ads but not providing the option seemed cynical. Adding this non-feature meant learning StoreKit. To the user it was two buttons: "Remove Ads" and "Restore Purchase". My assumption was correct about users not spending $0.99 to remove ads, so the effort was only valuable as a learning experience.
The Elevator CEO feature list is modest. The goal wasn't to deliver incrementally with bespoke levels. It was to offer something original and fun that was basically complete. Behind every indie game that balances on the knife edge of revenue and creativity there's something special. I appreciate the effort it takes.