What mobile OS is easier to develop games for?

Started by
7 comments, last by ogreko 8 years, 4 months ago

Hi everyone, I've already tried to research this using Google etc. and had no luck, my question is...

"Which mobile OS is easier to develop games for?"

My understanding is that iOS is very strict and seems to require absolutely everything to be approved and on-the-grid, whilst I've been told that Android is very relaxed and gives programmers and app designers much more freedom in what they do. Is this true?

Game design, programming, etc. are skills that I'm learning, and I want something that will allow me to experiment and take my time.

I'm looking at the iPhone 6S Plus vs. Galaxy S6 Edge +.

I hope my question is phrased correctly and I've given the relevant information, but I'm happy to provide any more information necessary.

Anyone who is able to provide their help, thank you! :)

Advertisement

It's a very hard question to answer.

Which one is easiest depends largely on your background, and a bit on what kind of game it is.

Are you good at java? Do you have a good grasp on Linux? Then android might feel easy.

Do you plan on doing native (C/C++) code, and high performance graphics? Then iOS is probably easier.

Do you plan on releasing on both sooner or later? Then you might have to go native to not have to rewrite large parts of it. You probably should do most of your dev on your PC in that case though, but getting it to work on iOS will probably be the least frustrating.


My understanding is that iOS is very strict and seems to require absolutely everything to be approved and on-the-grid, whilst I've been told that Android is very relaxed and gives programmers and app designers much more freedom in what they do. Is this true?

It's not that bad in iOS.

There is a review process, but it mostly tries to make sure the application actually does what the developer says it does, and isn't doing things in ways that are bad for the user, and that the age rating for content is set appropriately.

In android, its true they allow anything though, and will maybe take something down if enough people complain it blows up their phone and steals their cash.

But as long as you are not planning on scamming your users or selling porn or very graphic violence, the iOS review process isn't anything to worry about really.

Definitely iOS (provided you have a reasonably new Mac that you code on).

The system you have, generally. If you have an iPhone, program it, if you have a Windows Phone, program it, if you have a Galaxy Tablet, program it.

Both Apple and Microsoft are tied to their native desktop environments so that can potentially require you to make a different choice, but in general use what you've got.


---
* If you're a hobby developer and you have a mac and an iWhatever device, that will be your easiest path to learn.
* If you're a hobby developer and you have Windows and a Windows Phone or Surface device, that will be your easiest path to learn.
* The Android ecosystem is more friendly to different configurations: Linux is the native environment but you can run the development tools on other systems as well.
---

Also note that there is a sharp learning curve involved. You're doing cross-compiling, remote deployment and remote debugging. You're building for a different environment than you may be accustomed to, and while tools have improved over the years and some systems are better than others, none of the tool chains are nearly as nice or friendly as desktop development is.

It generally helps to minimize the number of learning curves. Make sure you are already comfortable with programming in your chosen language, comfortable with using a range of libraries, comfortable with the type of tools you'll be using. If you are not learning those as well, you can focus just on the software at hand. Otherwise you'll be climbing a lot of learning curves all at once, which can be difficult.

In my personal experience iOS but, my day job is programming iOS apps. I have done Android apps in the past but, I am usually doing iOS stuff all day long every day of the week so thats probably why I find it easier.

To be honest writing games is very similar on all the devices the only bit that changes is the whole packaging, deployment, release, review part. I mean you can just use Unity, Gamemaker or some other cross platform engine / framework to do the development.

If you are not going to use an engine at all and want to write everything yourself then I'd say iOS is the one to go with because of all the easy to use wrapper libraries and starter projects that Apple provide. OpenGL too difficult? then use GLKit to provide quick boilerplate. Still find it too difficult then use SceneKit. Even game logic is now provided with the built in SDK.

Haven't done iOS, but any toolchain you are going to use is going to require some form of a learning curve no matter what. So its not going to be easy as just install some software and all the majority of the work is done. If you are handly with Linux then you are going to be comfortable with a majority of the toolchains as working with Android ( native development ) has given me a good mental workout biggrin.png . Like others may have mentioned, writing code is just a part of the equation and probably would be the easier part. Getting your environment setup to allow efficient development will most certainly test your patient so make sure you are willing to invest the time to actually do, rather than worry about how easy it is.

In addition to what has been mentioned already...

Even though i am an Android developer and always developed on Android, I am aware of one big advantage that iOS has over Android... all iOS phone is Apple's - one manufacturer while Android has various manufacturers ; Samsung, HTC, Motorola and many more ... and so Android can be more of a pain to get right for all handsets than iOS.

can't help being grumpy...

Just need to let some steam out, so my head doesn't explode...

Apple's review process is stupid and a bit draconian but once you figure out what they want it isn't bad to deal with. Though they like to flag you with anything and everything they can. We've been rejected for things like using Tapjoy (because they can't find the big button that says 'free credits') that have passed through many other times without issue. You just have to reply back to the rejection telling them where to find the feature and it usually is no problem. But that is another couple of days before you can release your app.

For development, I feel that iOS is much better. If your game runs on an iPhone 4 you can pretty much guarantee it works fine on an iPad Pro without testing it. With Android it is a crap shoot if it works on the multitude of different hardware out there. We have a game in development that runs perfect on iOS but is having some serious rendering issues on new Androids like the S6. Something with the way the GPU is being used some devices don't like.

This one is mostly personal, but I find Objective-C easier to work with once you get past the square bracket hell. I'm sure a lot of it stems from C being what I learned when I first got into programming. But Java is Java and sometimes it feels more like you are fighting the language to do what you want. And Google has been pretty good about not going too far down the Java rabbit hole of factory hell but it does show up from time to time. The reality though is if you want to do mobiles you should go cross platform as much as possible and that means C++. Once you get the NDK figured out it is probably easier just to do everything in C++ and just have the bit of boiler plat Objective-C/Java you need to get your game running.

Best way i think to use cocos2dx(iOS-Android engine), easy to start from iOS AppStore, anyway i stated on iOS and stopped on this os, if you could do good looking game, you will have good chance to be featured by Apple.

This topic is closed to new replies.

Advertisement