Create Scoring Files

 

This document describes how to create a Scoring Definition file for a given training exercise, which will be used with Vortex Launcher on a simulator. The Scoring Definition file is part of the content.

Scoring Definition File

Vortex Studio supports one scoring definition file per exercise. It will search in a predefined location for a JSON file matching the name of an exercise.

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

<Assets Base Path>\..\resources\Scoring\<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\EX_BC_NAME.json

File Format

Version 1

Specification

Root Object

Field Name

Value Type

Description

Field Name

Value Type

Description

Scoring Events

Array of ScoringEvent objects

(See below for details)

Progress

Object of type Progress

(See below for details)

Version

integer

Value is 1.

 

ScoringEvent Object

Field Name

Value Type

Description

Field Name

Value Type

Description

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.

Deduction Value

double

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

 

Progress Object

Field Name

Value Type

Description

Field Name

Value Type

Description

Completed Goals Count

string

The name of the metric identifying the current number of completed goals.

Total Goals Count

string

The name of the metric identifying the total number of goals to complete in this exercise.

Example

{ "Scoring Events": [ { "Metric" : "Cones Knocked Over", "Condition" : "Increments", "Occurence" : "Always", "Deduction Value" : 5.0 }, { "Metric" : "Unsafe Parking Position", "Condition" : "Becomes True", "Occurence" : "Always", "Deduction Value" : 25.0 }, { "Metric" : "Electric Pole or Cable Contact", "Condition" : "Becomes True", "Occurence" : "Once", "Deduction Value" : 100.0 }, { "Metric" : "Total Time (s)", "Condition" : "Becomes Greater", "Occurence" : "Once", "Trigger Value" : 390.0, "Deduction Value" : 10.0 }, { "Metric" : "Total Time (s)", "Condition" : "Becomes Greater", "Occurence" : "Once", "Trigger Value" : 510.0, "Deduction Value" : 10.0 } ], "Progress": { "Completed Goals Count": "CONS_GOAL_MET_GOALS", "Total Goals Count": "CONS_GOAL_MET_TOTAL_GOALS" }, "Version": 1 }