I'm using Parse within a LibGDX game to help with social logins, saving gamestates, high scores, etc. I'm currently using a json file to store level completion, but I'm struggling with coming up with an effective means of syncing data.
The game will have ~100 levels each with 3 possible completion points per level (i.e. 300 data points). A user can get any number of completion points per level (i.e. point 1, 2, and 3 are not contingent on one another).
Because the game uses logins, as well as supports offline play, it is possible for an individual client to be out of sync with the server (i.e. server sees 2/3 points for a level and the client sees 3/3 points).
Do you have any suggestions on the most effective means of syncing? Should the client download the server file, upload any additions, and resync? Any advice leading me in the right direction would be very much appreciated.