When should you think about multiplatform?

I want to experiment with a new blog post series. People send me questions all the time, so instead of just responding to them via email, I will answer some here on my blog!

Sound fun? Let’s get into the first question:

Hey Tobiah. When you were developing your first app, did you target a specific platform? Or did you develop simultaneously for multiple platforms? Thanks for any advice!

-Scott Christian

Great question, Scott.

The short answer is yes, when making a new app I definitely keep all target platforms in mind.

Specifically, you asked about my first app. In full honesty, it was iOS only. But don’t read too much into that, this was early 2009. The mobile market was kinda completely different back then, this whole “app store” idea was new. Since late 2010, when I make games I think about all target platforms during development.

For instance, most of the art in Blast Monkeys is in vector. Even though we then convert it to a raster format to include in-game, this made so we can easily rescale the art to any size screen.

You make your life easier when you keep multiplatform in mind in your development and testing. You may find a weird bug that only appears on iOS devices, or realize a feature you added has to have some addition code for UI scaling system for Android, or forget to code support for a unique platform feature like Snapview in Windows.

If you just pick one platforms, you’ll have a much harder time trying to track down bugs if your app doesn’t automagically work when you port. Hell, if that one platform you pick is Android, good luck getting your app to work at all. Hardware on Android varies so much, you really ought to follow multiplatform best practices just to get it to work on the most kinds of devices.

When I say multiplatform, I don’t just mean use a technical backend like Corona, Unity, or Xamarin. You have to think about things like screen size, device size, physical button location (if any), compression/memory size, etc. In addition, your monetization strategy may/should vary from platform to platform.

That is a lot to think about if you’re a small developer. There is a good argument on why you may want to release on one platform first. For instance, you could release on Windows first to test market in a smaller audience size and address bugs/issues. That said, you still need to keep multiplatform in mind during development. In the long run, it is faster and easier than focusing on only one platform then dealing with porting issues later.

It’s just bad business to not to do a multiplatform release. No matter which platform you pick, if you’re only picking one you are losing out on millions of potential users.

I hope that answers your question Scott! For everyone else out there, if you have a question you’d like me to answer on the blog please send me an email and ask away! Your question could be featured on an upcoming blog post.

-Tobiah

9 thoughts on “When should you think about multiplatform?

  1. Hey Tobiah,

    This is a decision that always end up rattling around in my head! I recently do a couple of articles about choosing and approach (http://www.codenutz.com/ultimate-cross-platform-mobile-development-guide-part-2/).

    One thing I haven’t covered is choosing a cross platform framework for game development (mostly because of my lack of experience in this area). What are your feelings on the different frameworks for creating cross platform games (such as unity, xamarin etc)? Are they any good? What would make you choose one / not choose one?

    Sorry, I know that’s a lot of questions but I’d really like to understand it a little more.

    Thanks

    Matt

    1. Hey Matt!

      Those frameworks are absolutely great for gaming.

      For example, if you are doing any kind of 3d game, you have to make a really convincing argument to me why you wouldn’t want to use Unity. It is a powerful 3d engine and lets you use your own C# or JavaScript code. It’s “weird” if you’re used to other kinds of IDEs, partially because it was originally designed by artists and it controls more like 3d modeling software than it does your typical Visual Studio or xcode. But once you learn it, it’s definitely powerful and efficient. The amount of time it takes to learn how it works, and perhaps deal with any bugs or weird issues the abstraction would cause you, I believe in 99.99% of use cases is less than the amount of time it saves you in developing your game. Let alone developing for all the different platforms Unity exports to!

      Unity isn’t the only platform out there either, I think I’ll use your question in another post to talk about my favorites.

      -T

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>