question

ilyas kose avatar image
ilyas kose asked

Level logs for balance levels

We are making match-3 game.
After player completes level it creates log which includes

levelNumber, winOrLose, moveCount, usedBoosters, earnedStarCount, didPlayerMakeAPurchase, shuffleCount, levelDifficulty, gameStartedAt, gameEndedAt

We need to store this logs everytime a player completes a level.
And than we need to query this log.

Ex: Average move count at level 245
Ex: Winrate of level 610

So we can balance hard levels increase its move count or decrease goals etc.


Current we have custom server which has 20k+ players.
We are planning to migrate to Playfab.
Everything seems fine except playerLogs we could't find a way to implements this.

Player 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

Since the use case is to have this data available for post-analysis so that you can balance the game, what you really want is to have all this data in a custom event on level end. That way, you can access the data through our analytics services and evaluate them there. It would also be simple to just hook this up to PowerBI, for easier evaluation. If you want to be able to also use these events to drive actions in PlayStream (so, being able to take some custom action in the game based on any of this data in realtime), you would use WriteEvents (https://docs.microsoft.com/en-us/rest/api/playfab/events/playstream-events/writeevents?view=playfab-rest). If you don't need that, WriteTelemetryEvents would be the way to go (https://docs.microsoft.com/en-us/rest/api/playfab/events/playstream-events/writetelemetryevents?view=playfab-rest).

3 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.

ilyas kose avatar image ilyas kose commented ·

Thanks for your answer Brendan!.

For example there is only two players in server. And here is the level 61 log.

Player1: Lost log
Player1: Lost log
Player1: Win log
Player2: Win log

So player average winrate of level 61 us %50. And average tryCount is 1.
How to and where to queue this on Game Manager ?

0 Likes 0 ·
Citrus Yan avatar image Citrus Yan ilyas kose commented ·

In your example, you can use WriteEvents or WriteTelemetryEvents (this will bypass PlayStream) to write these four level 61 logs as events to PlayFab. Then you can use the new PlayFab Explorer feature (currently in public preview) to query and analyze those events to balance your game's hard level, please navigate to the link to learn more, or, you can archive all your events to other services and analyze there.

Actually, PowerBI does sound like a simple and easy way to achieve this, you should consider it.

0 Likes 0 ·
ilyas kose avatar image ilyas kose Citrus Yan commented ·

Thank you very much. We will look at it

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.