question

shashchamp avatar image
shashchamp asked

Is GameDataMap necessary in GameCircle-2.0

Hi I have worked with GC-1.x and it used to sync the file which I used to provide. I am working on a new game and wanted to integrate 2.x But in GC-2.0 , the documentation says we need to create the GameDataMap. Is it necessary or just an option which is like good to have. My game creates an savegamedata.xml flie inside data/data/package_name/files similar to previous games which I synced with gc-1.x and everything works fine. Will 2.0 be able to sync this file like GC-1.x or do I need to create an equivalent GameDataMap of this file?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Bipin@Amazon avatar image
Bipin@Amazon answered
GameCircle 2.0 removes the need for having to deal with custom files so it can provide automatic conflict resolution without the player needing to choose which save file to use. To leverage this seamless synchronization, GameDataMap needs to be used. GameCircle 2.0 does not synchronize game data files as GameCircle 1.0 does.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Update: With the release of GameCircle 2.1, we have introduced DeveloperString which can handle your savegamedata.xml file as a single, non-mergeable String. Unlike GameCircle v1.x, you would need to present your own conflict resolution dialog to ask the player to select between 'Cloud' or 'Local'. GameCircle 2.1 now supports iOS devices, so we can no longer support direct file back-up and restore. Read more about SyncableDeveloperString here: https://developer.amazon.com/sdk/gamecircle/documentation/whispersync.html#Section3 Depending on the type of data your game uses, modeling it with GameDataMap can have several advantages. If your game has multiple levels, each with a high score or a star count, conflicts will automatically merge by taking the best score for each level from each device. If your game has lifetime counters like "total shots fired", using SyncableAccumulatingNumbers will perform the delta merge without the player having to sacrifice progress with a 'Cloud or Local' choice. You can also perform your own conflict resolution while using SyncableDeveloperString.setValue() and markAsResolved() methods.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.