Reputation: 786
I have published an iOS game with a high score list. This list is stored locally on the device. The game is not user-aware, i.e. all scores achieved on a given device go to the same list.
The upcoming game version will add Apple Game Center support. Whenever a new high score is earned in the upcoming version, and a game center player is signed in, then the score is both stored in the local list and reported to game center. If no player is signed into game center, the score is just stored in the local list.
So far so simple.
Now, I am wondering whether I should give users the chance to submit the scores they have achieved in the previous app versions (without game center support), or achieved while they were not signed into game center. Since you can both write and read the player's scores to and from game center, implementing a two-way synchronization mechanism would be technically possible.
As a matter of fact, on a given device, a user can sign out of game center and sign in as a different game center player. Since my local high score list is not user-aware, syncing would mean that users could effectively copy high scores from one game center account to another one, thus obtaining high scores which they did not earn themselves.
I thought of several solutions, e.g:
None of the ideas seems optimal when you start thinking about details.
Here's my question: Is it best practice to only report scores to Game Center that a player has achieved while being signed in? (While accepting that hard-earned offline scores cannot be reported to game center). If not, are there best practices how to do the synchronization in the presence of switching game center players?
Note: A am not asking about re-sending scores in the presence of network problems. I am aware that a player can be logged into game center even without an active network connection. The game center implementation will care for re-sending scores reported while the network was down.
Upvotes: 0
Views: 76
Reputation: 786
It seems the question has bugged game designers since the beginning of Game Center.
It was asked already in 2012: handling multiple iOS Game Center users in a persistent game
The accepted (and only) answer points to this excellent article: http://www.mindthecube.com/blog/2012/04/handling-game-center-with-ios-multitasking
The "best practice", adopted by many games, seems to go as follows:
Upvotes: 0