Contributions: MySQL Data Logging Service, MySQL API Service, Game Statistics Service, Data Visualization
Role: Client-side programming for the data collection and the web portal; Server-side for the back-end management of the data.
Engine: Unreal Engine 4, Unity (For client-side data collection)
Languages: C#, C++, Java
Tools: Docker, Kafka, CassandraDB, MySQL
About
GURaaS (Game User Research as a Service) is a data analytics service aimed at game developers and researchers, interested in collecting meaningful data on their projects. The system provides a set of tools to collect the data, which can later be viewed on the web portal and visualized in meaningful ways - either through charts or a heatmap.
Architecture
The data is collected on the client-side via a plugin and is then sent to a server-side service, which parses it and sends it to Kafka. Other services, such as the Data Loggers, can subscribe to Kafka via a regular expression pattern and receive data matching that expression. From there, the data loggers receive the data, process it and store it into the different databases. The data can then be accessed via exposed HTTP end-points and visualized on the portal in the form of charts or heatmaps.
Contributions
- Ported the server-side to a Docker container environment for distribution and scalability purposes.
- Implemented data collection into several projects via a unified and simple API.
- Implemented a Data Logger, which stores data incoming log data into a MySQL Database.
- Implemented a Statistics Profiler which monitors incoming data and stores statistical data into a MySQL Database.
- Implemented various services with exposed end-points so that the database data may be accessed.
- Worked on the visual data representation on the web portal front-end.
Disclaimer: Due to the company’s wishes, I am not allowed to show any code from the project.