question

Jon avatar image
Jon asked

Suggestions for storing player data to be queried

We have some player data that we would like to query / aggregate periodically (once a week, once a month).

Some example data:

* weapon that players have equipped (to see which weapon is most popular, etc)

* distribution of player progress by level (to see how far players have progressed)

We use analytics libraries events that are more important real time or time sensitive, but for the examples listed above, we care about 'snapshot' of all players (even inactive).

Does PlayFab have a good way to store / get this type of data?

For example, we currently store the 'equipped weapon' in PlayerData.. example: { weapon: "001" }

For player progress, we store it in PlayerData as well.. example: { highestLevel: 121 }

For player progress, we also want to be able to determine how much progress they have made in regards to other players. For example, if 90% of players beat level 10, and you beat level 11 - then you are better than "90%" of players. So being able to snapshot this data and store it precomputed would be helpful for that.

Thanks

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

The way to do this would be by making sure you have events generated containing the data you need, and then either using the data via Insights (potentially using one of our Connectors), or exporting it so that you can use your own tools. So, if you have numeric values, you may want to consider just making those statistics, since there's an event generated for any stat change in the service. For more arbitrary data, you'll want to generate your own custom event.

2 comments
10 |1200

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

Jon avatar image Jon commented ·

I see, thanks.

All this data is generated server side (cloud script), not client side

I suppose the alternative then would just be push that data from the cloud script to our Azure DB. Would avoid having to push a lot of individual events through PlayFab so the cost would be lower.

0 Likes 0 ·
brendan avatar image brendan Jon commented ·

Either way, yes. You could also save on the events by sending them as Telemetry events, if you don't need them in PlayStream actions/segments. The one downside to sending them separately to your Azure DB would be the risk of some amount of delta between the state in PlayFab and the info you have in your tables.

0 Likes 0 ·

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.