Stateside: Mobile devs can learn a lot from SimCity's server strife
Prepare for success as well as failure
Chicago-based Carter Dotson is a senior writer at 148Apps.com, which was recently acquired by PocketGamer.biz publisher Steel Media.
The gaming world is abuzz with the recent debacle over EA and Maxis' SimCity launch on PC.
Due to both DRM and gameplay reasons, the game requires internet connectivity to remote servers.
Thanks to a glut of users and insufficient server capacity, the game has been unplayable at times to this day, and has required certain features to be disabled in order to get the game working for more people.
These issues have left many people steamed, forming a virtual angry mob calling for the heads of EA because they couldn't play this game they paid good money for.Big meets small
Now, in general the lessons that a major publisher like EA will learn tend not to be relevant to publisher and developers that operate on a somewhat smaller scale.
In this case, however, even one-man teams, there are lessons to be learned from the SimCity imbroglio that are applicable for any release - especially those that rely on remote resources like servers to function.
The core lesson is to be prepared - not just for failure, but for success.
It's a philosophy that Rami Ismail of Vlambeer has espoused in presentations he's given, and it's applicable for any developer: if you want success, be ready if it comes knocking.
Ask what's worse: Having a shortage of resources, or a redundant abundance of them?
Treat resources for a game launch like planning an emergency supply kit for a home. They are there not because they're necessarily going to be used, but because it's better to have them than to not.
Yes, getting additional servers ready for a game that requires them may be an additional cost, but what about the costs both financially and to user satisfaction if they're not available?Testing times
Games that rely on remote components should have fail-safe methods to do things like increase server capacity easily if necessary (or if a remote element becomes unavailable) and teams need to be able to handle the technical issues and support inquiries that will come in.
This is what Deepworld - Bytebin's crafting MMO for iOS - has been built for.
"We have test versions of the entire game system, and we can load and unit test it in a variety of ways," Jason Pearl of Bytebin told us.
"We even have the ability to connect with a ton of simulated players to see where the system starts to fall apart. Our game code is strapped into a test suite that runs automatically as we write it, so we know immediately if something we've written breaks the game.
"On the server side, we've taken advantage of a combination of physical and cloud based hardware. This gives us the ultimate combination of speed and latency, combined with the ability to handle an unexpected peak in players."
A great real-world example - albeit one outside the gaming world - is email client Mailbox.
Yes, getting in is still a slow process for those who signed up to access the app, but consider this: Those that have used it have encountered only a few periods of downtime because the developer had a plan to scale for user growth.
The plan wasn't necessarily perfect, and perhaps those behind Mailbox should have had more servers at launch to let people in and take advantage of the hype and press. As EA is discovering, a botched launch will generate scores of bad press overnight, even if the game itself is sound.
In comparison, Mailbox's plan focused on slow growth. The team executed it, and have delivered a service people can trust as a result. In short, the lesson to be learned here is, be prepared to keep players happy.Pressing ahead
It's worth pausing here to truly consider the impact of the press.
All developers look for coverage of their games in time for launch, and some will suggest that all press – good or bad – is effectively a good thing.
If attention is all you're looking for, then they may have a point, but bad press is still bad press, especially if it's press about how this game looks interesting but doesn't work.
If players and/or potential customers are getting a bum product, then your bottom line will be hit at the end of it all - not to mention your reputation.
As the saying goes, you only get one chance to make a first impression and, if there's a million games out there, one that simply doesn't function is unlikely to hold the attention of the masses for all too long.
And this is where smaller devs can learn a lesson. People will keep buying SimCity, because it's SimCity, just as people overlooked Diablo III's issues because it was Diablo III. Will these players have as much time in the same situation for an unknown game from an unproven studio, though?The big switch off
The saying goes that those who fail to learn from history are doomed to repeat it. Indeed, for EA, the furore surrounding SimCity's problems should come as no surprise.
The Simpsons: Tapped Out, launched in February 2012, was pulled a month later due to 'server pressure' and didn't return to the App Store until last August.
Such a long delay is relatively unprecedented in the mobile world, but consider the lost revenue EA suffered because it couldn't keep the game up and running. Fast forward to the present day, and Tapped Out is generating $23 million every 3 months.
The Simpsons: Tapped Out
In summary, non-working games won't just damage your relationship with gamers, they also effectively drain your bank account of potential revenue.
So, what's the solution?
In Deepworld's case, Bytebin can disable specific features if the strain gets to high – though such a method has to be approached with caution.
"Deepworld is designed from the ground up to scale horizontally," added Pearl.
"There are very few single points of failure. Typically if a component in the system is misbehaving, it can be quarantined and removed from the system, leaving the game world happy and healthy. If in the case of a major issue, we can place the whole system on maintenance mode, which essentially makes it unavailable to players while we fix the problem.
"Luckily this is a very very rare occurrence, and we strive to keep maintenance to an absolute minimum."
Turning off features you've sold the game on, however, has the potential to anger almost as many players as pulling the game entirely. Corrective measures like these should only be used in extreme circumstances.
Still, a partial game is better than no game.Stay nimble
It's also worth noting that, even if the issues are the fault of someone else in the chain, they will fall on the head of the most obvious culprit to the general public.
For example, imagine if the server problems that have blighted SimCity's launch were actually the fault of developer Maxis, and not – as has been reported – EA? Would that change anything? In reality, it's EA's name on the game, and the angry mob always calls for the king's head.
The ultimate solution could just be to avoid employing remote components as much as you can – a plan adopted by NimbleBit with its line up of social games.
"When designing games we always make sure that any online component does not require a constant connection or can fail gracefully," NimbleBit's Ian Marsh told us.
"Most of our multiplayer features are asynchronous meaning that the game connects and sends data whenever it can, but all our games can be played completely offline for the most part as a design choice. We put the experience of our players FAR ahead of preventing cheating or enforcing any kind of DRM."
However, remote services are almost unavoidable. Even NimbleBit has encountered this – from Pocket Planes' issues with iCloud to the potential user data loss endured thanks to the shutdown of Plus+.
Nevertheless, smart design can help minimise the damage. If SimCity supported offline play, perhaps there would not be such a backlash. The angry mob can be distracted if not completely satisfied.
Most importantly, being prepared for success should be a matter of pride. Making a game that works under even extreme circumstances is not only good for revenue, but it's the utlimate goal - to make a game that people will want to play.
Maybe being over-prepared can be an unnecessary financial burden, but word of mouth from happy players can pay off in the long run if the message being beamed out is that the developer is trustworthy and the game is dependable.
And seriously, the angry mob's pitchforks are pointy and they hurt.