Game-analytics
Remote visualizer for games or simulations
Project maintained by jswigart
Hosted on GitHub Pages — Theme by mattgraham
What is Game Analytics.
Game Analytics is a library and visualization tool tool for remote real time visualization and manipulation of 3d environments, entities, and 'events' within the environment. It is meant to receive data from a host application, such as a game or simulation to visualize things like world geometry, navigation geometry, player/entity movement, and events such as kills, deaths, suicides, heatmaps for various player activity, etc. The application is still in its early stages of development, having spent a good amount of time experimenting with different visualization engines and messaging technologies.
Key Features
- Events are defined via protocol buffer message schemas to provide maximal flexibility for users to track whatever information they want to maintain and ultimately to drive visualizations with that information.
- The 'host' application utilizes zeromq pub/sub model to publish to the visualizer application
- The 'host' application links to the game-analytics library to publish events and 3d model information to the application in real time
- The 'host' application write all events out to a sqlite database that can later be used by the visualizer for playback within the viewer app offline from the host application
- The data stream will provide(to be determined) manipulation of objects within the visualization back to the host application. This may take the form of reflecting properties back to the host application, or perhaps a protobuf based service to easily configure data driven functions that may be used to enact certain changes on the host side from the visualizer.
Technologies Used
- Qt 5.5/Qt3d 2.0 - for the visualization application
- zeromq - for messaging between the game analytics library and the visualization app
- protobuf - for defining the messaging schema in a flexible and extendable way for users to add/edit event types
- sqlite3 - so the host application can optionally save all events to a database for later playback in the app
- curl/md5 - for legacy code to submit game event data to the free service http://www.gameanalytics.com/ (unaffiliated with this project)
Authors and Contributors
This library is a hobby project developed by @jswigart along side the FPS bot project https://github.com/jswigart/omni-bot as the first major user.
Support or Contact
This library is a hobby project, but @jswigart is still open to feedback, suggestions, or contributions. Feel free to provide feedback.