Skip to content
/ t-mon Public

T-Mon: Monitor of traces in xAPI-SG in Python

Notifications You must be signed in to change notification settings

e-ucm/t-mon

Repository files navigation

T-Mon: Traces Monitor in xAPI-SG

Binder

logo nombre

Table of Contents

Introduction

T-Mon: Traces Monitor in xAPI-SG

T-Mon is a set of Jupyter Notebooks to process data in the xAPI-SG data format. T-Mon loads xAPI-SG statements (traces), analyzes them, and displays a default set of visualizations that provide a quick overview of its contents.

T-MON aims to display information as a quick overview for multiple stakeholers (game developers, teachers applying games, data scientist with little previous game knowledge).

Visualizations are better design to fit data of about 20-30 students (average class size), although many of the visualizations which display aggregated data also work for larger datasets.

Usage

1. Select your mode

The main Jupyter Notebook of T-Mon is T-Mon.ipynb. In the first line of the notebook:

  • set local = True if you are hosting your own Jupyter server locally.
  • set local = False to work with a web-hosted Jupyter server.

Keep storage = file. You can execute the xAPI-SG Processor and interact with it online using Binder.

2. Select xAPI-SG traces file

When running the T-Mon.ipynb notebook, you will see a widget file selector.

  • If using local mode, the selector will allow you to navigate in your local directory. JSON files will be highlighted in green.

local upload

  • If using remote mode, you will be able to upload your data file.

remote upload

In any case, choose your JSON file containing a list of xAPI-SG statements.

3. Run the analysis

Finally, run the analysis.

After selected, all xAPI-SG statements in your JSON file will be processed (the Jupyter Notebook ProcessxAPISGStatement.ipynb processes each xAPI-SG statement).

With the information extracted from the statements, the default set of visualizations will be displayed in different tabs in the notebook. See below for details about the visualizations included.

SIMVA

simva logo

The xAPI-SG Processor can also connect with SIMVA to analyze the traces stored there as part of experiments.

To connect with SIMVA and analyze the xAPI-SG traces files stored there:

  1. Previous requirements:
pip install ipyauth.tar.gz
jupyter nbextension enable --py --sys-prefix ipyauth.ipyauth_widget
jupyter serverextension enable --py --sys-prefix ipyauth.ipyauth_callback
  • Install other dependencies required by the Notebook (boto3 and jwt):
pip install boto3 jwt
  1. The main Jupyter Notebook to use is T-Mon-SIMVA.ipynb.
  2. Run the first cell in the notebook. A "Sign in" button will appear in the output.
  3. Click the "Sign in" button, it will pop up a window when you need to enter your SIMVA credentials.
  4. Once you have signed in, run the following cells. Keep storage = simva, so you will be able to access all traces JSON files available in your SIMVA account.
  5. Select your activity id and the traces.json file.
  6. Run the analysis.

simva upload

xAPI-SG

The Experience API Profile for Serious Games (xAPI-SG) is a validated xAPI Profile to collect information from serious games. Each xAPI-SG statement (trace) represents an activity in the context of a serious game.

For more information about the xAPI-SG Profile, you may visit:

To generate random xAPI-SG data, you may also try our xAPI-SG data generator.

Default visualizations

The Jupyter Notebooks with the default set of visualizations are included in the folder /vis.

We currently provide default visualizations (see below for description and examples) with the following information:

  1. Games started and completed
  2. Progress of players
  3. Videos seen and skipped
  4. Progress in completables
  5. Progress changes in completables
  6. Scores in completables
  7. Times in completables
  8. Correct and incorrect choices per player
  9. Correct and incorrect choices in questions
  10. Alternatives selected in questions
  11. Interactions with items
  12. Interactions and actions with items
  13. Accessibles accessed
  14. Selections in menus

xAPISG-GamesStartedCompleted

Displays a pie chart of games started and completed.

games started completed

xAPISG-PlayersProgress

Displays a line chart showing progress over time for each player.

progress

xAPISG-VideosSeenSkipped

Displays a bar chart showing, for each video, the total number of times it has been seen and skipped.

videos

xAPISG-CompletablesProgress

Displays a bar chart showing, for each player, the progress achieved in the different completables of the game -- as well as in the total game.

completables progress

xAPISG-CompletablesProgressIncreaseDecrease

Displays a points/line chart showing, for each player, the progress along time: increase or decrease of different completables of the game.

completables progress incdec

xAPISG-CompletablesScores

Displays a bar chart showing the score achieved by players in the different completables.

completables scores

xAPISG-CompletablesTimes

Displays a bar chart showing, for each completable, the maximum and minimum time of completion by players.

completables times

xAPISG-CorrectIncorrectPlayer

Displays a bar chart showing, for each user the number of correct and incorrect alternatives selected in multiple-choice questions.

correct incorrect player

xAPISG-CorrectIncorrectQuestion

Displays a bar chart with the total number of correct and incorrect alternatives selected by players in each multiple-choice question.

correct incorrect question

xAPISG-AlternativesSelectedQuestion

Displays multiple bar charts showing the alternatives selected in each multiple-choice question.

alternatives

xAPISG-ItemsInteracted

For each item, a bar-chart displaying, for that item, the number of times that each player interacted with it.

interacted bar

A heatmap showing how many times each player interacted with each item.

interacted heatmap

Also, a bubble chart displaying item interactions as a function of time. Larger bubbles indicate more players interacting with the item at that time-period.

interacted bubble

xAPISG-ItemsActionTypeInteracted

Displays a multiple bar chart showing, for each action type (e.g. talk_to), the total number of times the player has interacted with it.

interacted action type

xAPISG-AccessedAccessible

For each accessible, a bar-chart displaying, for that accessible, the number of times that each player accessed it.

accessible bar

A heatmap showing how many times each player accessed each accessible.

accessible heatmap

Also, a bubble chart displaying access to each accessible as a function of time. Larger bubbles indicate more players accessing an accessible at that time-period.

accessible bubble

xAPISG-MenusSelected

For each selection-menu, a bar-chart displaying, for that menu, the number of times that each player selected each option.

menu