Let’s say you managed to build and release a game of your own. Maybe your game runs on desktop platforms or it may even be an HTML5 game. It does not matter. You are probably getting a few people to play it and they are enjoying it a lot. That’s great, congratulations on that, I really mean it.
But maybe you are starting to hear a little voice in your head. A not so loud but persistent little voice that keeps saying the same thing: you should port your game to mobile platforms and start getting thousands of new players every day. And of course it’s a tempting idea. Everybody is doing it nowadays and it seems that it is the real easy way to make a lot of money while you get a straight shot to fame and success, right?
Well, it may not be as easy as you may think, and I won’t lie about your chances, but one thing is sure: mobile platforms are the place to be for most indie developers, and you probably want to get a piece of the action as well.
For this reason I’m going to give you some advice on how to accomplish just that. Let’s get on with it!
Before even considering porting your “somewhat” successful game to a mobile platform of your liking you have to clear a few aspects from your checklist. Building games for mobile platforms may seem pretty accesible for almost everybody these days, but as with everything else in life there is a scary dark side to it you may want to consider before getting on with this endeavor. Half of it is of course the technical feasabilty of the port you want to make. Depending on the engine/framework/toolset you chose to build your game with in the beginning you may have it easier to port your game to mobile platforms. Some engines make it easy to export and compile your original code straight to Android or iOS, but others are completely restricted to desktop platforms, and they will probably require a lot of hard work in order to get the port done. It may even mean a complete rewrite in order to get it to work.
Don’t underestimate the amount of work a complete port may require. Sometimes it will even be easier to start coding from the ground than trying to make your old code work on a new platform.
Luckily for us, as long as you are using a semi-popular engine you probably will have a few options to easily export your game to a mobile platform you want.
The other half of the problem is of course, costs. Developing for mobile platforms is not free even though sometimes it may look like it. For this article I’m going to consider Android, iOS and Windows Phone 8 as the most probable platforms you will end up developing for. Android licenses are relatively cheap and you only have to pay for them once, while iOS development licenses cost around 100$ per year, so you won’t want to take this aspect lightly.
There are different ways to publish your game on a mobile app market. Maybe you don’t want to make money out of your game. If that’s the case I must say kudos to you and that you are cleared to skip this point right into the next one. On the other hand, if you want to make money you can take two paths: either you place a set price for your game, or you make money out of ads that appear at some specific points of your game.
The first way is the one I like the most, but since you are going to charge users for your whole game you have to commit to a level of quality and polish that isn’t easy to achieve. You can’t expect users to trash their money on crappy unfinished games. If you want to get serious money you need to work seriously.
On the other hand, you can place custom ads at some points of your game through the use of custom ad code that will display different content each time and that will generate a small revenue each time a user gets to see the ad. This is the way many developers take and it has proven to be quite successful, but only when you manage to get a huge amount of downloads and a fair quantity of everyday users, otherwise you are probably better off with the paid game strategy.
Don’t overdo it with in game ads, or your app will start to look like this
Performance and testing
Another very important point you will have to take into account is performance and platform diversity when considering different device’s hardware.
You game may perform flawlessly on desktop platforms but you may encounter some performance issues when trying to run it on mobile devices. They have considerably slower processors and they also lack RAM, so you will probably have to adapt to it as good as you can. Consider optimizing resources and reducing asset sizes. Also you can preload data before starting your game, in order to speed up gameplay and avoid slow and unnecessary loads during the game.
One of the biggest strengths with mobile platforms is also one of its worst problems, hardware diversity makes really tough to optimize your game so that i can run properly on a wide array of platforms. This is why you will need to set on a minimum set of requirements (i.e Android 2.3 or iOS 6) and you will also have to make sure you test your game thoroughly on as many devices as you can. For platforms like iOS this it is a bit easier, since there are less different models but for android platforms this can prove a difficult task. Sure, you can use the system emulators that Google, Microsoft or Apple provide, but you can only trust them to an extent, since real hardware will always behave in different and unexpected ways.
Testing on mobile platforms can be a frightening task
Adapt to the platform
Leaving technical and business aspects aside you will want to not only port your game but to adapt it properly to the new platform. Spend some time adapting the control scheme so that it feels natural and easy to use on touch screens. Try to learn what kind of control schemes users are used to and try to mimic them as much as possible. Users like things when they don’t have to spend a second trying to get used to them. Polish your controls as much as you want and make sure they are responsible and react fast to user input.
On top of this, you have to consider that the usual game flow is a bit different on mobile platforms, adapt your game so that it can be paused and resumed at any given point without a problem or without forcing the player to restart anything. Store the game’s state and prepare to be able to restore it at any moment. Users expect this kind of behavior from mobile apps and yours cannot be the exception.
This small differences are what set normal “stockpile” games from the real deal.
As you see porting your creation to mobile platforms can be extremely profitable (in both an economical and professional way) but it can also be the source of a lot of hidden problems you may no be ready to tackle right now. On the other hand you shouldn’t overestimate the amount of work needed to get a full port working and tested on a new platform. It takes a lot of effort and as with everything else in this business it can prove to be a source of new tough challenges everyday. On top of this, competition is fierce, and every day thousands of new developers release their games hoping to get their slice of the cake. Its a jungle out there.
But don’t be afraid. If you feel your game is worth it you will probably be able to make it. You just have to commit to your goal and focus on it alone, forgetting about the rest. That’s the way to success and -as with anything that is worth it in life- it may sound hard and daunting, but I wouldn’t have it any other way.
Good luck!, see you next week!