Create Skill-Based Scoring Files

 

This document describes how to create a skill-based scoring rule definition file for a given training exercise. The skill-based scoring rule definition files are part of the content. When asked, Vortex Launcher will parse these definition files, collect the necessary information, and send the skill-based scoring rules to Intellia as part of a commissioning step (see ).

Skill-Based Scoring Rules Definition File

Vortex Studio supports one skill-based scoring rule definition file per exercise. It will search in a predefined location for a JSON file matching the name of an exercise, or use the contents of default.json (if present).

The JSON file needs to be located under this specific path relative to the Assets Base Path:

<Assets Base Path>\..\resources\Scoring\Skills\<Exercise Display Name>.json

If you are not sure where the Assets Base Path is, open the Setup Document (.vxc file) of your simulator and select the “Simulator Module”. The path will be displayed in the Parameters:

For the Exercise Display Name, a quick way to find the string is to open the vxequipment file for the equipment which will be used. You will find the name of the exercise by selecting it and searching for the "Display Name" parameter in the "Properties" panel:

For this example, the resulting path of the file is: <Assets Base Path>\..\resources\Scoring\Skills\EX_BC_NAME.json

If the file is not located, then the default skill-based scoring rules for the exercise will be read from the default.json.

File Format

Version 1

Specification

Root Object

Field Name

Value Type

Description

Field Name

Value Type

Description

Skills

Array of SkillBasedScoringRule objects

(See below for details)

Version

integer

Value is 1.

SkillBasedScoringRule Object

Field Name

Value Type

Description

Field Name

Value Type

Description

Name

string

The name of the skill that this rule defines.

Initial Score

double

Starting score value for this skill. A value from 0.0 to 100.0 inclusive.

Scoring Events

Array of ScoringEvent Objects

(See below for details)

 

ScoringEvent Object

Field Name

Value Type

Description

Field Name

Value Type

Description

Metric

string

The name of the metric. It has to be unique within the exercise.

Condition

string

Only supports these values:

  • Becomes Equal: The event is triggered when the metric value become equal to the specified value.

  • Becomes Greater: The event is triggered when the metric value become greater or equal to the specified value.

  • Becomes Smaller: The event is triggered when the metric value become less or equal to the specified value.

  • Increments: The event is triggered when the metric value increments by at least one compared to last time.

  • Becomes True: The event is triggered when the metric value becomes true.

  • Becomes False: The event is triggered when the metric value becomes false.

Occurence

string

Only supports these values:

  • Once: means that the event will only be triggered once during the exercise(even if the conditions are met again during the exercise).

  • Always: means the event will be triggered each time the event is triggered.

Trigger Value

double

This field is only supported by these “Condition” values:

  • Becomes Equal

  • Becomes Greater

  • Becomes Smaller

 

This represents the value to compare when evaluating if the event has been triggered.

Gain Value

double

Positive value between 0.0 and 100.0 representing the value to add to the total skill score when the event is triggered.

Deduction Value

double

Positive value between 0.0 and 100.0 representing the value to deduct from the total skill score when the event is triggered.

Example

{ "Skills": [ { "Name": "CONS_SKILL_PERFORMANCE", "Initial Score" : 50.0, "Scoring Events" : [ { "Metric": "CONS_SAFEVIO_HUMAN", "Condition" : "Becomes True", "Occurence" : "Once", "Deduction Value" : 100 }, { "Metric": "CONS_SAFEVIO_VEHICLEFLIP_FAIL", "Condition" : "Becomes Greater", "Occurence" : "Once", "Trigger Value" : 25.3, "Deduction Value" : 100 }, { "Metric": "CONS_SAFEVIO_ELECTRIC", "Condition" : "Becomes Smaller", "Occurence" : "Once", "Trigger Value" : 75.0, "Gain Value" : 100 }, { "Metric": "CONS_ENV_MET_COLLISIONS", "Condition" : "Becomes Equal", "Occurence" : "Once", "Trigger Value" : 55.0, "Gain Value" : 100 }, { "Metric": "CONS_SAFEVIO_CABFLIP", "Condition" : "Becomes False", "Occurence" : "Once", "Deduction Value" : 100 } ] }, { "Name": "CONS_SKILL_SAFETY", "Initial Score" : 10.0, "Scoring Events" : [ { "Metric": "CONS_ENV_MET_COLLISIONS", "Condition" : "Increments", "Occurence" : "Always", "Deduction Value" : 5 }, { "Metric": "CONS_ENV_MET_CONE_TOUCH", "Condition" : "Increments", "Occurence" : "Always", "Deduction Value" : 2 }, { "Metric": "CONS_ENV_MET_CONE_KNOCK", "Condition" : "Increments", "Occurence" : "Always", "Deduction Value" : 3 } ] } ], "Version": 1 }


JSON Schema

The skill-based scoring rule definition files are validated using the JSON schema file C:\CM Labs\Vortex Studio <version>\resources\jsonSchemas\skill_based_scoring_schema_1.json (available in the INTERNAL package only). This JSON schema file can be used when creating new skill-based scoring rule definition files to make sure that they are valid.