Skip to content

Default realtime analysis

Cristina Alonso edited this page Apr 18, 2018 · 15 revisions

A real-time analysis model is defined by the developer for each game. The real-time analysis model is used by the default analysis to define how real-time data will be visualized (in real-time dashboards during a class).

When the xAPI statements are sent to the rage-analytics real-time module they are transformed to keep the game-play state for each player, with the following format:

{
        "progressed": { // progressed xAPI verb
            "level": { // level xAPI activity type
                "Atragantamiento": {
                    "progress": 1
                },
                "Inconsciente": {
                    "progress": 1
                },
                "DolorToracico": {
                    "progress": 1
                }
            },
            "serious-game": { // serious-game xAPI activity type
                "JuegoCompleto": {
                    "progress": 1
                }
            }
        },
        "selected": { // selected xAPI verb
            "menu": { // menu xAPI activity type
                "Inicio": {
                    "Atragantamiento": 1,
                    "Inconsciente": 1,
                    "DolorToracico": 1
                },
                "ResumenAT": {
                    "ResumenVideoHeimlich": 1,
                    "Inicio": 1,
                    "ResumenVideoIniciarTos": 1
                },
                "ResumenINC": {
                    "Inicio": 1
                },
                "ResumenDT": {
                    "Inicio": 1
                }
            },
            "alternative": { // alternative xAPI activity type
                "IniciarTos": {
                    "Incorrect": 2,
                    "VideoInciarTos": 1
                },
                "ColocacionHeimlich": {
                    "ManosHeimlich": 1
                },
                "ManosHeimlich": {
                    "ManosPechoHeimlich": 1
                },
                "ManosPechoHeimlich": {
                    "VideoHeimlich": 1
                },
                "FormasEstimular": {
                    "Incorrect": 1,
                    "VideoEstimular": 1
                },
                "DondeCabeza": {
                    "DondeMirar": 1,
                    "DondeCabeza": 3
                },
                "DondeMirar": {
                    "VideoMirarOirSentir": 1
                },
                "Posiciones": {
                    "Incorrect": 2,
                    "VideoCambiarPosicion": 2
                },
                "ComoAsistir": {
                    "DolorToracico": 1
                }
            },
            "question": { // question xAPI activity type
                "ATNombreManiobra": {
                    "Heimlich": 1
                },
                "NumeroEmergencias": {
                    "112": 1
                },
                "INCQueSucede": {
                    "Un hombre está inconsciente en el suelo": 1,
                    "Hay un tio tirado en el suelo": 1
                },
                "INCAyuda": {
                    "No hace falta  se como proceder": 1
                },
                "DTQueSucede": {
                    "¡Un hombre se está cogiendo el pecho y no puede respirar!": 1
                },
                "DTAyuda": {
                    "No es necesario  se como proceder": 1
                },
                "INCQueHacerSilla": {
                    "Recostar en el suelo": 1
                }
            }
        },
        "initialized": { // initialized xAPI verb
            "level": { // level xAPI activity type
                "Atragantamiento": 1,
                "Inconsciente": 1,
                "DolorToracico": 1
            },
            "serious-game": { // serious-game xAPI activity type
                "JuegoCompleto": 3
            }
        },
        "interacted": { // interacted xAPI verb
            "non-player-character": { // non-player-character xAPI activity type
                "Persona": 2,
                "Victima": 7,
                "Telefono": 2,
                "PersonaParada": 9,
                "PersonaSentada": 3
            }
        },
        "accessed": { // accessed xAPI verb
            "cutscene": { // cutscene xAPI activity type
                "VideoInciarTos": 1,
                "VideoHeimlich": 1,
                "ResumenVideoIniciarTos": 1,
                "ResumenVideoHeimlich": 1,
                "VideoEstimular": 1,
                "VideoCambiarPosicion": 2,
                "VideoMirarOirSentir": 1
            },
            "area": { // area xAPI activity type
                "FinAtragantamiento": 1,
                "Final": 1,
                "MensajeBuenTrabajo": 1
            }
        },
        "skipped": { // skipped xAPI verb
            "cutscene": { // cutscene xAPI activity type
                "VideoInciarTos": 1,
                "VideoHeimlich": 1,
                "ResumenVideoIniciarTos": 1,
                "VideoEstimular": 1,
                "ResumenVideoHeimlich": 1,
                "VideoMirarOirSentir": 1,
                "VideoCambiarPosicion": 2
            }
        },
        "completed": { // completed xAPI verb
            "level": { // level xAPI activity type
                "Atragantamiento": {
                    "success": true,
                    "score": 0.9
                },
                "Inconsciente": {
                    "success": true,
                    "score": 0.7
                },
                "DolorToracico": {
                    "success": true,
                    "score": 0.4
                }
            },
            "serious-game": { // serious-game xAPI activity type
                "JuegoCompleto": {
                    "success": true,
                    "score": 0.6666667
                }
            }
        }
}

The real-time analysis model can only be defined by a developer since only game developers know what variables and xAPI statements are sent from the game.

To define a real-time analysis model that is compatible with the default analysis we must configure the field Alias, i.e. the name a given player will receive.

Clone this wiki locally