It’s a Whole New Mindset
Mobile gaming is a booming market right now, and it seems everyone wants to dive in and grab a chunk of the market. However, getting started in mobile gaming isn’t just about porting your Windows or Xbox title over to iOS.
Design for Your Current Platform, Not Your Previous One
This seems like common sense, but a lot of games out there will attempt to shoehorn the design of a console onto a multi-touch gaming device. While, yes, this can work, frequently the player is reminded that they’d rather be playing the game on a console gamepad than on an iPhone.
When it comes to artwork, remember that tiny fonts may be readable on a Retina display (and allow you to fit a lot of text on the screen), but they are not very enjoyable to read. The same goes for highly detailed textures. You don’t need a massive, high-resolution texture for all your assets. The detail can actually make the game more visually noisy, detracting from the artistic feel and causing eyestrain.
While sound can make or break a game on a desktop computer or console, on mobile, it’s an entirely more complex matter. Most gamers would love to have sound in every game they play, either for the aesthetic or gameplay value. However, there is a matter of practicality to mobile gaming, in that many people cannot play the game with sound due to being in public spaces. By all means, include sound if you’re able; many mobile users have headphones, or aren’t limited by environment.
Optimized code. Yes. The power of current desktop computers allows a lot of un-optimized code to slip by, hogging extra system resources without anyone taking notice. Mobile is far more unforgiving than even a game console. Mobile OSes have a variety of techniques for handling background processes, battery management, resource allocation, etc. If your game bludgeons the system’s battery to death in an hour, your game is going to get bad reviews, and you won’t make any money. Slow performance is one of the first reasons people will choose to shelf a game forever.
We’ve covered what not to do. Now, let’s look at a few places to improve.
Are you using a single multi-touch screen? If so, is it a tablet or a phone-sized screen? Are you using something more exotic like the PS Vita’s front and back touchscreens and physical controls? How about camera-based augmented reality? Touch is very intuitive. Do not fight that. As I mentioned above, many games simply superimpose gamepad controls on a touch screen. This works in some cases, but frequently is problematic. One of the most important things you can do in this area is play other games and see what works and what doesn’t. Specifically, what works without you having to think about it. The more instant immersion for the player, the more chance you have of them staying with the game, and either recommending it to others, or purchasing in-game items through microtransactions. If you can’t find an existing scheme that works for your game, think about how you would manipulate your avatar in the real world, and find some way to translate that to the screen.
As stated above, massive textures on mobile aren’t a great idea from the design point of view. They are also horrible about growing the size of your game in the device’s storage or sucking up available RAM. You need to do everything you can to shrink your textures to the smallest size that will look good on the device. (Always keep high-res originals though, for when next-generation devices are released with higher-resolution screens.) Learn how to create a texture atlas, or find a good tool for the engine you’re using/creating to build them automatically.
Audio is brutal, and pains many a good sound designer at the requirements placed on them. High-quality audio can cause an app’s size to balloon incredibly. Be sure to listen to your final audio on every compatible device. Mobile phone speakers demolish audio, so don’t just judge on how it sounds through headphones.
Use an engine or framework that lets you go as close to bare metal as your programming skills allow. High-level managed code is frequently all you can do, but depending on the engine/framework you use, it may go through several layers of interpretation which can really slow down well-written high-level code.
First impressions on an app store are critical! While you may have the urge to just get it out there and be done, then update it later, don’t. With the way app stores work, you may only get one shot at that front page where people pick you up out of the crowd. Marketing and PR only go so far; if the first hundred people who checked out your game give it a 1-3 star review, odds are you won’t get another chance. Take your time, do it right, and ship it when it’s done.