Playmaker Forum

PlayMaker Help & Tips => PlayMaker Help => Topic started by: shadowof047 on February 21, 2017, 05:22:15 PM

Title: Game with a lot of data
Post by: shadowof047 on February 21, 2017, 05:22:15 PM
I'm trying to make a game like "magic rush" or even "clash royale" which contains alot of data like this :

hp , mp , attack , magic def , phys def , critical rate , etc  ....
all of this for each hero and player may have more than a hundred heroes .

After searching a bit , i think my options are :
 
1- Game data Editor(GDE)
2- Inventory pro ( well , every hero or card could be just an item with some stats in those kind of games if you think about it)
3-Playmaker's Datamaker .

at the moment i'm leaning toward GDE .

and i want to save players data in the google account for each player and after some research i think i can do this with "Android native plugin" from stan's assets .

but i have little experience in making this kind of games with alot of data and i'm sure you guys can give me some pointers . so the question is , which path is easier ? which one can be saved into google account ?
i have absolutely no experience in working with google account , and i couldnt find any tutorial for saving and loading to google account with playmaker .
so if anyone can help , i appreciate it :)

Title: Re: Game with a lot of data
Post by: elusiven on February 21, 2017, 05:52:13 PM
A lot of choices and all of them should be sufficient for you

1. Datamaker XML
2. Datamaker JSON
3. Google spreadsheets
4. GDE
5. SQL-lite
6. AWS (Amazon Web Services)
7. Microsoft Azure

Our app has thousands of level data entries in an XML file which is downloaded from S3 (amazon storage). So we make changes online, and the app automatically pulls newest data. This could be done with options 1,2,3,6,7. I'm not sure about GDE and SQL-Lite is local storage only. I'm using Google Spreadsheets for translation only, but I would imagine that it works like any other table data storage similar to databases.

It says that GDE "works" with google spreadsheets so it might be a perfect tool for you since it has playmaker support.
Title: Re: Game with a lot of data
Post by: shadowof047 on February 21, 2017, 06:39:11 PM
Thanks for the quick reply .
i'm leaning toward GDE because in the tutorials i saw , making data in it is ALOT easier than other options . all of it is done in the editor , and getting/setting data in runtime is very straightforward and easy compared to xml with datamaker xml.

i dont know if GDE can edit google spreadsheet data during runtime or not .but in GDE tutorials it shows that it initialized a .txt file and all the data is save into that .txt file .

so is it possible to save that .txt file into google account somewhere during saves and read from it later ?

Also i'm not sure how does Stan's asset "android native plugin works . i think the action for save is "AN_CreateNewSnapshot" ,but i couldnt figure out how it works or what data it saves (it only has a string field for save data) https://unionassets.com/android-native-plugin/actions-list-98#an_createnewsnapshot (https://unionassets.com/android-native-plugin/actions-list-98#an_createnewsnapshot)
Title: Re: Game with a lot of data
Post by: shadowof047 on March 12, 2017, 10:30:18 AM
After some more search about saving into google cloud , and that particular action which i mentioned in the post above ("AN_CreateNewSnapshot") , i learned that i can also pass in a json string for data to save !

For example , lets say i have these 3 variables :

int hp = 100;
int damage = 10;
string name = John;

How do i make a json string out of these in playmaker ?

Here is some example of how its done in c# , according to Android native plugin's unity forums.

Code: [Select]
    int points = 20;
    int bullets = 15;
    float time = 120f;
     
    Dictionary<string, object> JsonData = new Dictionary<string, object>();
    JsonData.Add("points", points);
    JsonData.Add("bullets", bullets);
    JsonData.Add("time", time);
     
    string data = ANMiniJSON.Json.Serialize(JsonData);
    GooglePlaySavedGamesManager.Instance.CreateNewSnapshot("Name", "Dexscription", coverImage, data, playedTime);