profile for monkeydom at Stack Overflow, Q&A for professional and enthusiast programmers


coding bits I use, come across, like, hate, the whole shebang.

twitter | github | mastodon     rant-dom     rss | archive


Games, iCloud and Game Center

There is a dilemma Game Developers face on iOS in terms of synced game state across multiple devices. This also applies to games that you deleted from the device once and want to continue playing some time in the future.

Apple's recommended solution is to use the iCloud. However the iCloud storage is not tied to your Game Center account. This causes some major problems:

  • Somebody logged into Game Center on a device that does not have his iCloud account simply doesn't get his/her save games / game state (little known fact: you can log into the game center on any device using your account)
  • Since the iCloud account and the Game Center account are totally independent, there is no way of telling the user about this fact gracefully, so you end up just creating a new game state for this game center id on this iCloud storage, everyone is confused.
  • You essentially have to design your app around the fact that the user might have an iCloud account or not, and might have a Game Center account and not, and any combination of iCloud account and Game Center account, and work fine and predictable in every case. This adds very unnecessary complexity to quite a simple problem: taking care of the users progress in the best possible way.

However, there would be a simple solution to this dilemma: make Game Center provide storage that is tied to the Game Center account. That is the natural fit. Users would get what they expect. If you think so too, please file a duplicate of rdar://11263793 so we get this rather sooner than later.

Sadly, this is just one of the little details Apple did not figure out right with Game Center.