observations/events/player/location
header
| Field | Type | Required | Allowed values | Description |
|---|---|---|---|---|
| timestamp | string | ✓ | ||
| message_type | string | ✓ | event |
|
| version | string | ✓ | The message format version |
msg
| Field | Type | Required | Allowed values | Description |
|---|---|---|---|---|
| experiment_id | string | ✓ | ||
| trial_id | string | |||
| timestamp | string | ✓ | ||
| source | string | ✓ | ||
| sub_type | string | ✓ | Event:location |
|
| version | string | ✓ | ||
| replay_parent_type | string|null | TRIAL REPLAY null |
||
| replay_parent_id | string|null | |||
| replay_id | string|null |
data
| Field | Type | Required | Allowed values | Description |
|---|---|---|---|---|
| participant_id | string | ✓ | The participant id this data is associated with | |
| callsign | string | The Call Sign Assigned to the Player | ||
| mission_timer | string | ✓ | ||
| elapsed_milliseconds | number | ✓ | ||
| cooresponding_observation_number | integer | The Corresponding Observation Number from the State Message | ||
| locations | array<object> | |||
| locations[].id | string | ✓ | The Location's id | |
| locations[].name | string | The Location's name | ||
| connections | array<object> | |||
| connections[].id | string | ✓ | The Connection's id | |
| connections[].name | array<string> | The location ids which this connections connects | ||
| exited_locations | array<object> | |||
| exited_locations[].id | string | ✓ | The Location's id | |
| exited_locations[].name | string | The Location's name | ||
| exited_connections | array<object> | |||
| exited_connections[].id | string | ✓ | The Connection's id | |
| exited_connections[].name | array<string> | The location ids which this connections connects |
Example message
{
"header": {
"timestamp": "2020-08-25T01:56:21.517415Z",
"version": "1.1",
"message_type": "event"
},
"msg": {
"sub_type": "Event:location",
"timestamp": "2020-08-22T04:06:18.846Z",
"experiment_id": "c6f930a2-357b-4c24-9c4e-42b1c8d9458f",
"trial_id": "25edd30a-2a4b-4229-9237-1304ea8cc439",
"replay_id": "a44120f7-b5ba-47a3-8a21-0c76ede62f75",
"version": "3.0",
"source": "IHMCLocationMonitorAgent"
},
"data": {
"participant_id": "P000999",
"callsign": "Blue",
"mission_timer": "8 : 36",
"elapsed_milliseconds": 15113,
"corresponding_observation_number": 6857,
"locations": [
{
"id": "lh_2",
"name": "Part of Left Hallway"
},
{
"id": "lh",
"name": "Left Hallway"
}
],
"connections": [
{
"id": "ce_112_77_112_79",
"connected_locations": [
"lh_1",
"lh_2"
]
}
],
"exited_locations": [
{
"id": "lh_1",
"name": "Part of Left Hallway"
}
]
}
}Raw JSON Schema (resolved)
{
"$id": "http://asist.aptima.com/schemas/event_player_location.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"data": {
"$id": "#/properties/message/properties/data",
"properties": {
"callsign": {
"$id": "#/properties/data/properties/callsign",
"examples": [
"Alpha",
"Bravo",
"Delta",
"Red",
"Green",
"Blue"
],
"pattern": "^(.*)$",
"title": "The Call Sign Assigned to the Player",
"type": "string"
},
"connections": {
"$id": "#/properties/data/properties/connection_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/player_connection.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"id": {
"$id": "#/properties/event/player/connection/id",
"pattern": "^(.*)$",
"title": "The Connection\u0027s id",
"type": "string"
},
"name": {
"$id": "#/properties/event/player/connection/connected_locations",
"items": {
"type": "string"
},
"title": "The location ids which this connections connects",
"type": "array"
}
},
"required": [
"id"
],
"title": "The Player Connection Schema",
"type": "object",
"version": "1.0"
},
"title": "The connection List Schema",
"type": "array"
},
"cooresponding_observation_number": {
"$id": "#/properties/data/properties/cooresponding_observation_number",
"default": 0,
"examples": [
6857
],
"title": "The Corresponding Observation Number from the State Message",
"type": "integer"
},
"elapsed_milliseconds": {
"$id": "#/properties/event/state/elapsed_milliseconds",
"examples": [
5000,
77459,
689457
],
"pattern": "^[0-9]+$",
"title": "The Elapsed Milliseconds Schema",
"type": "number"
},
"exited_connections": {
"$id": "#/properties/data/properties/exited_connection_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/player_connection.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"id": {
"$id": "#/properties/event/player/connection/id",
"pattern": "^(.*)$",
"title": "The Connection\u0027s id",
"type": "string"
},
"name": {
"$id": "#/properties/event/player/connection/connected_locations",
"items": {
"type": "string"
},
"title": "The location ids which this connections connects",
"type": "array"
}
},
"required": [
"id"
],
"title": "The Player Connection Schema",
"type": "object",
"version": "1.0"
},
"title": "The Exited Connection List Schema",
"type": "array"
},
"exited_locations": {
"$id": "#/properties/data/properties/exited_location_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/player_location.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"id": {
"$id": "#/properties/event/player/location/id",
"pattern": "^(.*)$",
"title": "The Location\u0027s id",
"type": "string"
},
"name": {
"$id": "#/properties/event/player/location/name",
"pattern": "^(.*)$",
"title": "The Location\u0027s name",
"type": "string"
}
},
"required": [
"id"
],
"title": "The Player Location Schema",
"type": "object",
"version": "1.0"
},
"title": "The Exited Location List Schema",
"type": "array"
},
"locations": {
"$id": "#/properties/data/properties/location_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/player_location.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"id": {
"$id": "#/properties/event/player/location/id",
"pattern": "^(.*)$",
"title": "The Location\u0027s id",
"type": "string"
},
"name": {
"$id": "#/properties/event/player/location/name",
"pattern": "^(.*)$",
"title": "The Location\u0027s name",
"type": "string"
}
},
"required": [
"id"
],
"title": "The Player Location Schema",
"type": "object",
"version": "1.0"
},
"title": "The Location List Schema",
"type": "array"
},
"mission_timer": {
"$id": "#/properties/event/state/mission_timer",
"examples": [
"8 : 36"
],
"pattern": "(^([0-9]*? : [+0-9]*?)$)|(^Mission Timer not initialized\\.$)",
"title": "The Mission Timer Schema",
"type": "string"
},
"participant_id": {
"$id": "#/properties/data/properties/participant_id",
"description": "The participant id this data is associated with",
"examples": [
"participant_1"
],
"title": "The participant_id schema",
"type": "string"
}
},
"required": [
"participant_id",
"mission_timer",
"elapsed_milliseconds",
"corresponding_observation_number"
],
"title": "The Location Change Data Schema",
"type": "object"
},
"header": {
"$id": "http://asist.aptima.com/schemas/common_header.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"message_type": {
"$id": "#/properties/message_type",
"const": "event",
"enum": [
"control",
"observation",
"chat",
"status",
"trial",
"event",
"groundtruth",
"experiment",
"metadata",
"agent"
],
"examples": [
"observation"
],
"pattern": "^([a-z_]*?)$",
"title": "The Message_type Schema",
"type": "string"
},
"timestamp": {
"$id": "#/properties/timestamp",
"examples": [
"2019-12-26T12:47:23.1234Z"
],
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[.]?[0-9]{0,}?Z",
"title": "The Timestamp Schema",
"type": "string"
},
"version": {
"$id": "#/properties/version",
"examples": [
"1.0",
"2.3.1"
],
"pattern": "^([0-9]+\\.)?([0-9]+\\.)?([0-9]+)$",
"title": "The message format version",
"type": "string"
}
},
"required": [
"timestamp",
"message_type",
"version"
],
"title": "ASIST message common header Schema",
"type": "object",
"version": "0.3"
},
"msg": {
"$id": "http://asist.aptima.com/schemas/event_message.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"experiment_id": {
"$id": "#/properties/experiment_id",
"default": "",
"examples": [
"123e4567-e89b-12d3-a456-426655440000"
],
"pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|Null|null)",
"title": "The Experiment Id Schema",
"type": "string"
},
"replay_id": {
"$id": "#/properties/replay_id",
"default": "",
"examples": [
"123e4567-e89b-12d3-a456-426655440000"
],
"pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
"title": "The Replay Id Schema",
"type": [
"string",
"null"
]
},
"replay_parent_id": {
"$id": "#/properties/replay_parent_id",
"default": "",
"examples": [
"123e4567-e89b-12d3-a456-426655440000"
],
"pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
"title": "The Replay Parent Id Schema",
"type": [
"string",
"null"
]
},
"replay_parent_type": {
"$id": "#/properties/replay_parent_type",
"enum": [
"TRIAL",
"REPLAY",
null
],
"title": "The Replay Parent Type Schema",
"type": [
"string",
"null"
]
},
"source": {
"$id": "#/properties/source",
"default": "",
"examples": [
"simulator"
],
"pattern": "^(.*)$",
"title": "The Source Schema",
"type": "string"
},
"sub_type": {
"$id": "#/properties/sub_type",
"const": "Event:location",
"default": "",
"examples": [
"equip",
"triage"
],
"pattern": "^([a-zA-Z0-9_:]*?)$",
"title": "The Sub Type Schema",
"type": "string"
},
"timestamp": {
"$id": "#/properties/timestamp",
"default": "",
"examples": [
"2019-12-26T14:05:02.3412Z"
],
"pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}[.]?[0-9]{0,}?Z",
"title": "The Timestamp Schema",
"type": "string"
},
"trial_id": {
"$id": "#/properties/trial_id",
"default": "",
"examples": [
"123e4567-e89b-12d3-a456-426655440000"
],
"pattern": "(([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|Not Set|null|Null)",
"title": "The Trial Id Schema",
"type": "string"
},
"version": {
"$id": "#/properties/version",
"default": "",
"examples": [
"0.1",
"1.0.1"
],
"pattern": "^([.]*)|(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
"title": "The Version Schema",
"type": "string"
}
},
"required": [
"experiment_id",
"timestamp",
"source",
"sub_type",
"version"
],
"title": "The Event Message Schema",
"type": "object",
"version": "0.5"
}
},
"required": [
"header",
"msg",
"data"
],
"title": "The Event Player Location Schema",
"type": "object",
"version": "3.0"
}Upstream spec documentation
Data Subtype: Event:location Message Format
This data message subtype, Event:location, is used to communicate event data for players in the world.
TOPIC
observations/events/player/location
Message Fields
| Field Name | Type | Description |
|---|---|---|
| header | object | From Common Message Format section |
| msg | object | From the event Header Format section |
| data.participant_id | string | The participant id this data is associated with |
| data.callsign | string | (optional) The callsign of the player |
| data.mission_timer | string | the mission time of the event from the State message |
| data.elapsed_milliseconds | number | the number of elapsed milliseconds since mission start from the State message |
| data.corresponding_observation_number | integer | A sequence number of the number of observations from the beginning of the trial run from the corresponding State message |
| data.locations | List of location | (optional) A list of the locations the player is currently in |
| data.connections | List of connection | (optional) A list of the connections the player is currently in |
| data.exited_locations | List of location | (optional) A list of the locations the player just left |
| data.exited_connections | List of connection | (optional) A list of the connections the player just left |
Message Example
{
"header": {
"timestamp": "2020-08-25T01:56:21.517415Z",
"version": "1.1",
"message_type": "event"
},
"msg": {
"sub_type": "Event:location",
"timestamp": "2020-08-22T04:06:18.846Z",
"experiment_id": "c6f930a2-357b-4c24-9c4e-42b1c8d9458f",
"trial_id": "25edd30a-2a4b-4229-9237-1304ea8cc439",
"replay_id": "a44120f7-b5ba-47a3-8a21-0c76ede62f75",
"version": "3.0",
"source": "IHMCLocationMonitorAgent"
},
"data": {
"participant_id": "P000999",
"callsign": "Blue",
"mission_timer": "8 : 36",
"elapsed_milliseconds": 15113,
"corresponding_observation_number": 6857,
"locations": [
{
"id": "lh_2",
"name": "Part of Left Hallway"
},
{
"id": "lh",
"name": "Left Hallway"
}
],
"connections": [
{
"id": "ce_112_77_112_79",
"connected_locations": [
"lh_1",
"lh_2"
]
}
],
"exited_locations": [
{
"id": "lh_1",
"name": "Part of Left Hallway"
}
]
}
}