There's no way to beat around the bush on this. Even though many developers have gotten onboard the universal app train, a select few have implemented any cloud-based game save storage system to allow you to sync progress across devices. Of course most server-based free to play games already do this, but in your typical super-casual 99� time-waster, your progress is largely locked onto the device that you're playing it on. I can't really fault developers for this, as implementing such a system would largely be overkill for most games, and maintaining the entire online infrastructure to track cross-device progress in a game like Dungeon Raid [$2.99 / Free] would be silly for the developer to do by themselves. For them, there's not much benefit. It would take a heck of a lot of engineering, and servers cost can be substantial� But that's where Apple comes in.
Monday's keynote introduced us to iCloud, an entirely free cloud-based storage system usable by everyone who owns a recent iOS device, and every developer who wants to use it. So, while it might have been entirely unrealistic for the Dungeon Raid developer to do all this himself, Apple has made it nice and easy.
I've spent most of the day today discussing the prospects of iCloud with many of the developers around WWDC and really one word can describe the temperature of each conversation: Excitement. According to developers who have attended various iCloud-centric WWDC sessions, implementing iCloud-based storage of game saves will be nearly as trivial as dealing with gave saves stored locally on the device is now. This means that as developers inevitably work on tweaking their various apps and games to make them more iOS 5 friendly over the next few months, they'll also likely switch their storage methods over to iCloud, as there's little reason for them not to.
It's still early though, and we're really just scratching the surface of what's possible on the first day of WWDC. One thing I wasn't able to get a very solid answer on was how this was all going to work between standard and HD versions of games. For instance, right now Game Center works like this: If you release your game as a universal app, you can share Game Center leaderboards and achievements for that game across all iOS devices. However, if you release the same game as a separate standard and HD version, Game Center treats those as entirely different apps, and as such, keeps leaderboards and achievements for each app individually.
It's an interesting problem, and no one is sure right now if there's a real solution. Apple obviously seems to want developers to focus on universal apps, but developers vastly prefer two different apps due to pricing flexibility, chart advantages, and several other very valid reasons. If Apple is sticking with the same restrictions as they have for Game Center leaderboards, I hope this just spurs developers to continue the trend we've started to see in offering universal compatibility in the HD version.
This truly seems to be the best of both worlds, as developers can still retain pricing flexibility for two different apps, while providing universal compatibility and cross-device iCloud save syncing while still providing a lower-priced option for those who only own an iPhone or iPod touch.
Another potential snag might be in how game saves are reconciled across multiple devices that might not always be connected to the internet. For example, if you've got a non-3G iPad and an iPod touch, and play the same game on both before returning to a friendly WiFi network. Each game will have different amounts of progress, and the developers I've spoken to so far aren't really sure how things will shake out once these two different game saves hit the iCloud.
Surely this is something Apple has considered, and I'm almost positive we'll find out the answer to all these questions and more in the next few weeks as developers delve into iOS 5. One thing is for certain, holy cow am I happy that cloud-based game save storage will practically be a standard feature in the not too distant future.
<!-- PHP 5.x -->