Search Unity

Best Practice for simple game with levels and stats

Discussion in 'Unity Analytics' started by EMOTION-THEORY, Jul 25, 2019.

  1. EMOTION-THEORY

    EMOTION-THEORY

    Joined:
    Jul 16, 2013
    Posts:
    68
    Hi,

    I'm trying to wrap my head around what is the best practice for using CustomEvents when it comes to a game with multiple levels and stats. What should the name of the event be, what would the parameters be, how do we work around limitations (supposed we have 20+ stats we wish to track), etc.

    Are there any resources that divulge into this that I could be pointed to?

    (Supposedly there's a Raging Bots demo dashboard, but I don't see this in my company's project list)

    Cheers!
     
  2. EMOTION-THEORY

    EMOTION-THEORY

    Joined:
    Jul 16, 2013
    Posts:
    68
    To give an example through the game we're working on:

    It's a two-player asymmetrical co-op game, so there are two unique players and a variety of levels.

    There are multiple stats, e.g. distance traveled, points earned, hits taken, and more.

    What I am after in my dashboard is seeing:

    level by level views
    comparing stats between the two players

    Our goal is to know what the high / low / average points are for those parameters so we can implement scoring systems around them.

    I'm confused as whether to send a big CustomEvent called "score" that has parameters such as all the stats including the level # and player #

    or

    sending a CustomEvent per level

    Also, there is a 10 parameter limit, so what is the best practice in working around those if your game has a variety of stats they wish to track?
     
  3. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    4,914
    This is up to you. You really only want to pass those parameters that expect to change each time. You don't want to send the same stat each time if it hasn't changed. What are your business requirements, what are trying to track and what problem are you trying to solve? I might suggest to implement something very simple, and then generate the report on the Dashboard. Make sure you generate the report first, to get an idea of what's available.
     
  4. EMOTION-THEORY

    EMOTION-THEORY

    Joined:
    Jul 16, 2013
    Posts:
    68
    Thanks for your response, Jeff! We have gotten some data for sure. I'll respond to your questions which will hopefully shed some light:

    Requirements:
    A scoring system that ranks two respective players between 1 to 3 stars for each gameplay stat per level.

    What we're trying to track:
    Player 1's stats on level 1: distance travelled, score, damage taken, etc.
    Player 2's stats on level 1: distance travelled, score, damage taken, etc.

    Player 1's stats on level 2: distance travelled, score, damage taken, etc.
    Player 2's stats on level 2: distance travelled, score, damage taken, etc.

    And repeat.

    What problem we're trying to solve:
    We're trying to identify what getting 3 stars in the game should be. (i.e. "Player 1: take less than X damage" - what should X be?)
    We're trying to find out the average score, distance traveled, damage done, etc stats are per level and player. Players are asymmetric and thus their numbers are likely to differ dramatically, so we need to tune X for each respective player/class.

    How I'm currently doing it:
    Analytics.SendCustomEvent("ScoreData", playerIDAndScoresDict);
    // This includes { "player", playerIndex } & {"level", levelIndex } as well as {"distance traveled", distance}, {"score", score} etc

    But I don't think it's made to be filtered in this way? At least I'm struggling to see a good view of Player 1 / Level 1 stats VS Player 2 / Level 1 stats, for example.

    Seems like we may want to do it this way (?):
    Analytics.SendCustomEvent("Level 1 - Player 1", p1ScoresDict);
    Analytics.SendCustomEvent("Level 1 - Player 2", p2ScoresDict);

    -

    Anyway, hope what I'm trying to do achieve makes sense! Help is greatly appreciated. I'm really digging the Unity Analytics so far, just want to know how best to use it!
     
    Last edited: Jul 28, 2019
  5. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    4,914
    Understood. Correct, the Dashboard won't provide you with a view into individual player activity, and shows aggregated data only (Sum, Count, Average). To perform the level of analysis that you are looking for (a Group By in SQL terms) would require Raw Data Export, a Pro-only license feature. https://support.unity3d.com/hc/en-u...ries-with-Unity-Analytics-and-Raw-Data-Export . You'll also want to look at funnels which do provide a view into player activity https://docs.unity3d.com/Manual/UnityAnalyticsFunnels.html