I posted this blog entry from Communities Dominate Brands to Facebook the other day:
I highly recommend reading that.
Friends inquired about how that analysis compares to my experience as an iPhone game and entrainment app developer. My reply:
Over the past couple of years developing iPhone apps has gone from being a pretty safe bet to a pretty risky gamble.
As a hobby development platform, it’s neat for its unique form factor, input, processing power (as mobile devices go), and target demographic that is different than most online or downloadable games reach. As an advergame or branding/publicity platform, developing a project on it within a modest budget can help shape a company’s brand image with a particular tech demographic that has expendable income, which there’s certainly some value in.
It’s a fascinatingly unusual marketplace, in terms of consumer expectation and behavior on the App Store.
For all the griping people do about what they hear or imagine Apple’s draconian policies to be, it’s incredibly easy for nearly anyone to put nearly anything on it. The same cannot be said for any Nintendo, Sony, or Microsoft console/handheld. It’s easier to set and adjust prices with less fear of piracy than what we expect for selling PC/Mac downloadable games. It reaches a worldwide audience. All good things.
And projects that do get and stay on the top paid rankings are probably still making a ton of money – although those spots are overwhelming dominated by Electronic Arts and Gameloft with the help of established brands and cross promotion.
However the days of Trism, a polished Bejeweled clone, making a quarter of a million in two months by being one of relatively few decent games available on the device in late 2008 seems to have dried up quite awhile ago. Topple also came out in late 2008. The market has changed considerably since then.
It’s my informal understanding that most original commercial creative projects – books, console videogames, web games, music CDs, probably movies – do not recoup their costs. That’s part of where publishers have a value proposition in mitigating risk: they can keep the lights on for creative people while they try to make the next big thing, in effect softening the potential fallout of an unpredictable market, in return for a hefty cut of its revenues on the rare occasion that something gets huge, which can offset the losses of more numerous bets that didn’t work out.
Keeping costs next to nil has some hope of paying off, and can prevent the need to work with a source of funding (or buying a $30,000 lottery ticket, should you decide to bet the farm by developing a costly game on your own money). Extremely low development costs are where we’ve seen most of the indie successes on the App Store, ranging from the modest (covering rent) to the occasional runaway hits.
Following that, I was contacted by a company that’s considering iPhone development, among other device options. Aware of the risks, they were just out to gather data to make a more informed decision about whether or not to port their existing work, already in development for other platforms, to it. Edited interview text follows:
Interviewer: Mainly what I’m looking for is trying to figure out the easy and the hard parts of iPhone development, what tools are out there that make things easier and what tools don’t exist where there should be. So far the 3 engines that I’ve found for 3D iphone development include Unity, SIO2, and Ogre3D. Have you worked with any of these? and/or have you used or heard of others?
Chris DeLeon: I’ve used Unity a bit, on Mac at least. I have friends that started projects with Ogre3D but never made progress – not really clear whether or not Ogre3D is to blame for that, but I’m wary of something until I have at least one peer developer that has completed something with it. I have never heard of SIO2.
When I was first looking into 3D iPhone development about a year ago, I found that if the application is suitable for it, pre-rendered 3D is worth considering. Better lighting and animation, higher resolution textures and poly counts, etc.
Int: I’m assuming you’re main work has dealt with 2D?
CD: Most of my work on iPhone has been in 2D, although one of my current projects is in full 3D.
Int: What kind of engines/tools do you mainly use for your 2d work?
CD: OpenGL and Apple’s sample source code. No engine to speak of, besides what I make for myself per project as I go.
Int: Straight drawing polygons? The only 2D engine i’ve heard of so far is Cocos2D and it’s been highly recommended.
CD: Engines in any circumstance have pros/cons for particular uses, and come with limitations. Generally they have not been a good fit for the sort of projects that I have worked on in the past few years. Although I did use the sound portion of cocos2D (CocosDenshion) to handle some sound issues that I was running into, and at the very least would certainly recommend it for that purpose.
Int: What have been your big annoyances so far in doing iPhone development vs any other development?
CD: Ability to only reach people with iPhones – fairly obvious – and entitlement among users, such as people leaving hateful public reviews because a $1 game only took them 45 minutes to complete. As for the device itself, getting used to Interface builder for menus took some experimentation, and it also took some additional fiddling to handle landscape orientation nicely.
In general though it has been great to develop for – no complaints about performance, quirky conventions, or anything like that. The degree to which Apple’s NDA used to prevent developers from publicly asking or answering iPhone development questions, or sharing their developed solutions, used to be an annoyance, but that has been lightened considerably.
Another downside, in comparison to web content, is that the longer tail has been thinner – there’s fewer opportunities like StumbleUpon for people to gradually build momentum about something after release. Instead, once it’s off the ranking list (if/when it makes it there) in many cases it’s pretty well dead, dwindling to single or low double digits daily.
Int: Your current 3D project, are you planning on using openGL straight?
CD: Yep, OpenGL ES, no engine or additional libraries.
Int: Have you done web based work before? Flash? Facebook, etc?
CD: Programmed in ActionScript 3 for PlayCrafter.com (a build-your-own-game tool for kids/teens [edit: now offline]), Solar SFUN (an advergame for a solar company) and the experimental gameplay projects at InteractionArtist.com – although I haven’t used Adobe’s Flash animation tool. No experience with Facebook development.
Int: Well those were my general questions on iphone. Any other important stories/warnings/rants that you think would be useful?
CD: Cross promotion is handy (releasing something complete for free, to help garner attention for something paid), the market is notoriously weird and unpredictable so it’s important to keep costs low (re: that article I mentioned on Facebook) since good things get passed up and occasionally strange things or mediocre things with strong branding bubbles to the top.
The icon and title are extremely important – if those two aren’t appealing, they’ll never even read your description, let alone play the game.
The delays on submitting updates can be rather frustrating, but generally take less than a week. The app should be submitted well before it’s intended to be launched, by a couple of weeks at least if possible, so that control of the actual release date can be predicted and announced by your company, rather than happening unpredictably on the night it just happens to be approved.
Mismatch between customer expectations and what the application is are a common source of 1 star ratings. On the internet, those people just leave and go elsewhere; on the App Store, they’re prompted to rate your app when they delete it.
Because of that last note, about apps being prompted for rating when they’re deleted, it’s fairly common for an app’s rating to take a hit at first, since the people who dislike it are more likely to delete it quickly then rate it poorly, while others that like the app will leave it on their phone awhile (a lot of users only rate apps when they delete them).
I’ve had and seen bad results at $1.99, which seems to be make less (from what I’ve seen) than either $0.99 or $2.99.
A higher priced app that people know enough about to buy will get higher ratings, since people will only buy it if it’s definitely what they’re looking for (often if they’ve seen/tried it on a friend’s device first). Lower prices, especially $0.99 or free, are more likely to get people downloading it that aren’t sure what they’re getting, and will occasionally be surprised (in a negative way) by what they find.
I hear decent success stories from In-App-Purchases/Microtransactions, although I have not experimented with those. The IAP/MT is from free-to-play or cheap apps that offer additional content, modes, etc. for a purchase in the application which is handled through the App Store’s API. Benefits of this being that the purchase is secure, doesn’t require additional payment information to be input, and, I think, is remembered by Apple’s servers if the device needs to be restored.
There used to be a 10 MB (zipped app file) limit to download over 3G instead of WiFi, although that limit seems to have been raised at 20 MB (not 100% about that) around the time the iPad came out.
People expect/want the device to do iPhone-like things. Accelerometer use makes people happy, multi-touch makes people happy, etc. When Alice in Bomberland originally used on-screen controls at the bottom of the screen people cried foul; by the time I got the update in the store that uses move-to-touch instead, the app had already fallen from the What’s Hot list.
Int: Wait… wait….wait…. You made an app called Alice in Bomberland! awesome! 8^P
CD: Listed with video/image/informational links on the top-right of my online iPhone/iPad portfolio.
Int: Haha, I’ll check it out.
CD: The iPhone has a ton of RAM, as mobile devices go, so for many of my games I have been able to load and keep all assets in memory from start to close. That saved development time, reduced the likelihood for weird memory leaks or pointer crashes, etc. Or at most I might isolate memory swaps to a very narrow sliver where it will make the most difference, like level backgrounds, which on a parallax or multi-screen game can quickly gobble up several times the screen’s resolution in pixels.
It’s worth noting with sound that IMA4 is the only compressed audio that can be used for sound effects. mp3 will only play 1 sound at a time – so it’s generally reserved for the background music – all other formats are huge, but IMA4 drops sounds to 1:4 their size. Definitely worth figuring out how to play IMA4, either by using the sound stuff from cocos2d or digging around on internet examples. Last I checked, I was unable to wrangle Apple’s buggy sample sound code into playing IMA4, but that was awhile ago.
As features people tend to not use as much in games, but are there for consideration: microphone (my only attempt at using this didn’t work too well, I think casual users don’t get how to hold the phone at an angle for blowing into the mic while still able to see the screen), GPS, camera (people liked this in Burnit, and the lack of camera on iPad is part of what has held back Burnit HD from doing as well as Burnit on iPhone), vibrate function, compass (3GS and newer), and gyroscope (4G only).
I heard at GDC in a presentation given by the SkeeBall developers that around 95% of iPhone users are on one of the last 2 iPhone OS updates, about half on the newest and half on the second newest, and the other 5% lagging behind or refusing to update their devices. Although I believe that metric was gathered from their players, which means it’s a sampling taken from SkeeBall players (which there are a lot of), not necessarily iPhone users in general. iTunes does a good job of pestering people until they run the update.
I have mixed experiences so far about making universal binaries that run on both iPad and iPhone. I experimented making Burnit separate for both, because it gave me a way to make the prices different, assuming that I could charge more for the iPad version, but the opposite was true, since the iPad version doesn’t have a camera (which is pretty central to the Burnit app), and moreover as a little toy it feels sort of unbecoming on the iPad in a way that it felt fine on a one handed device.
In the inverse of that story, Transcend was decently well received on iPad by the iPad audience – it’s an experimental notgame about Henry David Thoreau’s Walden – but when I released an update that supported iPhone users slammed the ratings for it on iPhone. It felt suitably pretentious for iPad, but overly pretentious (not to mention a bit crammed) for the one handed device.
Int: Yea, even though they are both portable systems they seem to serve pretty drastically different functions.
CD: To emphasize a subtle distinction there, this is less about their technical functions, and more about the users and/or mindset of people while using them.
I recently released Tumult on both iPad and iPhone. It’s really intended for iPad, and although it has the same spirit and functionality on iPhone, I’m a bit worried that people that only own iPhone won’t feel like it’s worth $0.99. I mostly wanted to give a way for iPad owners to play with it on their iPhone on the go.
Speaking of iPad, it’s substantially more powerful than iPhone 3G, although the iPhone 4 performance is much closer to iPad’s than iPhone 3G’s. Misc side note: multi-touch has a maximum of 5 points for iPhone and iPod Touch, a maximum of 10 for iPad.
Int: Yea, we were playing with it this morning and saw some decent 3D apps out on it. I mean still not a ton of polys but still a lot more than I would have expected.
CD: There are a ton of iPod Touches. At some point I heard a rough estimate of iPod Touches making up about half of the mobile Apple devices being used for gaming – take that figure with a grain of salt, but in any case it’s certainly significant enough to be aware of them and differences in what their devices can do (GPS yes, accelerometer yes, multi-touch yes, mic no, vibrate no).
Related to that: supporting the microphone input also supports the microphone from the hands-free wired set, but does not (at least in the project I worked on) support/detect the microphone peripheral on the iPod Touch. I found this confusing and unfortunate, although possibly with some more tinkering it could have eventually been adjusted to also work.
Int: I didn’t think the iPod touch had a mic?
CD: You can buy one to plug in. Though it doesn’t work from the programming end seamlessly as though it was an iPhone’s mic input.
Int: That’s unfortunate.
CD: There are a handful of things needed when submitting the game to Apple: a 512×512 icon (so it’s best to make one for that size as the original), description, 5 screenshots (each separately for iPad/iPhone if applicable – they don’t need to be of corresponding scenes/things though), price point, 2 categories, keywords (up to 100 characters), application and support URL, support e-mail address, and check boxes about age-appropriateness rating.
A decent app in the wrong category will get hammered with bad ratings. Once again that’s a matter of mismatched of miscommunicated expectation – it’s judged against what they think they’re getting, and by title/icon/description/category you’re in control of that expectation. Thinking along the lines of, “People that like [category] will like this too” comes back to bite, because even if that’s true, it’s not what people are in the mood for while digging through and downloading from that category.
Uploading an update wipes the old ratings after enough ratings have come through for the newest version.
Int: That’s good to know.
CD: On the subject of managing written reviews, hateful comments can occasionally be taken down by reporting if they’re offensive or off topic. The most terrible ones tend to swear, go on about irrelevant whiny things, or other stuff that can legitimately qualify them to be reported. The priority that comments are listed in can partly be guided by using the up/down thumb votes for “I found this comment useful” vs “Not useful” when viewing the app in the iTunes App Store – not available options on the device, but there when browsed in iTunes on PC or Mac. That sort of thing won’t have any measurable impact if there’s a flood of reviews, but when there’s only a handful it can help a little.
Int: I try and be nice to devs and mark those comments as junk when i see them.
CD: Although there are some runaway hit apps that clearly match up with their userbase and keep a high rating, most apps fall between 2.5-3.5 stars, even a lot of the most downloaded ones. More attention also often translates to (once again) people trying it who decide it isn’t for them after all, who then delete it and give it a bad review.
At any price point, for anything, there will be people that complain. At first this can be sort of infuriating, since their complaints are public and more or less plastered all over your app’s virtual packaging for new users to see, although how I have come to be at peace with this is realizing that as a consumer, reading written app reviews is a lot like reading YouTube comments. That is, if it’s poorly worded, didn’t capitalize properly, demands a wild amount for something that costs less than an energy drink, etc. I gloss over that review, and it’s fairly safe to bet that most other users do too.
Int: I have to run shortly – thanks! This is definitely a lot of useful information. We’re looking for a nice wide spectrum of info before we make any large decisions and this should do nicely. Hearing about development straight from someone who has done it is infinitely more useful than any amount of web searching.
CD: Until I put this interview up on my site – at which point web searching will be precisely as useful :b
Int: We can keep my name and the company anonymous, right?
CD: Of course, no problem. Cheers!
Learn and practice team game development with Gamkedo Club.
Membership worldwide. Professional support. Proven process.
Subscribe by e-mail to receive weekly updates with Gamkedo.Community interviews and YouTube training videos for game developers!