Skip to content

nmacadam/Abacus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

playtesting tools for unity (docs)

Abacus is a toolkit for defining and recording game metrics during playtesting sessions. It exports a JSON file after a playtesting session containing all of the recorded data, which can be visualized with Abacus Board. Abacus can be integrated into a Unity project with little to no coupling and removed just as easily for production builds.

Getting Started

Download the latest release and head over to the documentation for an introduction to the Abacus toolset—or dive right into the scripting documentation.

Feature Overview

📜 Generic Value Recording

Abacus can periodically record generic type values throughout gameplay. This is accomplished completely nonintrusively with a Metric component. No calls like 'Abacus.RecordValue(myValue)' required--it's handled automatically! The default time step for recording values can be globally adjusted, or a custom time step can be assigned to each Metric. Creating a new Metric recorder is simple, either inherit from FieldMetric<> to read from fields, or PropertyMetric<> to read from properties.

⏱ Temporal Recording

Abacus provides several means to record temporal data about gameplay. These components do require a call to record but are built to easily integrate into your project's event system.

  • Timestamps (mark a time with a string and save it)
  • Stopwatch (single event, multiple durations for comparison)
  • Splitwatch (seperate, sequential events for an event timeline)

📋 Abacus Board Data Visualization App

Abacus Board is an accessory app that visualizes data and generates statistics from the Abacus plugin output file. Check out its repository or see it in action.

Roadmap

  • Customization settings for intermediate value dumping
  • Scene-Agnostic recorders
  • Cumulative metrics for multiple sessions
  • Screenshot support
  • Raw data output types (.csv, etc.)

detailed roadmap here

📦 Dependencies

  • Json.NET for Unity
  • NSubstitute (only for tests)

About

🧮 Playtesting metrics tools for Unity

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages