AppsNews

PopCap Admits That Developing For Android Is A Struggle

56

E3 was only last week and although we’ve seen the worlds biggest gaming convention come to a close, I’m still kinda in gaming mode. I’ve often wondered why it takes some developers so long to port a game to Android – and why others never get ported at all. Well, it looks as if PopCap, makers of the wildly popular and addictive Plants vs. Zombies, may have shed some light on the subject. In an interview with NextGen, senior game designer David Bishop admits that the wide availability of Android on a multitude of devices is providing a unique challenge for game developers looking to work with Android.

Though Android is one of three strategic mobile markets for PopCap, it’s been a challenge because of the breadth and variance of devices,

For the seasoned Android user we know exactly what he’s talking about: fragmentation. I’ve seen this firsthand how in attempt to get Plants vs. Zombies running properly on not just newer but older hardware as well, the quality of the visuals are nothing like their iOS or computer counterparts.

Although faced with the difficulty in porting their games over to Android, there is a light at the end of the tunnel. PopCap is already getting set to release the next port of their mega fun game, Peggle. Lets hope this is a sign that they have this Android porting situation down.

[Via NextGen]

Chris Chavez
I've been obsessed with consumer technology for about as long as I can remember, be it video games, photography, or mobile devices. If you can plug it in, I have to own it. Preparing for the day when Android finally becomes self-aware and I get to welcome our new robot overlords.

Meizu MX May Ship As Early As This September – Ahead of Schedule?

Previous article

Fathers Day Deal Alert: T-Mobile Offering 200MB Data Free for a Year

Next article

You may also like

56 Comments

  1. I still don’t find that to be an excuse to use low resolution graphics that are very clearly ported right from iOS. Whether I play on my TF or my Evo, the graphics look terrible. And the graphics they use have nothing to do with how “hard it is to code for Android.” All I see are excuses for a bad quality app. *Cough* Facebook *Cough*

    1. exactly. These devs are lazy ass hats!

      1. There is no reason that apps should not run perfectly on hardware that is less then 12 months old.  18 months frankly should be the rule.  That is after all the number Google picked.

    2. I agree, it’s just laziness or a plain ‘don’t really care about Android’ kind of attitude. What they need to do is simply release the game for the higher end hardware. F&ck the old hardware!   If you want to get the eye candy, then spend the money.

      1. Just don’t forget that your current eye candy gets “old” in a month. So  your moronic attitude has little to do with the real situation here.

  2. The graphics are definitely disappointing. Isn’t there a toggle that they can make to allow it to run better on older hardware and not look so great, but look better on newer hardware? 

    1. That’s built in to the SDK. You need to have High Resolution, medium resolution, and low resolution graphics. Basically, you need to create 3 of each graphic you use. Well, now it’s four, since the Honeycomb tablets are out which is an even higher resolution, so it’s now four of the same graphic …. however, Android switches between them depending on your display. Makes me wonder what graphics they have in the game … did they do all the resolutions right? Also, other companies have put out really nice looking Android games that are smooth and just brilliant. This shows real lack of knowledge on PopCap’s part.

  3. PlantsVsZombies looks great on my Epic 4g…Fragmentation is definitely a problem with Android and I really hope that we will see a day where all updates are released at the same time…Google says they are addressing this problem but it seems as though they should have thought of this before distributing their operating sytem to the masses.

    1. You are talking about a different type of “fragmentation.” This article is talking about having many different phones with many different hardware profiles.

    2. Google didn’t have to think about this, they provide a free mobile OS and manufacturers take it and change it into something else that other than it’s core is not Android anymore. Android is Linux and like Linux depending on the distro (manufacturers in androids case) your support for the OS and it’s updates are up to the people who made it.. and like Linux Androids biggest support is from the community cause the carriers and manufacturers are pretty useless unless you’re needing the hardware replaced. If you want real Android and timely updates a Nexus device is your ONLY option. The Nexus devices are the ONLY device Google HAS to worry about. Now having said that… Google, for reasons that I’m sure are self preserving and solely to keep their name from being dragged through the mud at the hands of Samsung, Motorola, LG, HTC etc. has announced that they are going to start stepping in and making sure these manufacturers are taking care of things in a timely manner.

  4. I hate it when developers make statements like this.. stop being lazy.. boo hoo more than 1 device.. has the iPhone really spoiled them that much because uhh you don’t hear EA crying about having to develop for both Xbox and PS3. I actually worked for a company that we ported and tested mobile games (clients were EA, Sega, Vivendi and a few others) this was during that 1st year of the iPhone and we had hundreds and hundreds of devices to test on both low end nextel devices and high end LG Dares and a few WinMo 6.x phones. Point being that it was crap to port and test on not only many devices but CRAPPY ones so deal with it and hey, it’s not gonna run on old slow crappy phones so don’t worry about trying to make it do so.. :) /rant

    in other news yeah the graphics are low res

    1. It’s not so much being lazy as it is being a pain in the ass to get around. Studios like EA do it for consoles because it’s just TWO separate consoles running different systems. It’s not exactly the same as ONE app being written that has to try and accommodate dozens of different hardware combinations. Also, no one ever said it wasn’t hard to develop for 360 and PS3. Up until this year, Valve never touched the PS3 because they hated developing for it.

      1. Studios like EA and Valve also manage to put out games for computers.

        1. Nintendo and other mobile gaming (PSP, NDS, etc.)

      2. You’ve obviously never seen a computer game from the early 90’s.  Developers had to code to 15 different video card chipsets and 8 different sound card chipsets all while catering to people with 2MB of RAM up to 16MB of RAM.  They even catered to different CPU chipsets.  There were no APIs that an operating system took advantage of to hide that from the game developer like we have today (DirectX, OpenGL, OpenGL ES.. etc).  This new generation of developers are just ignorant and lazy.  A game like Angry Birds should run at flawless speeds on any system yet it chugs on some high end phones.  This is just bad coding, plain and simple.

        1. You are talking out of your ass. Back in the day developers would support specific video cards – and the ones they did support typically were compatible to begin with. I laugh at all the goofs here whining they are lazy. Coding is a big enough challenge without the tools/platform getting the way. Androids dev tools suck. Apple did it right.

          1. An Apple guy trying to tell us about developers supporting specific video cards. Your probably thinking of your Apples or iMacs or whatever you call them. So proprietary you only had a “specific video card”

          2. I see, so my generalization is “wronger” than yours.  I’m sure Hercules, CGA, EGA and VGA were very similar.  As were Sound Blaster, Disney Sound, PC Speaker, Tandy, etc.
            Back in the day 3Dfx,ATi, nVidia were nowhere near as close as they are today yet they were all supported by a lot of games.
            Sound Blaster alone put out Mono, Stereo and Surround Sound cards in multiple flavors.  Don’t even get me started on Memory management and IRQ.

            Shut your pie hole and go back to fairy land where Apple rules.

            Any company who supported PC and did it well deserves respect for the fragmentation they had to put up with.  Apple has never had to worry about such things since they control the hardware (and didn’t have any games.)  They waved their magic wand and made you forget about the switch from their PowerPC to Intel and all the issues that caused.

            Devs can complain all they want but when I see a single company/person put out a good product that works on all Android devices, I have very little sympathy for the complaining companies who just had crappy coders.

          3. I find it funny devs complaining about “fragmentation”. Right now, there are 6 different I devices. Just because they stop selling it didn’t mean people stop using them.

            Why aren’t they complaining about low processor speed, different resolutions, etc?

          4. Speaking as someone who /was/ a game developer in the late 90’s, in the era of all these different card manufacturers having different standards… it /was/ a pain.  You had to put together a giant QA testing lab where you were constantly switching video cards in and out to test various builds, and you STILL often ran into situations after release where some particular card didn’t work right and someone started cursing your name.

            Some companies tried to solve this by only supporting GLIDE (which, at the time, was a lot more solid than many manufacturers’ Direct3D drivers).  Others wrote their own software-only drivers to handle unsupported cards (albeit with a huge performance hit).  But ensuring your game worked properly on the widest range of hardware possible was a time-consuming — and expensive — proposition.

            The amount of effort and money you can put into a year-and-a-half development effort on a AAA title you’re selling for $50 and the amount of money and effort you can put into a six-month mobile title you’re selling for maybe $4 at most are going to be vastly different.  Especially since you can’t just go and buy another card to swap into your test device; you need that many actual physical test devices.  

            (Or else you need to code for the lowest common denominator, in which case people complain that they aren’t getting their money’s worth on their high end phone.  Or else stop supporting low end phones, in which case people complain that they’ve only had the phone for 13 months, it shouldn’t be outdated yet.)

            Many are probably being lazy, but there’s also smaller budget and tighter schedules in mobile game development than in major late-90’s game development.  So keep those limitations in mind as well when judging developers. :)

        2. This has been my complaint for a while…everyone talks about fragmentation on android…
          Even NOW fragmentation on windows devices.  Try writing code that runs on WinXP, Vista, and Win7 flawlessly.  And yet…no one seems to complain.

      3. It’s both being lazy and a sign that they didn’t design well.  If they hard code directly for a specific hardware configuration then it is a pain in the ass to port to new platforms.  If they design with a hardware abstraction layer, then it’s mostly a matter of adding the necessary low level functions and fine tuning.  Fragmentation is an excuse used by poor developers.  Good developers expect that hardware will change or that additional platforms may need to be supported and design with that in mind.

      4. I suspect it is easier to develop on many devices running the same platform then on 2 platforms running completely different platforms.

        1. You would actually be wrong, at least to some extent.

          If I’m writing for PS3 and 360, I have only one hardware configuration to speak of to target for each.  Sure, my rendering code and such has to be completely different between the two platforms, but I don’t need any conditional cases like ‘if this device doesn’t have at least X amount of memory’ or whatever else.  I effectively write only one version for each.

          If I’m writing for, say, Windows, I may not have to write two separate core versions, but I need to do things like ‘if the video card can do this, do this, but if not do this other thing, and if there’s enough memory to cache all this then do this thing, but if there’s not enough memory then handle it this other way,’ and so on.  The fewer of those variables I have to deal with, the easier it is to code for.

  5. “Though Android is one of three strategic mobile markets for PopCap, it’s been a challenge because of the breadth and variance of devices”
    Duh, one screen size, a few hardware types on iOS, obviously its easier “welcome to real life” (spaceballs quote),  we don’t all want the same damn device. The benefit of Android is that you will be able to sell to a much greater audience. IDC predicts 40% marketshare by 2011’s end, my own prediction, 42%, or roughly IDC’s 2015 prediction (yeah those guys are idots).

    In closing PopCap will just have to get used to it, the world is not about to adopt iOS over Android, its closed environment doesn’t really make a whole lot of sense for people who actually want to own their 600$ phone.

  6. I would have thought that the other elephant in the room along with fragmentation is the lack of investment that Android users make in app purchases. 

    IOS users pay for apps, its a fact and if you are in business that’s the place to be. 

    If R&D, marketing and production costs stretch out for the Android platform (money is the bottom line not lazy devs) then where do you start to take the risk of investment.

    Until Android gets its fragmentation under control and people are willing to pay at least the same as IOS users then IOS has the upperhand in this part of the market.

    1. The “average” app on iOS doesn’t make a whole lot of money either.  Don’t believe me?  Read this: http://gigaom.com/apple/the-average-ios-app-publisher-isnt-making-much-money/

      Paid apps on iOS are only around 12% of total downloads.

      Not every game will have the success of Angry Birds or Words With Friends (which wasn’t selling much until John Mayer gave them an endorsement).  The mobile games market still isn’t a real threat to the portable console market (3DS, DSi, PSP) because of the ecosystem.  $8500 (on average) per app won’t keep a company afloat.

      This isn’t an Android problem.  It’s an app ecosystem problem.  There’s too much crap flooding the Market, both apps and games.

      1. Read through the link you quote “By breaking out games from the rest of the apps in a 60/40 split of revenue (40 percent going to games), you can see why games in particular are more lucrative than other types of apps. ” you can see exactly why games devs make apps for IOS !!!

    2. A fact? Prove it.

  7. So basically, that means you have to have some skills.
    Come on, how can they program for Windows PC and whine about Android? It’s not even close.
    But it’s the developers problem. PS3, PC, Android… they whine about everything. It would be best to just klick some buttons and having an app to make a load of money. Sorry, welcome to reality…

  8. Hm, nobody who’s ever developed on PC is allowed to moan about system hardware fragmentation.

    Sorry.

  9. Let me start this out by saying that I am not a developer and my coding prowess is limited to making a few ascii games in C++ and Basic on my TI-83 in middle school.

    But to me this whole fragmentation debate seems a bit weird. I’ve never hard about developers for Windows or even Mac OS moan and groan about fragmentation when its FAR more prevalent there than on Android.  Currently you have users out there running everything from Windows XP to Vista to Windows 7.  Hell, I’ve even seen people running Win 98 although its probably a pretty small sliver. So there’s that.

    Now lets look at hardware.  You’ve got everything from single core Atom processors to Quad core Intel and AMD processors, from 1ghz to well over 3. You’ve got 512 to 16GB of ram not to mention DDR2 and DDR3 and any other type of memory out there.  You’ve got screen sizes from 11 inches to 30+ inches. Resolutions from 800 x 600 to 1080×1920 (or whatever, I’m not running my full rig right now so I can’t check it and don’t feel like googling it right now). Once you start counting the different types of GPUs and Motherboards et al and wow. THAT is fragmentation.

    So given all that why aren’t developers complaining there? Its the same issue to a point but they still manage to put out quality applications for the medium.  As I said, I fully admit a lack of insider expertise but from the outside it looks like a bunch of excuses.

    1. +1 – I agree with every single word. Just a bunch of excuses. Anyway, is their problem only. Android platform is expanding beyond predictions. If they won’t support such platform, ok, they will lose a big slice of market. So be it. No problem.

    2. I’ll tell you what it is. The devs will never admit it. But one of the reasons they fell in love with the iPhone was because it was this single device that looked like it was going to completely rule the mobile space. And you have all these devs that to an extent cut their teeth on it. Now that its quite apparent that there will be no one device to rule them all their lack of experience and understanding is showing. But rather than up their skills they complain that theres just too much to code for. I bet they won’t simply sit and read the info Google provides about resolutions. And as someone else mentioned you’ll be able to find tune which devices can get what….although that may be bad because their lazy asses will limit their stuff to one device and say thats the only place it works. It’ll turn into a smear campaign to try and get folks back to iOS where they can be lazy again.

      Well devs….your whinning isn’t changing the fact that more people are buying Android devices over iPhones and all signs point to that trend increasing. The iOS ecosystem will probably settle into a spot similar to that of the Mac. So you’ll be developing Mac only games in a Windows world basically.

      And honestly…the stuff that PopCap makes….seriously? These games aren’t that amazing. I was expecting to see all Flash zealots flood the market with these types of games easily. 

  10. de•ni•al noun – the refusal to acknowledge what is obvious
    ex. Some fandroids are in denial about their platform’s fragmentation issues.

    1. No one is denying the fragmentation issue, we’re only mentionning that it’s just an excuse for lazy developpers.  Popcap has been releasing PC games for quite some time and said fragmentation is way more prevalent on the PC side.  Yet countless companies manage to produce PC games without complaining.  Of course, from a developper standpoint developping for an iDevice is like developping for a console as the specs are the same from device to device.  Still, they try to make that whole fragmentation thing a lot bigger than it really is.

      1. Fair enough…..but some developers are not gonna work extra hard to properly port their games to a platform with fragmentation issues, especially when it’s users are not likely to actually purchase apps. despite Apple’s approval process, the iOS platform is easier to develop for and it’s users are more likely to purchase apps; it’s really a no brainer why iOS apps are usually better than their Android counterparts.

    2. No what we’re saying is that lazy developers formed around the one size fits all iPhone. Now that people have choice and show us all time and time again that they prefer choice over dictatorship the lazy devs get mad because they can’t just write for one device any more. The veterans that have come through the fires of having to develop for multiple platforms don’t have a problem at all.

      1. No, some developers are not going to incur the time and expense of coding for different devices and firmwares when you don’t buy apps anyway…..waste of time

        1. Or just build it to target 2.1 as and be done with it?  Screen size independence was addressed in 1.6 and PvZ doesn’t require any huge graphics power that would need the latest build of Android.

          The problem with the supposedly “no buying” thing you repeat like a broken record goes right back to these developers being too lazy to put the work into building for Android.  So they release something that they half-heartedly worked on and when the users call them on it, they turn around claim that the lack of sales is our fault. Spend the time to put out a quality game/app and you will see plenty of downloads.

          As I’ve said, plenty of individual developers manage to put out apps that target the whole gambit of Android devices and they don’t have the resource backing that Popcap Games does.  If they can do it themselves on shoestring budgets (some are still college students!), then what excuse does Popcap Games have?

        2. Either backup what you’re saying with facts or stfu and gtfo.

    3. Ex. iKing is in denial that fragmentation isn’t as big an issue as it’s trumped up to be.  Kind of like…oh I don’t know…Antennagate?

      You’re telling me that with all the resources that Popcap Games has behind it, that individual Android developers do better than them?

    4. Fragmentation is only a crisis if you don’t know what you’re doing.  Professional software developers deal with it all the time and just roll with it.  It’s a minor annoyance at best.  When a new platform comes out, add an abstraction for it and port to all the apps you’re supporting.  Done.  It’s only made to sound like a big deal because there are a lot of app developers who don’t really know what they’re doing, don’t use good layering practices, and scream loudly whenever they’re pushed ever so slightly out of their comfort zone.

      Android isn’t a platform for hacks: It’s for serious programmers.

  11. I don’t dispute the fact that there challenges with coding for Android.  However, what I don’t understand is why developers have to bend over backwards to support ALL phones, especially when it comes to games.  After all, you don’t buy a cheap PC and expect to play Crysis well (or at all), do you?  Okay, I imagine some do, but they’re grossly ignorant.  Games almost always have higher system requirements than most other apps.  If you buy a budget smartphone with a small, low-res screen and weak processor, you should not expect to be able to play lots of high end games, and the developers should not try to accommodate these devices either.  Develop the game at the quality level you want, set your minimum system requirements, and let the consumers deal with the decision of whether or not they want to pay more for a phone powerful enough to run the game.  If the quality is good enough, people will buy the hardware necessary to play it.

    One could argue that doing that will hurt sales overall, but that doesn’t seem to stop PC gaming companies.  Look at ANY piece of software for Windows, and you will find a list of system requirements.  Heck, even Apple software has system requirements, because older OS versions and hardware may not support newer software.  Android should not be any different.  If you write code for more advanced hardware, people will buy that hardware, and force OEMs to innovate and produce better hardware.  After all, ARM chips in smartphones were pretty much stalled out at the old 528MHz marker until Apple and Android hit the scene.  Now look, just a couple years later, and we’ve got 1GHz+ dual core chips (and newer architectures that boosts performance far more than just the increased clock speed), and people are already talking about ARM-powered servers, and the potential demise of the x86 platform.

    Also, look back a few years at Quake III, and now at Crysis.  These games use graphics engines that, in their respective time periods, pushed all graphics hardware to its limit.  Enthusiasts constantly upgraded their PCs with the latest hardware to get the best possible experience out of these games.  I truly believe that software is (and should be) developed ahead of hardware, as that drives innovation in the hardware department that would otherwise stall out.  After all, why build more powerful hardware if there’s no software to take advantage of it?  Again, developers should code the apps they want to make at the quality level they want, and let the consumers deal with buying phones powerful enough to run them properly.

  12. Really?? Popcap?? Really?!

  13. I think Google is well on their way to removing this gripe/excuse from the mouths of developers with the newer features being implemented in the Market. You can’t complain that you have to code for high and low end devices if the Market can differentiate and prevent low-end devices from even seeing the app.

  14. Here’s a counter-argument to the “it’s hard to code android because of fragmentaion” complaint…If the Android market is fragmented, then why not fragment your app to accommodate?

    Dealing with a heterogeneous market by releasing a homogeneous app is going to cause frustration for the Devs (each update/fix has to work for everything) and force the app to be diluted (can’t have HD graphics if it has to run on a non-HD phone).

    So in basketball terms, if zone defense ain’t workin, then maybe some man-to-man is called for.

    Actually, there’s already Devs out there doing it. They offer “regular” versions and “HD” versions. I believe the market also has a filter of not showing “tegra” games on non-tegra phones, as another example.

    One other point too is as of June 1st, according to Google’s android platform distribution (http://developer.android.com/resources/dashboard/platform-versions.html), over 95% of the platform is at Android 2.1 or higher.

    With Google closing the platform gap and other options of how to offer your app, the fragmentation argument just seems to be more and more about being a scapegoat than an actual problem.

  15. This statement + PopCap’s half-rate ports = a lame excuse. There are plenty of games that work just fine on the Android, and yet Chuzzle and PvZ are ugly slow bloated pigs. If they think it’s that hard to develop for and they produce such crappy results, my guess is that they’re doing it wrong.

  16. Not much I can say here that hasn’t already been said. PopCap is lazy and just whining.

    Plants vs. Zombies on Android weighs in at a whopping 75MB and is the largest app on my phone. For comparison, Pocket Legends is only 45MB, Google Earth is 24MB, Angry Birds and Firefox are 20MB each. And yet the graphics quality of PvZ is a fraction of Angry Birds or Robo Defense (9MB). So what is this? A 2MB game running with a 73MB iOS-to-Android emulator?

    I have a 800×480 screen, and the graphics quality of PvZ compared to other games is distinct. I would’ve never paid for this beast of an app (I got it for free from Amazon), but I decided to check it out and see what the fuss is about. Slow as death to load, and it kills my RAM and battery, forcing everything else to unload and even exiting becomes a wait while I have to wait for my whole desktop launcher to reload.

    How PopCap expects to make money in the Android marketplace when they clearly don’t give a rat’s arse and can’t be bothered to put in any effort is beyond me. Of course, they’ll keep releasing crap like this and then moan about how it’s the fault of users, the market, the platform, or other nonsense without taking any responsibility for the low-quality of their own product.

    1. You might have a shitty phone, it runs great on my EVO.

  17. Since popcap is mainly a PC developer I find this crazy. Fragmentation is way worse on the PC market…

  18. Android may be harder to develop for but it just shows how unskilled and amateur a lot of phone developers are.  

  19. wow, looks like my comment sparked something lol!

    I guess I should have pointed out that I am in no way a developer/programmer/coder.. I am a digital artist so I am out of my realm here, but I do have experience in seeing mobile games made for a lot of different devices.. even those that they shouldn’t make games for.. but I’m glad to see that many of you who are get what I’m saying. Yes, APIs have made life easier for a lot of platforms to be coded on but I think those of you that pointed out the coding for windows back in the day hit the nail on the head! Windows is a prime example of having to make your game work on a lot of different devices.. I think it’s safe to say that most every single desktop from house to house to house is different.. some people have laptops, some desktops, you have windows vs osx and even linux out there. fact is developers for games need to make their game work on as many computers as possible cause that’s how you make money but they ALL have system requirements!!! if you have a old crappy computer Crysis is NEVER going to run on that hardware configuration. I am sorry people still on Cupcake and Doughnut if you want to play the best games on Android it’s time to upgrade!! Developers really only have 4 versions to worry about and 3 of them are similar enough that is really shouldn’t be that big an issue (looking at you eclair, froyo and gingerbread) I understand that there are some differences, especially from eclair to froyo but froyo and gingerbread is mostly some tweaks and a visual change. The fourth of course is Honeycomb which is going to be something different in terms of what you can do as a developer. now when it comes to device hardware, there are only a few types of cpus and then it’s a matter of how much ram it’s running. yes there are some different combinations there but I can’t imagine it’s in the 100’s.. Maybe Android feels more daunting when you look at it as 6 versions of the OS and 100’s of devices but when broken down like this it’s more like 2 versions and 20 devices.. much more manageable I think. Again I’m not a developer so maybe I’m wrong and there is more to it.. but hey it’s nothing new.. it’s part of the business having to deal with catering to the biggest audience possible and if a company does things right they’ll make a lot of money :)

  20. Charley Sheen has tiger blood, apple has Asian blood.

  21. The Android app is 76 Meg!  The iOS app is only 46 meg.  How did they burn another 65% of the iOS app size porting it to Android?  I have to believe graphics and sounds make up the bulk of the space. Why is this app 76 Meg???

Leave a reply

Your email address will not be published. Required fields are marked *

More in Apps