observations/events/player/proximity
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:proximity |
|
| 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 |
|---|---|---|---|---|
| elapsed_milliseconds | number | ✓ | ||
| participants | array<object> | ✓ | ||
| participants[].callsign | string | ✓ | The Call Sign Assigned to the Player | |
| participants[].participant_id | string | ✓ | The participant id this data is associated with | |
| participants[].role | string | ✓ | None Engineering_Specialist Transport_Specialist Medical_Specialist |
|
| participants[].current_location | string | ✓ | The Location's id | |
| participants[].distance_to_participants | array<object> | ✓ | ||
| participants[].distance_to_participants[].id | string | ✓ | The Object's id | |
| participants[].distance_to_participants[].distance | number | ✓ | The Distance in Minecraft blocks | |
| participants[].distance_to_current_location_exits | array<object> | ✓ | ||
| participants[].distance_to_current_location_exits[].id | string | ✓ | The Object's id | |
| participants[].distance_to_current_location_exits[].distance | number | ✓ | The Distance in Minecraft blocks | |
| participants[].distance_to_closest_locations | array<object> | ✓ | ||
| participants[].distance_to_closest_locations[].id | string | ✓ | The Object's id | |
| participants[].distance_to_closest_locations[].distance | number | ✓ | The Distance in Minecraft blocks | |
| participants[].distance_to_role_change | array<object> | ✓ | ||
| participants[].distance_to_role_change[].id | string | ✓ | The Object's id | |
| participants[].distance_to_role_change[].distance | number | ✓ | The Distance in Minecraft blocks | |
| participants[].distance_to_treatment_areas | array<object> | ✓ | ||
| participants[].distance_to_treatment_areas[].id | string | ✓ | The Object's id | |
| participants[].distance_to_treatment_areas[].distance | number | ✓ | The Distance in Minecraft blocks |
Example message
{
"header": {
"timestamp": "2021-10-11T01:05:29.826595Z",
"message_type": "event",
"version": "1.1"
},
"msg": {
"sub_type": "Event:proximity",
"version": "1.0",
"source": "IHMC_Proximity_AC",
"timestamp": "2021-10-11T01:05:29.826595Z",
"experiment_id": "39decb46-72fc-4a54-9a78-7571b6011e27",
"trial_id": "3c6adbb6-ee33-4e7e-8d00-296d27a0d32a"
},
"data": {
"elapsed_milliseconds": 51579,
"participants": [
{
"callsign": "red",
"participant_id": "p1",
"role": "Search_Specialist",
"current_location": "sre",
"distance_to_participants": [
{ "id": "green", "distance": 132.9 },
{ "id": "blue", "distance": 132.9 }
],
"distance_to_current_location_exits": [
{ "id": "c_78_-46_79_-45", "distance": 4.6 },
{ "id": "c_72_-48_73_-47", "distance": 2.0 }
],
"distance_to_closest_locations": [
{ "id": "r103", "distance": 82.7 },
{ "id": "r110", "distance": 97.2 },
...
{ "id": "srh", "distance": 23.8 },
{ "id": "srf", "distance": 2.0 },
{ "id": "srq", "distance": 53.7 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 132.9 }
],
"distance_to_treatment_areas": []
},
{
"callsign": "green",
"participant_id": "p2",
"role": "None",
"current_location": "sga",
"distance_to_participants": [
{ "id": "red", "distance": 132.9 },
{ "id": "blue", "distance": 0.0 }
],
"distance_to_current_location_exits": [
{ "id": "c_46_35_49_36", "distance": 15.0 }
],
"distance_to_closest_locations": [
{ "id": "ca", "distance": 73.7 },
{ "id": "br", "distance": 84.7 },
{ "id": "o100", "distance": 83.7 },
{ "id": "o101", "distance": 78.7 },
{ "id": "sdc", "distance": 83.0 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 0.0 }
],
"distance_to_treatment_areas": []
},
{
"callsign": "blue",
"participant_id": "p3",
"role": "None",
"current_location": "sga",
"distance_to_participants": [
{ "id": "red", "distance": 132.9 },
{ "id": "green", "distance": 0.0 }
],
"distance_to_current_location_exits": [
{ "id": "c_46_35_49_36", "distance": 15.0 }
],
"distance_to_closest_locations": [
{ "id": "ca", "distance": 73.7 },
{ "id": "br", "distance": 84.7 },
{ "id": "o100", "distance": 83.7 },
{ "id": "o101", "distance": 78.7 },
{ "id": "sdc", "distance": 83.0 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 0.0 }
],
"distance_to_treatment_areas": []
}
]
}
}Raw JSON Schema (resolved)
{
"$id": "http://asist.aptima.com/schemas/event_player_proximity.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"data": {
"$id": "#/properties/message/properties/data",
"properties": {
"elapsed_milliseconds": {
"$id": "#/properties/event/state/elapsed_milliseconds",
"examples": [
5000,
77459,
689457
],
"pattern": "^[0-9]+$",
"title": "The Elapsed Milliseconds Schema",
"type": "number"
},
"participants": {
"$id": "#/properties/data/properties/proximity_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"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"
},
"current_location": {
"$id": "#/properties/event/player/location/id",
"pattern": "^(.*)$",
"title": "The Location\u0027s id",
"type": "string"
},
"distance_to_closest_locations": {
"$id": "#/properties/data/properties/distance_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity_distance.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"distance": {
"$id": "#/properties/event/player/proximity/distance",
"pattern": "^[0-9]*\\.?[0-9]+$",
"title": "The Distance in Minecraft blocks",
"type": "number"
},
"id": {
"$id": "#/properties/event/player/object/id",
"pattern": "^(.*)$",
"title": "The Object\u0027s id",
"type": "string"
}
},
"required": [
"id",
"distance"
],
"title": "The Proximity Distance Schema",
"type": "object",
"version": "1.0"
},
"title": "The Distance List Schema",
"type": "array"
},
"distance_to_current_location_exits": {
"$id": "#/properties/data/properties/distance_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity_distance.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"distance": {
"$id": "#/properties/event/player/proximity/distance",
"pattern": "^[0-9]*\\.?[0-9]+$",
"title": "The Distance in Minecraft blocks",
"type": "number"
},
"id": {
"$id": "#/properties/event/player/object/id",
"pattern": "^(.*)$",
"title": "The Object\u0027s id",
"type": "string"
}
},
"required": [
"id",
"distance"
],
"title": "The Proximity Distance Schema",
"type": "object",
"version": "1.0"
},
"title": "The Distance List Schema",
"type": "array"
},
"distance_to_participants": {
"$id": "#/properties/data/properties/distance_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity_distance.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"distance": {
"$id": "#/properties/event/player/proximity/distance",
"pattern": "^[0-9]*\\.?[0-9]+$",
"title": "The Distance in Minecraft blocks",
"type": "number"
},
"id": {
"$id": "#/properties/event/player/object/id",
"pattern": "^(.*)$",
"title": "The Object\u0027s id",
"type": "string"
}
},
"required": [
"id",
"distance"
],
"title": "The Proximity Distance Schema",
"type": "object",
"version": "1.0"
},
"title": "The Distance List Schema",
"type": "array"
},
"distance_to_role_change": {
"$id": "#/properties/data/properties/distance_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity_distance.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"distance": {
"$id": "#/properties/event/player/proximity/distance",
"pattern": "^[0-9]*\\.?[0-9]+$",
"title": "The Distance in Minecraft blocks",
"type": "number"
},
"id": {
"$id": "#/properties/event/player/object/id",
"pattern": "^(.*)$",
"title": "The Object\u0027s id",
"type": "string"
}
},
"required": [
"id",
"distance"
],
"title": "The Proximity Distance Schema",
"type": "object",
"version": "1.0"
},
"title": "The Distance List Schema",
"type": "array"
},
"distance_to_treatment_areas": {
"$id": "#/properties/data/properties/distance_list",
"default": "",
"items": {
"$id": "http://asist.aptima.com/schemas/proximity_distance.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {},
"properties": {
"distance": {
"$id": "#/properties/event/player/proximity/distance",
"pattern": "^[0-9]*\\.?[0-9]+$",
"title": "The Distance in Minecraft blocks",
"type": "number"
},
"id": {
"$id": "#/properties/event/player/object/id",
"pattern": "^(.*)$",
"title": "The Object\u0027s id",
"type": "string"
}
},
"required": [
"id",
"distance"
],
"title": "The Proximity Distance Schema",
"type": "object",
"version": "1.0"
},
"title": "The Distance List Schema",
"type": "array"
},
"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"
},
"role": {
"$id": "#/properties/data/properties/new_role",
"enum": [
"None",
"Engineering_Specialist",
"Transport_Specialist",
"Medical_Specialist"
],
"examples": [
"Engineering_Specialist"
],
"title": "The New Role Schema",
"type": "string"
}
},
"required": [
"callsign",
"participant_id",
"role",
"current_location",
"distance_to_participants",
"distance_to_current_location_exits",
"distance_to_closest_locations",
"distance_to_role_change",
"distance_to_treatment_areas"
],
"title": "The Player Proximity Schema",
"type": "object",
"version": "1.0"
},
"title": "The Proximity List Schema",
"type": "array"
}
},
"required": [
"elapsed_milliseconds",
"participants"
],
"title": "The Proximity update 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:proximity",
"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 Proximity Schema",
"type": "object",
"version": "1.0"
}Upstream spec documentation
Data Subtype: Event:proximity Message Format
This data message subtype, Event:proximity, is used to communicate player proximity (travel distance) to other players
and locations in the world.
TOPIC
observations/events/player/proximity
Message Fields
| Field Name | Type | Description |
|---|---|---|
| header | object | From Common Message Format section |
| msg | object | From the event Header Format section |
| data.elapsed_milliseconds | number | the number of elapsed milliseconds since mission start |
| data.participants | List of Proximity | list of proximity objects for each participant |
Message Example
{
"header": {
"timestamp": "2021-10-11T01:05:29.826595Z",
"message_type": "event",
"version": "1.1"
},
"msg": {
"sub_type": "Event:proximity",
"version": "1.0",
"source": "IHMC_Proximity_AC",
"timestamp": "2021-10-11T01:05:29.826595Z",
"experiment_id": "39decb46-72fc-4a54-9a78-7571b6011e27",
"trial_id": "3c6adbb6-ee33-4e7e-8d00-296d27a0d32a"
},
"data": {
"elapsed_milliseconds": 51579,
"participants": [
{
"callsign": "red",
"participant_id": "p1",
"role": "Search_Specialist",
"current_location": "sre",
"distance_to_participants": [
{ "id": "green", "distance": 132.9 },
{ "id": "blue", "distance": 132.9 }
],
"distance_to_current_location_exits": [
{ "id": "c_78_-46_79_-45", "distance": 4.6 },
{ "id": "c_72_-48_73_-47", "distance": 2.0 }
],
"distance_to_closest_locations": [
{ "id": "r103", "distance": 82.7 },
{ "id": "r110", "distance": 97.2 },
...
{ "id": "srh", "distance": 23.8 },
{ "id": "srf", "distance": 2.0 },
{ "id": "srq", "distance": 53.7 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 132.9 }
],
"distance_to_treatment_areas": []
},
{
"callsign": "green",
"participant_id": "p2",
"role": "None",
"current_location": "sga",
"distance_to_participants": [
{ "id": "red", "distance": 132.9 },
{ "id": "blue", "distance": 0.0 }
],
"distance_to_current_location_exits": [
{ "id": "c_46_35_49_36", "distance": 15.0 }
],
"distance_to_closest_locations": [
{ "id": "ca", "distance": 73.7 },
{ "id": "br", "distance": 84.7 },
{ "id": "o100", "distance": 83.7 },
{ "id": "o101", "distance": 78.7 },
{ "id": "sdc", "distance": 83.0 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 0.0 }
],
"distance_to_treatment_areas": []
},
{
"callsign": "blue",
"participant_id": "p3",
"role": "None",
"current_location": "sga",
"distance_to_participants": [
{ "id": "red", "distance": 132.9 },
{ "id": "green", "distance": 0.0 }
],
"distance_to_current_location_exits": [
{ "id": "c_46_35_49_36", "distance": 15.0 }
],
"distance_to_closest_locations": [
{ "id": "ca", "distance": 73.7 },
{ "id": "br", "distance": 84.7 },
{ "id": "o100", "distance": 83.7 },
{ "id": "o101", "distance": 78.7 },
{ "id": "sdc", "distance": 83.0 }
],
"distance_to_role_change": [
{ "id": "sga", "distance": 0.0 }
],
"distance_to_treatment_areas": []
}
]
}
}