-
Notifications
You must be signed in to change notification settings - Fork 11
Flow to use the BEACONING Teacher Dashboard
- Visualizations we want to see
- Analysis performed to obtain the visualizations
- xAPI traces required for the analysis
- Tracker calls
The complete description of the visualizations included in the BEACONING Teacher dashboard available can be seen on the BEACONING Teacher Dashboard wiki page. As a recap, the visualizations are the following:





- Students List
- Total Sessions
- Games initialized/completed
- Total Answers
- Questions Answered
- Percent of answers per minigame
- Average Score of all students in all games
- Average Score per student
- Scores stacked per player
- Game and Mini-Games progress per player
- Average progress over time
- Time to complete each activity
- Heat map
- Time to reach POI
The following sections summarize the process to obtain these visualizations from the end backwards, that is, from the visualizations we want to achieved, we go back to the analysis that need to be performed to obtain those visualizations, then to the Experience API (xAPI) traces that are required for those analysis and finally, the calls that developers need to make to the tracker and the specific parameters required in those calls to successfully obtain those xAPI traces.
To cover the needs of mini-games and meta-game for BEACONING, a custom index pattern has been created including 15 new variables: game_name, correct_answers, wrongs_answers, skipped_answer, total_questions, timeSpent, poiId, poiAverageSpeed, averageSpeed, poiDistance, distance, totalDistance, session_id, session_id.keyword and location.
For the BEACONING dashboard, a multi-level analysis is required to aggregate the information from children nodes to parent nodes in the tree of activities. The dashboards are filled up with the information coming from the xAPI traces aggregated to its level. The rules that define how information is passed from children to parents are called rollup rules. They include:
- completion and success rules: determine when a node has been completed based on the completion of its children nodes. This includes considering whether the completion of children has been done successfully or not. This analysis affects the visualizations regarding progress and duration and the visualization of games initialized and completed.
- progress and duration: progress of a node is calculated based on the completion of its children nodes. This analysis affects the visualizations regarding progress and duration.
To be able to meet the thresholds (established externally of the Analytics System to determine when a node is considered to be successful or not), xAPI traces are checked in the analysis and if needed they are modified, in particular, the completed traces are checked and compared against the established thresholds. Then, its success
field is checked to see if it actually has been completed successfully or not and updated consequently. Also, the checking for completion generates a completed trace when all children of a node have been successfully completed and threshold are met.
The previous analysis required some statements in xAPI, detailed below.
All traces sent by a player will have two fields: actor
with a subfield name
containing the player unique id; and another field timestamp
containing the date of the trace in a date format.
-
Students List:
-
verb
: completed -
object
: name of the completable -
result
:-
score
: value of score achieved
-
-
-
Total Sessions:
-
verb
: initialized -
object
: name of the full game-
definition
:-
type
: game
-
-
-
-
Games initialized/completed:
-
verb
: initialized or completed -
object
: name of the game-
definition
:-
type
: game
-
-
-
-
Total Answers:
-
verb
: completed -
object
: name of the mini-game -
result
:-
extensions
:-
correct_answers
: number of correct answers in mini-game -
wrong_answers
: number of wrong answers in mini-game
-
-
-
-
Questions Answered:
-
verb
: selected -
object
: name of the question -
result
:-
response
: answer in question
-
-
-
Percent of answers per minigame:
-
verb
: selected -
object
: name of the question -
result
:-
response
: answer in question -
success
: true if correct; false if incorrect -
extensions
:-
game_name
: name of the mini-game
-
-
-
-
Average Score of all students in all games:
-
verb
: completed -
object
: name of the game -
result
:-
score
: value of score achieved
-
-
-
Average Score per student:
-
verb
: completed -
object
: name of the game -
result
:-
score
: value of score achieved
-
-
-
Scores stacked per player:
-
verb
: completed -
object
: name of the game -
result
:-
score
: value of score achieved -
extensions
:-
game_name
: name of the mini-game
-
-
-
-
Game and Mini-Games progress per player:
-
verb
: progressed -
object
: name of the game -
result
:-
extensions
:-
progress
: value of progress achieved -
game_name
: name of the mini-game
-
-
-
-
Average progress over time:
-
verb
: progressed -
object
: name of the game -
result
:-
extensions
:-
progress
: value of progress achieved
-
-
-
-
Time to complete each activity:
-
verb
: completed -
object
: name of the game -
result
:-
extensions
:-
game_name
: name of the game -
time
: time spent in the completable
-
-
-
-
Heat map:
-
verb
: progressed -
object
: name of the game -
result
:-
extensions
:-
progress
: value of progress achieved -
location
: location of the player
-
-
-
-
Time to reach POI:
-
verb
: progressed -
object
: name of the game -
result
:-
extensions
:-
progress
: value of progress achieved -
poiId
: identifier of POI -
time
: time to reach POI
-
-
-
To track the previous xAPI statements, the adequate calls need to be made to the tracker. For instance, for the tracker implementation in Unity, the following tracker calls are required:
-
Students List:
Tracker.T.Completable.Completed(CompletableId, Completed);
andTracker.T.setScore(score);
where score is a float value. -
Total Sessions:
Tracker.T.Completable.Initialized(GameId, Completable.Game);
-
Games initialized/completed:
Tracker.T.Completable.Initialized(GameId, Completed);
andTracker.T.Completable.Completed(GameId, Completed);
-
Total Answers:
Tracker.T.Completable.Completed(MiniGameId, Completed);
andTracker.T.setVar(correct_answers, CorrectAnswersValue)
andTracker.T.setVar(wrong_answers, WrongAnswersValue)
where CorrectAnswersValue and WrongAnswersValue are the numbers of correct and incorrect answers in the mini-game. -
Questions Answered:
Tracker.T.Alternative.Selected(questionId, response, Alternative.Question);
-
Percent of answers per minigame:
Tracker.T.Alternative.Selected(questionId, response, Alternative.Question);
andTracker.T.setSuccess(success);
where success is a boolean value andTracker.T.setVar(game_name, gameName)
where gameName is a string with the name of the game. -
Average Score of all students in all games:
Tracker.T.Completable.Completed(GameId, Completed);
andTracker.T.setScore(score);
where score is a float value. -
Average Score per student:
Tracker.T.Completable.Completed(GameId, Completed);
andTracker.T.setScore(score);
where score is a float value. -
Scores stacked per player:
Tracker.T.Completable.Completed(GameId, Completed);
andTracker.T.setScore(score);
where score is a float value andTracker.T.setVar(game_name, gameName)
where gameName is a string with the name of the game. -
Game and Mini-Games progress per player:
Tracker.T.Completable.Progressed(GameId, Completable.Game, progress);
where progress is a float value andTracker.T.setVar(game_name, gameName)
where gameName is a string with the name of the game. -
Average progress over time:
Tracker.T.Completable.Progressed(GameId, Completable.Game, progress);
where progress is a float value. -
Time to complete each activity:
Tracker.T.Completable.Completed(GameId, Completable.Game);
andTracker.T.setVar(game_name, gameName)
where gameName is a string with the name of the game andTracker.T.setVar(time, timeValue)
where timeValue is the time spent in the completable. -
Heat map:
Tracker.T.Completable.Progressed(GameId, Completable.Game, progress);
where progress is a float value andTracker.T.setVar(location, locationValue)
where locationValue is the location of the player. -
Time to reach POI:
Tracker.T.Completable.Progressed(GameId, Completable.Game, progress);
where progress is a float value andTracker.T.setVar(poiId, poiIdenfier)
where poiIdentifier is the identifier of the POI andTracker.T.setVar(time, timeValue)
where timeValue is the time spent in the completable.
- Home
- Game developers Guide
- Analytics developers Guide
- Analytics users Guide
- System Overview
- Tracker
- A2
- Analytics Real-time
- Analytics Front-end
- Analytics Back-end
- Game Storage Server
- Upgrading RAGE Analytics
- Wiki Style Guide