Game Telemetry
This project is an example of using analytics for gaming to enhance player experience, ensure fair play, and provide real-time gaming metrics. The platform includes various services such as game telemetry, scoring, a bot detector, and an administration dashboard. It's designed to showcase how easy it is to implement artificial intelligence in computer games.
Main project components
Snake Game
A classic gaming python experience in the form of a simple snake game. Eat the apples and avoid the walls (and your tail) to get the highest score.
Game Telemetry Websocket Service
A websocket service that receives data from each game client.
Normalization Service
Normalize game data to enable easier downstream processing.
Scoring Service
This service tracks the players score for use in the dashboard.
S3-Sink
Sink raw game data and computed values to S3 for model training and analysis.
Redis-Sinks
Sink data to S3 to power dashboards and other downstream services.
Web Socket Server
Used to publish data back to the game clients for live and immediate response.
Dashboard
An admin dashboard showing the current leaderboard and who’s been cheating.
Technologies used
- Docker - https://www.docker.com/
- Kubernetes - https://kubernetes.io/
- Quix Streams - https://github.com/quixio/quix-streams
- Flask - https://flask.palletsprojects.com/en/2.3.x/#
- Pandas - https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html
- Iceberg - https://iceberg.apache.org/
Using this template
Gaming: cheat detection, winner prediction, player rewards.