Server access to GameKit highscores/achievements for submit and retrieval

Originator:christoffer.lerno
Number:rdar://11753802 Date Originated:27-Jun-2012 12:19 AM
Status:Open Resolved:
Product:iPhone SDK Product Version:
Classification:Feature Reproducible:Always
 
Summary:

Today it is not possible for a server based game to easily update a player's highscores and achievements. Instead the server often need to send the results to the client which in turn sends the scores/achievements to Apple using GameKit. 

This is both a technical hurdle as well as something that helps cheating.

I suggest a scheme where a server can receive a certificate to upload and access scores pertaining to a game.

Steps to Reproduce:

Suggested flow:

Sending highscore/achievements
1. Player finishes a server-based game, or unlocks an achievement.
2. The server sends the score or achievement on behalf of the player, using an apple issued certificate encoded with the app.
3. The high score / achievement updates on apple's servers.
4. The server may now inform the client that the achievement / highscore has been submitted so that they can be refreshed.

Retrieving highscores
1. Server sends a request to an apple server for top highscores using an apple issued certificate encoded with the app.
2. The top highscores are returned.

Retrieving highscores
1. Server sends a request to an apple server for top highscores using an apple issued certificate encoded with the app, giving the player id.
2. The unlocked achievements for the player are returned.

Notes:

This would create interoperability with other platforms, which is important if there is a desire to see games on Mac/iOS use GK as their base. Without this functionality, GameKit becomes a secondary system to which you push information to but never synch from.

Ideally, expand GK as a platform-independent service, but then make sure that the top features are only available though GK. Basically I hope you can make stuff like OpenFeint redundant.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!