Smartphones and tablets are ubiquitous today. Travel anywhere and you won’t go more than a few minutes without seeing someone on a smart device of some form.
But unlike other sectors of technology, there is diminishing brand loyalty when it comes to mobile devices. In such an environment, mobile games developers can no longer afford to have titles locked to a single platform.
“Today many people have different devices and expect to be able to start a game on one and continue on another,” says Exient programmer James Mintram. “And these aren’t always on the same platform – I myself have an iOS and Android device. Being cross-platform is no longer a selling point, but something all high quality games support.”
There is, of course, the issue of market fragmentation. With so many different devices available across multiple operating systems, developing cross-platform games can seem a daunting prospect. Fortunately, established tools such as Marmalade make the process considerably easier.
“Marmalade’s support allows our studio to focus only on game-related problems and we do not need to worry about fragmentation on the hundreds of handsets that we support,” says EA Helsinki’s senior director of operations and engineering Henrik Lönnroth.
“Plus, as we only have one codebase, we’re able to allow users to play their same game across different devices. They can play their SimCity game on iPhone while on the go and on their Android tablet later.
“Since Marmalade takes care of most of the handset-specific issues, we have minimised any need for porting any of the game features to either platform. In most cases, we write the feature once and have it working on both iOS and Android.”
It’s not just about convenience for players. Developing cross-platform games as efficiently as possible can be beneficial to your business as well.
“Being able to simultaneously launch on two platforms naturally doubles the amount of possible players,” Lönnroth continues.
“We chose Marmalade as it is low-level enough to allow us to do almost everything that we would do in a native application if we would have targeted only one platform.”
If you don’t support multiple platforms then you are leaving yourself at a massive disadvantage.
James Mintram, Exient
Cross-platform tools can also be useful for deploying to multiple platforms, even if your game was specifically developed for one. Mad Fellows’ Paul Norris recalls that the studio’s rhythm action title Sinewave was initially a timed exclusive for Windows.
“Once that period had ended, we were able to make decisions on what platforms to support from there, without the need to consider excessive work porting the game,” he says. “It put us in a very favourable position to react to opportunities and be first in line saying ‘yes, we can do that’.”
Norris adds that being able to modify or release games for multiple platforms also makes it easier to take advantage of mobile marketplaces’ all important Featured spots when they become available.
He says: “Being able to quickly respond to opportunities for promotions and incentives, without managing and maintaining different versions of the game, is a huge bonus in terms of relationships with platform holders.”
Norris also notes that an advantage of Marmalade is the tool works particularly well with C++, allowing Mad Fellows “to develop the game our own way while giving us access to a variety of platforms”.
Mintram adds that the advantages of this cannot be understated: “Being able to write games in C++ gives you an edge over the competition. You can harness every little low level trick while still benefiting from the higher level platform abstractions. Today’s mobile market is very competitive and to succeed you need to differentiate yourself.”
Mintram observes that being cross-platform is no longer an option – it’s essential, and keeping costs low is key.
“There are two main costs associated with developing cross-platform: writing the code and platform experience. Cross-platform tools significantly reduce both of those.
“I would say supporting multiple platforms is a requirement for almost all successful mobile games, making it an essential element to success. If you don’t support multiple platforms then you are leaving yourself at a massive disadvantage.”