Wednesday, May 30, 2012

Quick Thoughts On Android

One of our games, Avadon: The Black Fortress, came out on Android recently. (It's also on the Amazon App Store.) The experience was very tiring and time-consuming, and it will great outside support (such as the Humble Bundle wanting to help with the port, as they did with Avadon) for us to go through it again. If you are a small development house without a hit big enough to get the attention of the big boys at Google and Amazon, it's really hard to summon up the resources to deal with the things that make Android so tough to develop for.

And what are those "things"? If people are interested in a developer's view of the Android situation, the Penny Arcade Report had a really good article on why one dev is avoiding the platform. It's only describes the beginning of the problems, but it's a very good start.

(If anything, the article sells short how many devices there are out there, each with their own weird quirks and bugs, and how much extra testing and debugging time you have to spend dealing with the mess. It's even harder when you write games for tablets, like we do.)

The comments on the post are very worth reading, as they provide a classic example of how evangelists for a platform can be capable of erecting a Reality-Dispersal-Field, through which not even the hardest facts can penetrate.

38 comments:

  1. Why is developing for PC, arguably a much more fragmented market, so acceptable compared to developing for Android?

    ReplyDelete
    Replies
    1. I was thinking exactly this when reading about how "many" different kinds of devices are running Android. Ha! Compare that to the infinite combination of hardware and software in the PC world. And yet, it is done, and frequently.

      Delete
    2. "Compare that to the infinite combination of hardware and software in the PC world. And yet, it is done, and frequently."

      Yes. Done by people who actually work with these things for a living, every day, who are speaking from actual experience with difficulties they have had.

      For what little that is apparently worth.

      - Jeff Vogel

      Delete
    3. I make games for both PC and Android, if we need to state our credentials to be taken seriously.

      Regardless, what I said stands. There are FAR more combinations of hardware and software to deal with in the PC world than in Android.

      I'm not saying developing for Android is super easy or anything, and I am only coming from a position of having made something specifically for Android.

      Porting a game to Android sounds like a LOT more work.

      Delete
    4. "Yes. Done by people who actually work with these things for a living, every day, who are speaking from actual experience with difficulties they have had."

      Sure, they may do it for a living, but they may also lack experience in building software that scales properly. The way most mobile developers complain about fragmentation, it makes me wonder if they have EVER had to write a program to run on varying hardware. They're so used to seeing it work ONCE on iOS and calling that "done". Meanwhile, in the rest of the world, adding code to handle varying configurations/hardware is a normal part of the development cycle.

      I've never released an app on Android, so I'm not here to defend it. Heck, even I find it somewhat difficult to develop on it. I just don't buy the argument "oh there's so many devices" as the ONLY problem.

      Delete
    5. I think more updates and will be returning. I have filtered for qualified edifying substance of this calibre all through the past various hours. Judi Online

      Delete
  2. "Why is developing for PC, arguably a much more fragmented market, so acceptable compared to developing for Android?"

    I don't see how the PC market is "fragmented" in any sense the word is ever used. But I would point out ...

    1. It is possible to handle all of your PC sales through one store. You can release your game on Steam and call it done. This is HUGE.
    2. There's lots of tech support weirdness on the PC, but it tends to be due to individual issues. (Someone has a weird graphics card or outdated drivers.) I have never had problems on the PC where my games don't work on all Dells, or don't work on all Gateways. This is the sort of situation we've run into with Android.

    - Jeff Vogel

    ReplyDelete
    Replies
    1. How is the Android market any more fragmented than the PC one? You can handle all your Android sales through one store. You can release your game on the Market (er, sorry, Google Play) and call it done.

      Would you say it is more important on Android to get your game on multiple app stores than on PC? I'm honestly curious, as I just released my own first Android game.

      The whole Android vs. iPhone thing sounds exactly like Windows vs. Mac to me. Freedom/pain-in-the-butt vs. Little to no freedom/far more simple.

      Delete
    2. "You can release your game on the Market (er, sorry, Google Play) and call it done."

      No! You cannot do this! For starters, your game won't be easily buyable on Kindle Fire, which is a huge market. Use of Google Play is nowhere near as ubiquitous as you seem to think it is, and selling your games only there is a very bad idea.

      "Would you say it is more important on Android to get your game on multiple app stores than on PC? "

      I'm the wrong person to ask this question. My guess is yes.

      "The whole Android vs. iPhone thing sounds exactly like Windows vs. Mac to me."

      Sorry, lost interest here. I don't care about evangelism arguments about what platform has more magic and Jesus in it. When looking at a platform, the only thing I care about is how easily I can sell games on it and how much money I can make from those games to, you know, feed my family. PC is awesome for us. Android is the opposite of Batman.

      - Jeff Vogel

      Delete
    3. Well, you may have lost interest, but that is basically what the article you linked was about.

      How easily you can sell software on a platform is very strongly linked to how easy is is to develop for and support, and I was agreeing with the article that it's probably a lot easier to develop for Apple's stuff, due to the closed nature of everything. As a developer, that's great. As a customer who just wants to buy some stuff and have it work (i.e., most everyone), that's great.

      Personally, speaking as a developer and a customer, I prefer more control over what I can do. But, that adds tons of complexity to the whole thing. Using that complexity (a natural by-product of freedom/openness) as a reason to just write off whole platforms seems short-sighted.

      Delete
    4. Darn it, I forgot to ask:

      Do you have any numbers for the various app stores for Android? I've just got my game on Play at the moment, and I would love to know if it is worth the (I'm guessing tiny) effort to stick it elsewhere.

      I know there is the Amazon App Store. Is this what Kindle Fire uses?

      I also know of a Nook Store which I've been looking into.

      Delete
    5. "Do you have any numbers for the various app stores for Android?"

      Still a little early to say, as it's taking forever to get our games onto the different platforms. (Yes, this is a good part of my frustration with the platform.)

      Google Play has done pretty poorly for us. Amazon App Store has generated a decent amount of sales in the first 10 days, more than Google Play. (Yes, this is why I strongly advise not sticking with Google Play.)

      Total Android sales are still a tiny, tiny, tiny fraction of what we've done on the iPad. Whatever the many good points of Android for users, it's not been good for us as developers.

      - Jeff Vogel

      Delete
    6. Thanks for the info, I had indeed been assuming Google Play was all that, haha. I was already planning on checking into other app stores, but now I really want to! Increased sales sounds nice :-P

      Do you think you would feel the same way were you developing a game specifically for Android, as opposed to porting already-made games?

      Delete
    7. I suspect the reason your Play sales are a tiny fraction of your iPad sales has more to do with Android tablets being a tiny fraction of the tablet market than anything else.

      And no, Amazon hasn't helped by developing their own variant on legacy Android.

      Curious though Jeff, how many of the Android code issues you guys faced were due to assumptions about screen sizes/bugs brought out by differing hardware and how many were due to actual device bugs/vendor's tweaked OS variant bugs?

      Delete
    8. To Kevin - Actually it has been shown before that while people love Google for free stuff, they have a VERY low trust factor with actual money. That is why Google Music is slated to have *sales* of ~$100 million for all of 2012, which is about what Amazon does an hour and less than what iTunes made while I typed this.

      Delete
  3. I'm an Android developer and I completely agree with the article, but only so far as it relates to games. There is a world of difference between developing standard applications (using the standard Android component architecture) and games (using native libraries, OpenGL, etc). There are still occasional compatibility problems between devices, but it's not bang-your-head-on-the-wall bad.

    ReplyDelete
    Replies
    1. "I'm an Android developer and I completely agree with the article, but only so far as it relates to games."

      I freely confess that my focus here is exclusively on games. But thanks for a guarded vote of confidence. :-)

      - Jeff Vogel

      Delete
    2. Ya, making non-game stuff is really delightfully easy on Android, from the small amount of experimentation I've done.

      But then you have a game where you have a zillion art files that all need to be scaled or have several different versions in different resolutions. Yikes!

      Delete
  4. I'm also an Android developer and I think that PC is not fragmented quite the same way as Android is.

    Naturally, more unique PC configurations exists than on Android. However, Android as an OS has more control on your app than Windows has. This means your app is more independant on Windows than it is on Android.

    Also, PCs are often either laptop or desktop and these two are pretty similar for the purpose of gaming. Resolutions have also already been set to support few common standards. On android however, there are resolutions ranging from 320x240 to 1280x800 and aspect rations from 1.44 to 1.80.

    When it comes to selling your game online, PC might have some problems. Steam is a great place to be. If you can get in. Steam is biased for more niche or more core gaming, while majority of mobile games are casual. If steam is not an option, then fragmentation is met.

    But for one thing android is great. It's an opportunity to gain fans and fame.

    ReplyDelete
  5. Is part of the problem the variety of CPUs used on Android devices, or perhaps the memory management. A lot of these devices have 512Mb memory, but a lot of processes switched on at start-up.

    Google Play is very much my second choice for buying apps compared to iTunes. For one thing, if I buy an app on iTunes it's almost guaranteed to work when I upgrade my iOS device. No guarantee of that on Google Play.

    Google Play is also still perceived as more of a free for all (Bouncer aside) to the extent that you might be prepared to download an ad-supported game, but less willing to pay for anything. To me it feels like an ad-hoc thing, still. Whereas iTunes is an edifice.

    Personally I don't even like having my payment details associated with my Android account because the market isn't password protected. ie on iTunes there are several layers of password protection, including in-app purchases, that you don't have on an Android device. Google locks down the Android device to your account, but if you don't password protect your phone or tablet, or if you just set it down and turn your back on it for a moment there's nothing between the active device and a purchase freeforall. Which is nuts - you can't even let your kids play with your tablet unless you remove the payment details first.

    ReplyDelete
    Replies
    1. (OK. I Googled just in case. Turns out PIN protection for Google Play came out months ago - but that shows just how much I use it.)

      Delete
  6. Does this mean there's little chance for more Linux versions of your games, Jeff? I'm enjoying playing Avadon in Ubuntu... but it's only possible because of the Android port, right? (Sorry, but I just don't know the specifics regarding the differences between the systems ;))

    ReplyDelete
  7. I posted the same thing over on the PA Report, but I'll duplicate it here because it's topical.

    While I don't necessarily agree with the problems of *developing* for Android (as others have said, things like multi-res images and scaling take care of much of the pain of developing for all kinds of screens), I absolutely agree with the problems of actually making money with Android. Part of that has to do with the nature of Google Play - publish an app for iOS and it'll appear on a "what's new" page; publish it for Google Play and it's just thrown into the big bucket along with everything else.

    There have been a few reports about game profitability on iOS and Android, especially with freemium games, and they don't show a huge distinction between the two platforms. From what I'm seeing, most freemium games see about 2-4% of their players buy something, with the average purchase about $14.

    I'm in the process of releasing a freemium game (Ghost SEED, a location-based MMO) for Android. I haven't been doing a lot of publicity or trying to attract more than about 100 active players. Ignoring the fact that my player base is statistically small, I am seeing in-app purchases at about the average rate. So I don't necessarily think that Android users are less likely to buy things in-game. I do think that it's just harder to get users for Android.

    Which, unfortunately, is what it's all about.

    ReplyDelete
  8. Hello,

    Mr. Jeff Vogel, i would just like to say that avadon on Android was the first game of yours i played. I love it and bought it on Google play a couple days ago. I have a 7" htc evo view and it runs great on gingerbread.

    Reading this made me sad since it looks like there won't be anymore spiderweb games on Android. If you reconsider, do know that you made me into a loyal customer from your first Android foray. After i finish avadon i will definitely pick up some of your other games.

    Personally, i think Android tablets are still very much in their infancy and things may get better.

    Good luck and thanks for a great game. I hope we get more ports to Android; i think the tablet interface is ideal for crpgs and my 7" tablet ensures i always have it with me, i even game on it at home.

    ReplyDelete
  9. I really enjoyed these comments. Thank you, Android devs, for your feedback. And thank you, Kevin Wells, for trying to be a helpful presence on my blog despite my snarkiness. :-)

    - Jeff Vogel

    ReplyDelete
  10. She learned a good number of details, not to mention what it's like to possess an excellent helping mood to let others effortlessly completely grasp a number of tortuous topics.

    ReplyDelete
  11. I have to agree with Jeff. Having developed for Android, iOS, Mac, and PC (with a shared code base between the four), life is just too short to try developing a native-code game for Android in its current state.

    PC may have more potential hardware combinations, but the APIs are more stable, widely available (there's some pretty basic stuff missing from Android 2.x, which many devices still run), and in general less of a bug minefield.

    Under Android, you get to deal with things that no other OS would dare dump on its developers:

    1. Accessing the camera works on some devices, crashes others and requires removing the battery to reset the device.
    2. OpenGL contexts and data are not maintained between app context switches (varies from minor annoyance and performance hit, to major problem, depending on your engine architecture or lack thereof). Try using more advanced OpenGL and you will run into bugs and feature disparity between the different implementations (NV, ARM, PowerVR, Qualcomm - this is also true for PC, I admit, though less of a problem as you at least have common compressed texture formats).
    3. Terrible debugging tools and long deployment cycle for pushing binaries to device. Console GDB that barely works half the time? Might as well just use printf and save yourself the time.
    4. Many devices cannot be debugged or used for development. (Samsung in particular. Shouldn't have to root and modify a device just to debug it.) This leads to wonderful situations where you have a device-specific crash that can't be debugged, because you can't develop with that device.
    5. Audio, camera, GPS, accelerometer, networking, parts of file I/O, store transactions, etc. require a jarring transition to Java and back (ObjC at least makes this painless and doesn't break debugging). It's getting better in newer OS releases, but 2.x is still a very, very big segment.

    You have to own every Android device you intend your game to work on, so you can test on it and find the device-specific bugs that *will* exist and need workarounds. There are a lot of devices out there.

    Google's approach is very hands-off: Android is open-source and it's up to the device manufacturers and community to advance the APIs, reliability, and development tools.

    All this, before you even get a chance to release your game to several fragmented and poorly implemented markets where it will, at best, do 5-10% of your iOS sales.

    Nothing against Android - I really do wish it were in a better state than it is, because consumers will buy Android devices regardless of how difficult it is to develop for.

    ReplyDelete
  12. These days not only in the computer system but we are using many advanced software in the mobile and IN many small electronic devices. So the importance of software you can get everywhere. Many people have no idea about the computer system but still they well known about certain popular software and it is due to the rapid use of that software. EDI

    ReplyDelete
  13. Hotel reservation software has emerged as a boon for hotel and motel owners, as it offers all the desired options, I like to require to manage a whole lot of things.In my opinion, there are only a handful of accounting software solutions available today that offer a proven and complete solution for this market.thousands of accounting software packages in the marketplace today.Hotel Software

    ReplyDelete
  14. This comment has been removed by the author.

    ReplyDelete
  15. Has nothing to do with post, but I was surprised to see Avernum in the new Be Mine bundle :D A little curious, though, how developers get on board bundles. Do they contact you or is it vice versa? (dw though if it's part of your super-secret-contract and you can't say XD)

    ReplyDelete
  16. Just a comment Jeff...in fairness you haven't done a great job of advertising the fact that your game is even available on Android. I have an Ipad, Android tablet and PC and only knew about it via your announcement of the humble bundle.

    Anyone visiting your website from any online interview or article wouldn't even know you have an Android option as your games page only shows PC/Mac/Ipad...maybe you should include a link directly to Google Play/Amazon?

    ReplyDelete
  17. In your opinion, as a group of guys learning how to make games on iOS, we should probably not try to port our game to android until we make some headway on iOS?

    ReplyDelete
  18. Youre so cool! I do not think I’ve study anything like this before. So amazing to discover somebody with some unique thoughts on this topic. Really thank you for beginning this up. home wall decor

    ReplyDelete
  19. How feasible would it be to get this on the playbook given they can now support android apps (forgive me if this is an overly simple assumption, I am very ignorant of these processes)

    ReplyDelete
  20. This comment has been removed by the author.

    ReplyDelete
  21. Well, as someone that was wanting to pay play Prt 2, that's depressing to read.

    ReplyDelete
  22. The bravery of each bull is then rated with care according to the number of times he demonstrates his willingness to charge in spite of the sting of the blade Runescape gp, Henceforth will I recognize that each day I am tested by life in like manner. If I persist, if I continue to try, if I continue to charge forward, I will succeed rs gp, Your future depends on your dreams Runescape2 Gold. So go to sleep. Do not keep anything for a special occasion..

    You laugh at me for being different, but I laugh at you for being the same RuneScape Gold, The consequences of today are determined by the actions of the past RS Gold, experience is a hard teacher because she gives the RS GP test first, the lesson afterwards.

    ReplyDelete