\____    /___________  ____            
          /     // __ \_  __ \/  _ \           
         /     /\  ___/|  | \(  <_> )          
        /_______ \___  >__|   \____/           
                \/   \/                        
   _____          __         .__               
  /     \   _____/  |________|__| ____   ______
 /  \ /  \_/ __ \   __\_  __ \  |/ ___\ /  ___/
/    Y    \  ___/|  |  |  | \/  \  \___ \___ \ 
\____|__  /\___  >__|  |__|  |__|\___  >____  >
        \/     \/                    \/     \/ 


  Note: Requires Zero Build 2014/2/21 (8258) or later

  This plugin for Zero is standalone support for the services provided 
  by  The goal for this is to allow 
  designers in GAT classes to be able to incorporate metrics into their
  projects, to better fuel design decisions and make stronger choices
  when crafting their game projects.

  Readme.txt (This File)


  To use this service, first you will have to register with the 
  gameanalytics service. To do so, follow the following steps:

    0. If not already, please make sure you have Zero Build 8258
       (February 2nd, 2014) or later installed on your computer.
       If you do not, the Metrics system will not work and raise
       an error. 

       The 8258 build introduces expanded functionality in the 
       WebRequester component native to Zero, which allows you
       to make HTTP POST requests necessary for access to 
       GameAnalytics's servers. 

    1. Head to and click "Sign Up."
       From there complete their registration fields in order to 
       register yourself with their website. You will need a valid
       email addres in order to use their services. 

       You will create a studio for your projects here as well, 
       and in this studio you can organize your games as well as 
       give differing people access to studios (such as your GAM 
       team at DigiPen).

       When you add your Game to the service, you will simply create 
       a templated services page for your game which can then be used
       to display the events that you have sent to the server.  

    2. Once you have created an account, studio, and a game to your
       studio, we will need to pull the data from the analytics 
       service to use it in conjunction with Zero.

       From your Home page, go to your game's "Settings" page, 
       which can be accessed by clicking on the gear icon 
       next to the title of your game on your studio.  It can
       additionally be accessed from your game's webpage by 
       clicking on "Game Settings" on the top right of the screen. 

       Here you will find the three Game Keys that you will need
       in order to dispatch the Events in Zero.  The different 
       keys are:

          Game Key:     This is the key that is connected to 
                        your game, and will be used in any sort 
                        of HTTP POST request with the server. 
          Secret Key:   This is an authorization key used to 

          Data API Key: This is the key used in order to obtain
                        data from the servers, such as Heatmaps
                        and query information. 

    3. Add the python files "Metrics" and "Metrics-Test" (optional)
       to your Zero Project. After these files are added, you 
       will want to target a static object in your game that 
       will be persistent. I suggest the Game object, selected
       via pressing Shift + G. 

       Add the "Metrics" file to your Game object, as well as 
       a WebRequester object.  In the Metrics component, use 
       the keys that has been obtained from your game's page
       to fill in the appropriate properties. 

       The "TrackSessionLength" boolean (on by default) will 
       automatically dispatch an event to your server when the 
       game starts and when the game quits.  This is important
       because GameAnalytics will track session length based 
       off of the first and last events sent with the same 
       session id.  However, if you don't want this functionality
       you can turn off this by simply checking it.

       The "PrintStatements" boolean (off by default) will 
       print out debug statements regarding dispatches to your
       console window. The dispatches are printed out in the 
       following format:

       [Metrics:Dispatch] ### BEGIN DISPATCH ###
       [Metrics:Dispatch]    <EVENT_ID>
       [Metrics:Dispatch]        DATA:          JSON
       [Metrics:Response]        RESPONSE DATA: {"response":"value"}
       [Metrics:Response]        RESPONSE CODE: 123
       [Metrics:Dispatch]    <...>
       [Metrics:Dispatch] ###  END  DISPATCH ###

       The "Build" value is a string value which can be used
       to denominate what types of builds your running tests
       on. This can be crucial if you're doing focus testing 
       with a specific build of the game, or if crashes are 
       occuring on a build that you know you have fixed on.
       NOTE: These can be any strings, not just numbers.

    4. Now you're ready to start using your own calls to the 
       metrics system for use.  Use the "Metrics-Test" file as
       a reference for proper ways to utilize the script, how 
       to dispatch events, and how to generate heatmaps. 


  If you have problems, questions, ideas or suggestions, please contact me
  by emailing me at, or finding me in Edison.


  Visit the gameanalytics website in order to view your data and obtain
  the keys you need to use this service effectively:


  This data was made with permission from DigiPen Institute of Technology,
  and with the permission of the Zero Team under DigiPen.

  (C) 2014 DigiPen (USA) Corporation, All Rights Reserved