in , , , ,

Opinion Piece – Developing iOS Apps

icon-xcodeDeveloping apps for iOS using GameMaker Studio is simply brilliant. It wasn’t long ago that the idea of making iOS apps using GameMaker was a dream. I now have two apps on the iTunes Store, and I am excited about new projects on the way.

There is only one downside to the otherwise painless experience of using GameMaker Studio for mobile app development. YoYo Games, the company behind GameMaker Studio, are still expecting me to develop for old Apple devices, some of which are nearly 5 years old.

When developing my latest iOS app I had to drop support for my beloved iPod Touch and all similar pocket devices because the early models just don’t have the RAM my game needs. Before you criticize, this isn’t a case of “I need to work more efficiently”. The game I designed unavoidably has hundreds of sprites and several large interface images.

I could cut and prune these sprites all day, refine my coding practice, drop the sound quality of the in-game music, and reduce the amount of fonts I use – I have done this already. The fact is, I just happen to have a game that needs a device which has more than 256MB of RAM. It doesn’t literally eat up that entire amount, but iOS will give me a cut of that memory for my app to run in, and it just isn’t enough. What does that leave? It leaves the 512MB devices, meaning the later iPod, iPhone, and iPad models.

As a GameMaker Studio user, I’m faced with a problem. I can support every iPad except the original 2010 model, which comes with just 256MB RAM. But what I am supposed to do now? I can’t access info.plist which is the key file for specifying which devices my game can run on. In this file you can specify a number of values, such as whether or not the app needs a camera, ergo preventing the original camera-less iPad from being supported on the App Store sales page.

YoYo Games have drip fed me control over how I can publish my app. Instead of letting me build great, shiny games for the latest technology, they have told me I have to build for decrepit devices that even Apple doesn’t support anymore.

There is not a lot I can do. I’m in the process of contacting Apple developer support, but for what? This isn’t their problem, it is mine. Chances are they will expect me to do what every other developer has to, and that is to properly utilize the info.plist file.

Certainly, I could not recommend any professional use GameMaker Studio if YoYo Games continue to lock users out of functionality as basic as editing this core file.

I’ve tried asking about ways to “hackily” edit the info.plist on the GameMaker Community forums, but nobody is any of the wiser. I’ve posted a suggestion topic for this feature, but it’s not getting much response. I’m even participating in a “feature request” topic now, to actively ask YoYo Games to give GameMaker Studio users the ability to edit the info.plist file before it’s exported with the IPA.

My concern is that YoYo Games simply don’t care. It wasn’t long ago that they refused to provide support for the new iPhone and 5th generation iPod Touch resolutions because they didn’t want to drop support for earlier, non-retina devices (like the 3rd generation iPod Touch). This isn’t how it should be. It is time to move on and target the wonderful range of newer Apple devices. YoYo Games, stop holding me back!

Today I face the reality of using a third-party development suite to build iOS apps. The benefits of using GameMaker Studio come at a cost; I am at the mercy of what YoYo Games think I should and shouldn’t be able to do.

There is an argument that “people still use the older devices” but that percentage is small and decreasing. As older Apple devices fail, or their users upgrade to take advantage of new iOS updates, there will be little point in supporting them. Even now, it’s questionable whether it is worth it. Statistically, probably not.

The ability to edit the info.plist file is not a suggestion; it is a “must have” feature. If YoYo Games choose not to allow people to have better control over IPA configuration, they will be sticking a knife in the back of everyone who owns the iOS module.

What do you think?

16 Comments

Leave a Reply
  1. Hey TrueValhalla

    Previously did some work for Tapulous (Tap Tap Revenge 4) as well as hack and design my own version for the Cydia Store, so I can probably edit those .plist files for you. Shoot me an email that is attached to this comment! Cheers!

  2. I exprimented with Game Maker enough. At end I would say my exprience was extremely negative. YoYo care about its business short term successes not out its users which is worst business decison ever, doing this YoYo have signed its own death certificate.

  3. EDIT AFTER RUSSEL’S SECOND COMMENT:

    That sounds great! Couldn’t you just have said that in the first place!? :p

    Anyway, I’m looking forward to that, as are a lot of other GM users I bet.

    ORIGINAL COMMENT:

    Yep, Loaf pretty much sums it up.

    We’re not asking you (YoYo Games) to do all the little hacks for us, we’re asking for simple access to the .plist so that we may edit it to our specific needs. Now, granted, I don’t know what your codebase looks like, but I imagine it wouldn’t be a very daunting task. It could be in the global game settings under iOS, or it could be a popup dialogue window presented when an IPA is exported, or something third entirely. That doesn’t really matter too much, as long as we have the option.

    Also something like it for Mac control should be included too, as Loaf mentions.

    Please don’t say this is a “storm in a teacup” — we’re trying to provide constructive feedback based on real consumer needs by us, the customers. It would be nice if you’d at least consider it before shooting it down — especially when:

    1: We have a long list of actual arguments
    2: This would likely be very simple

    No one’s making a storm, we’re asking that you include something that, to use True Valhalla’s words, “is not a suggestion; it is a “must have” feature.”

  4. Ok the plist is not locked away at all – it is inside the IPA (which is simply a ZIP file) – I will look at getting a techblog post written that explains how to change the plist in a simple understandable way and do the resigning easily.

    As the YoYo Compiler (YYC) is on its way that will make some things easier on iOS and Mac and will expose more of the build / IPA creation process – I am also looking at moving some of the signing and IPA creation process onto the PC for a future release so that we rely less and less on having a Mac available for development – but that will not happen for some time as it is a complicated process.

    Russell

    • This is the purpose of posts like this one, Russell, to promote discussion, change, and growth. These issues may not be obvious to you, and you might be quick to discard them as “not important”, but if there is a demand from customers then they should be listened to and the issue should be appropriately addressed (as you have now done).

      Game Maker Blog is not on a crusade against YoYo Games, we just want the best for GameMaker and its millions of users.

      • For the most part I liked and agree with the original article.

        A need for a feature was presented, it was rationally justified and defended. Well done.

        The point where the author lost credibility was when he made the statement, “My concerns is that YoYo Games simply don’t care.” Simply put, statements like that are asinine. And as much as TV is trying to justify that the GMB is not on an anti-YYG crusade and wants to promote discussion, statements like that shut down discussion.

        I, and others have been critical of a few of the GMB articles over the last few months. And in each case, the criticism has not been about the article as a whole, nor the fact that the article has been critical of YYGs, but it’s been about these subtle back handed shots that change the whole tone away from encouraging discussion and towards anti-YYGs crusading.

        • This opinion piece, although relevant to issues now, was not written recently. It was written during a time where I felt YoYo was ignoring smaller problems, and when I had received no help when openly asking around.

  5. OK this is a piece of nonsense the only restriction that can be made is on the base iOS version that the App can be installed on – it is not possible to exclude particular devices – only particular capabilities of a device http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html see UIRequiredDeviceCapabilities

    We already expose and have done so for a long time now the only other ability that Apple provide and that is to narrow down the device family iPhone, iPad or Universal (works on both).

    At present we do not expose this but it is very simple to add and there are tools that will help you re-sign apps out there, if the game that you are doing is so specialised then you can take the extra effort to work out how to do that – its not exactly hard.

    Once again a storm in a tea cup from GameMakerBlog I expect nothing less..

    Russell

    • Hello,

      I’d like to disagree with you. It is not uncommon for iOS developers to use tactics like making apps require a camera in the info.plist to prevent people using iPad 1, and so on. Although this is not ideal, it does get the job done.

      I have attempted to resign iOS apps made in GM and it has never worked. Tried through console, tried using iResign, it is a nightmare to do. Perhaps this is my incompetence, but if I can’t do it, then there will be others who find it awkward to do as well. At any rate, ripping open the IPA and having to go the extra mile to codesign it is not what I wanted when I spent two hundred dollars to add iOS export functionality to GM.

      A fuss is being made here because this problem IS a problem and it is being ignored. It is the last hole in what I find to otherwise be a dream module. A lot of people would thank you for a very minor feature.

      I don’t think it is YoYo’s responsibility to go looking for all of the hacks and trickery (like the camera trick as mentioned above) but you do need to let us edit the info.plist or let us provide a custom one in the settings. The info.plist is too important to lock away.

      Also, I believe Mac apps are also bound to use 10.6. You are freely allowed to specify an OS version if I recall, using some preference file in the app, so why GameMaker won’t let us edit that either… another mystery.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Russell Kay Interviewed On Microsoft Development Radio

Game Review – Kairuga