question

shrinearchcreations avatar image
shrinearchcreations asked

I want to save my games's world map data to server. Each player can update this world map data and other players can also sync this data. So each time when any user make any changes other will also know about this.

Player DataShared Group DataCharacter Data
10 |1200

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

1 Answer

·
brendan avatar image
brendan answered

Sorry, but a generic data system which allows all players to update the same data in a consistent manner so that it's guaranteed that any player's update will immediately be visible to all other players would be incredibly expensive to operate, and is not part of our current offering.

At a high level, there are two primary types of data in an online system:

1. Data which can be read by all players

For this, we have systems like Title Data, Publisher Data, Content, and Title News. These systems are distributed - sharded and cached - so that each element can be read by many players at the same time.

2. Data which can be written to consistently (write something, and it can immediately be read back) by players

For this, we have all the forms of user data, shared group data, etc. It's data that can be written to by the user, but because each entry is a single row in a data table, you cannot have a lot of players trying to read from it at once (it's just the reality of physics - each request must be serviced separately) and if multiple players tried writing to it at the same time, you'd have collision issues.

Now, there are specialized data sets that do allow for input by many players at once - our leaderboards (statistics) system is an example of this. For a data system which requires input from many sources and which can be read by many clients, a custom implementation is required so that it can meet the specific requirements of the design while minimizing costs. For example, in most (if not all) realtime online games where players can see each other moving, clients get updates for other player positions based upon a "relevance" calculation, which usually combines things like distance from the local user, whether they're within the view frustum, whether they recently interacted with the local user, etc.

10 |1200

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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