Please select what you are reporting on:
Creative
What Type of Bug are you experiencing?
Creator Portal
Summary
When using analytic devices in our maps, we are having impossibly high values reported in the analytics, based on the total number of players during the measured time.
For example, using this code to use an analytic device to estimate total number of plays:
analytics_manager:= class(creative_device):
@editable PlayerJoinedOnceAnalytic : analytics_device = analytics_device{}
OnBegin<override>()<suspends>:void=
GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerJoinedServer)
OnPlayerJoinedServer(Player:player):void=
PlayerJoinedOnceAnalytic.Submit(Player)
The analytics on this device will report 3x more activations that the total number of players who played the map within that timeframe. You would expect these numbers to be equal. There are days where the analytics will be slightly closer to the total number of players reported, but it always exceeds it.
We see the results of this strange behavior on other analytics as well, saying the average player purchased relatively expensive items 60+ times, which is just impossible.
Hopefully this example helps demonstrate that analytic activations are being counted multiple times when displayed to the creator portal.
Steps to Reproduce
-
Have analytic device in map, using the following code:
analytics_manager:= class(creative_device):
@editable PlayerJoinedOnceAnalytic : analytics_device = analytics_device{}OnBegin():void=
GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerJoinedServer)OnPlayerJoinedServer(Player:player):void=
PlayerJoinedOnceAnalytic.Submit(Player) -
Let map accumulate data
-
Review analytics in creator portal
-
Observe analytic activation 3x or more activations than plays
Expected Result
Analytic devices using the following code:
analytics_manager:= class(creative_device):
@editable PlayerJoinedOnceAnalytic : analytics_device = analytics_device{}
OnBegin<override>()<suspends>:void=
GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerJoinedServer)
OnPlayerJoinedServer(Player:player):void=
PlayerJoinedOnceAnalytic.Submit(Player)
Reports the same number of activations as plays in the creator portal
Observed Result
Analytic devices using the following code:
analytics_manager:= class(creative_device):
@editable PlayerJoinedOnceAnalytic : analytics_device = analytics_device{}
OnBegin<override>()<suspends>:void=
GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerJoinedServer)
OnPlayerJoinedServer(Player:player):void=
PlayerJoinedOnceAnalytic.Submit(Player)
Reports 3x or more activations as plays in the creator portal
Platform(s)
All / N/A
Additional Notes
Hopefully this example helps demonstrate that analytic activations are being counted multiple times when displayed to the creator portal. This makes analytic devices effectively useless, as the data is not reliable.