← All message topics  ·  schema Proximity/proximity_event_message.json

header

FieldTypeRequiredAllowed valuesDescription
timestamp string
message_type string event
version string The message format version

msg

FieldTypeRequiredAllowed valuesDescription
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

FieldTypeRequiredAllowed valuesDescription
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": []
            }
        ]
    }
}