Jason Lynch , 4th Year Individual Portfolio (The Thinking City) - Analytics

analytics

Back To Homepage

Relevance of Analytics in our game:

Since user testing is much harder to do now due to the Covid-19 outbreak we have implemented  analytics into our game. Analytics allows us to extract data as the user plays our game from any location. Once they start playing the relevant data we want to monitor such as how far they make it in the mission, which rooms they visit, how many times the A.I hits them. All this data is then sent back to us as the player plays the game so we can better assess the areas of the game that might need improvement. This data is invaluable for the test driven environment that we have been working in up to now. 

Technical Challenges:

In terms of technical challenges there are a few that come to mind straight away such as:

  1. The game needed to be linked to an organization
  2. Some of the data gathering features were for Pro versions of Unity only
  3. There was only one real source of documentation on how to set this up.

It was lucky for me that I had already set up an organization when building a Unity game for a prior "Game Jam" that I participated in so problem one was solved easily. Problem two however was not resolved. The pro version of Unity was €150 euro a month which I just couldn't afford to purchase at the time and attempts to get a trial from Unity by emailing them was unsuccessful. To that end I implemented as much analytics as I could for the free version.

References:

 

There is not a whole lot of tutorials out there to help with setting up and coding analytic events in Unity. However I did find documentation on it on Unity's official website. I also managed to dig up a games conference where the engineer of the analytics system talks about how to set it up and use custom events. This was extremely helpful. You can find the links below. 

Keywords searched: Unity, Analytics

Analytics Setup

Setting up an organization

The first thing needed to set up analytics for the game is an organization. This can be set up via Unity's website and will give you access to a limited number of developer tools for free such as analytics. 

Below you  can see an image of the tools given to you for free with an organization.

 asetup.PNG

Turning on analytics for the game

Once the organization is set up the next thing I had to do was link it to the game. This part is fairly easy. All you have to do is open the unity project where the game is being developed. From there open the "window" tab at the top of the project and navigate to "general". From there open the "services" window and a services tab should open just like in the right of the image below. Once that is done you simple turn on analytics by clicking on it. This will now allow you to set up custom analytic events and will automatically gather generic data such as the amount of people who played your game and when. 

 ser.PNG

Custom Analytic Events

To get the data we wanted to acquire from our users I had to set up custom analytic events. This is done by adding the analytics library to the code base and passing the data values you want through to the analytics gathering system with a custom name. This will then process the data gathered every two hours and display them in charts for you on Unity's web page so you can pour through the data it has gathered. 

Below you can see an example of a scripted event and the data we have gathered so far from users testing in all parts of the world.

scripta.PNG

 

gamestats.PNG.1