Analytics in our game Source of Madness
In our game Source of Madness
we added analytics in order to help us balance the game, and see how fast people progress and what upgrades they choose etc. However, since we had to change some behaviour in regard to personal data we would like to give you an overview of what has happened since then.
Playfab: What got collected?
The following were (unpurposely) collected while playing the game, via our use of Playfab:
- Full IP addresses.
- Device info (hardware, OS, some local file paths)
Data is only accessible by me, and has not been shared with any third-parties. Data is only stored for 30 days (this is the minimum setting in Playfab).
How we addressed this
1. Disabled sending of unnecessary personal info
After the collection was pointed out on Steam
, we quickly disabled the sending of unnecessary data directly via the Playfab website. This was possible to do quickly without patching the game.
Data settings on the Playfab website (these were all enabled previously, by default)
This chart shows that the player "device info" events stopped being sent. "Player created" events are still sent, but they are anonymous.
The device data event contained device info and IP, but is no longer sent:
"Player created" events are still being sent, but only contain anonymous data:
Similarly, the client focus change events were disabled too (the green bars). These events have no personal data but we didn't need them so we disabled that.
Example of client focus change event (no longer collected):
2. Released patch with Opt-out checkbox
We also worked hard on Friday and Saturday to release a patch. The patch went live around 5PM CEST on Sat 14 May, and introduced an opt-out checkbox that disables the playfab analytics.
Added analytics opt-out checkbox
Our code for Playfab events, and how we modified it for opt-out. All analytics in our game use this function.
The patch is not yet live on consoles since it takes longer to release patches there, but we are working on getting it there as soon as possible. Still, the personal data is already disabled as of step 1 above.
3. Delete historic data
It proved extremely hard to remove historic data, although it is only stored for 30 days. We're still working on this, but have found that the only way is to delete the entire project on Playfab.
I already tried to remove all players, but this didn't purge the stored events:
Also tried setting retention to one day hoping it would clear older data, but that didn't work since the minimum is 30 days.
Anyway we're preparing now to remove the entire project. Just need to make sure this will not break any unpatched game clients, such as on consoles.
Data we still collect
We still collect with Unity Analytics
about some important actions in the game, such as when you die, unlock items, or complete a biome. This is sent together with some info about how long you've played in total, how much blood you've collected, etc. This gives us a way to check and balance the progression curve.
When a player logs in a login event is sent unless "Opt-out" has been enabled. This event contains the player's IP but the last part of it is masked to 0. Note that although the location is shown in the event, this location is based on the ip, AFTER being masked. No GPS or additional location data is
Player login event example (with IP masking):
We got a recommendation to use Playfab, and it seemed good. We were not really aware of the criticism against it which was pointed out on Steam
. We could've probably just used Unity Analytics instead. Anyway, the only part of Playfab we actually use is the analytics. Nothing else, no "online-only single player" or microtransactions etc.