Of course I know, it depends on what type of game you are making, but generally speaking, whats the best strategy for Saving your game's State? ( with special consideration for making it economic in terms of Bandwidth )
So for example, in my project, the Player has some simple light statistics like "Experience", as well as some heavier, more complex (Non-PayVault) objects ( an "Inventory "), which are complex data types, and bigger in size.
I suppose there is no point in calling the .save() function on the PlayerObject to save everything every 500 ms right? as that would be just a waste of bandwidth? So I am calling it only when something changes from any of the above properties. But here is the interesting bit, If I call .save() every time the user just gains a new experience point, which is just an integer, then does that mean that the entire local set of Data gets sent again to the remote server, including the heavier "Inventory" items which have not changed?
So would it be a good idea to create another Table, with a different set of objects, corresponding with each PlayerObject, specifically just for their "Inventory", where the heavier Items would be stored, that don't get updated too often? And run a separate set of logic for it to determine when to perform a .save() on that?
PS: is there some kind of built in "protection" for the save() function similar to the PayVault.refresh() that it only saves if there has been a change since it last sent the data back?
In an ideal world, it would check the properties against a local copy and only send the bits to the server that have changed