Developing 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.