Reduct collects logs as the player navigates through the game. Here are the types of logs that can be collected. Since logs are JSON-formatted, some of them have properties that increase the amount of information they carry. Every log entry has a timestamp.
Each log has a netId, which is the player's NetID, and a sessionId, which is
a random UUID that remains constant as long as the player does not close the
game.
session:start: the player has opened the game windowsession:end: the player has closed the game window. this event is not guaranteed to sendwindow:blur: the player has navigated away from the game window, but not closed itwindow:focus: the player has navigated back to the game windownav:tutorial: the player has navigated to the tutorial screennav:title: the player has navigated to the title screennav:gameplay: the player has navigated to the gameplay screennav:credits: the player has navigated to the credits screennav:survey: the player has navigated to the survey screen
research:consent: the player has given or refused consent to participate in the study.consent:trueif the player gave their consent,falseif they refused
game:start-level: the player has started a levellevelIndex: the 0-based index of the level they started
game:move-node-to-board: the player has moved a node from the toolbox or from a slot to the boardnodes.moved: the node that the player movederror: the error that was displayed when the player attempted this, if any
game:move-node-to-defs: the player has moved a node from the board to the global scopenodes.moved: the node that the player movederror: the error that was displayed when the user attempted this, if any
game:move-node-to-slot: the player has moved a node from the toolbox, board, or slot to a slotnodes.moved: the node that the player movederror: the error that was displayed when the user attempted this, if any
game:undo: the player undid an actiongame:redo: the player redid an actiongame:execute: the player reduced a nodeexecuted: the node that the player reduced (in its pre-reduction state)added: the nodes that were added to the game as a result of this operationremoved: the nodes that were removed from the game as a result of this operation
game:victory: the player won the levelgame:defeat: the player got stuckgame:time: the player ran out of timegame:stats: the player has finished the game; game is uploading statistics about play time and completionstartTime: the time when the player started their first levellevels.{number}: stats for level with index{number}; are frozen once the player completes a level once (i.e., not affected by the player re-playing levels)totalDuration: time in milliseconds between the player first opening this level and the player completing itplayDuration: time in milliseconds that the player spent actually looking at this level (totalDurationminus any time where the player switched to another level)startTime: the time at which the player started this levelresumeTime: the time at which the player came back to this level (will be different fromstartTimeiff the player skipped this level and then came back)
user:feedback: the player clicked on a button in the affect dialogaffect: an affect, such as'confident'or'frustrated'