EverambleGAME API / 1

CONTENT CONTRACT · VERSION 1

map

A bounded map with local anchors, complete zone coverage and population slots.

Signature

{ anchors: {MapAnchor}, bounds: Bounds, cell_mm: PositiveDistance, climate: ClimateId, id: ContentId, kind: "map", library: WorldLibraryId, spawn_anchor: Name, zones: {MapZone} }

Fields

NameTypeMeaning
anchors{MapAnchor}Named map placements visible or used by this declaration.
Items: 1…4096; Unique entries
boundsBoundsHalf-open horizontal area, aligned with the map cell size.
cell_mmPositiveDistancePositive map grid spacing; all zone bounds align to this grid.
Range: 1…2147483647; Unit: mm
climateClimateIdClimate definition supplying seasons and weather for this map.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: climate
idContentIdPackage-qualified identity; unique within its declaring namespace.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$
kind"map"Discriminant
libraryWorldLibraryIdWorld library supplying prefab templates, rigs, materials and textures of this map.
Length: 1…129; Pattern: ^[a-z][a-z0-9_]{0,31}:[a-z][a-z0-9_]{0,95}$; Reference: asset:world_library
spawn_anchorNameLocal anchor identifier used for initial map entry.
Length: 1…96; Pattern: ^[a-z][a-z0-9_]{0,95}$
zones{MapZone}Generator regions covering the entire map without equal-priority overlap.
Items: 1…4096; Unique entries

Validated example

{
  "anchors": [
    {
      "id": "arrival",
      "position_mm": [
        0,
        0,
        0
      ]
    },
    {
      "id": "healer_spot",
      "position_mm": [
        4000,
        0,
        2000
      ]
    }
  ],
  "bounds": {
    "end_x_mm": 72000,
    "end_z_mm": 48000,
    "start_x_mm": -48000,
    "start_z_mm": -48000
  },
  "cell_mm": 1000,
  "climate": "core:mild_climate",
  "id": "core:training_meadow",
  "kind": "map",
  "library": "core:valley_library",
  "spawn_anchor": "arrival",
  "zones": [
    {
      "bounds": {
        "end_x_mm": 24000,
        "end_z_mm": 48000,
        "start_x_mm": -48000,
        "start_z_mm": -48000
      },
      "generator": {
        "operation": "flat",
        "parameters": {
          "height_mm": 0,
          "material": "core:grass"
        },
        "seed_salt": "meadow_ground",
        "version": 1
      },
      "id": "meadow",
      "population": [
        {
          "anchors": [
            "healer_spot"
          ],
          "definition": "core:healer",
          "id": "healer",
          "respawn_ticks": 0
        }
      ],
      "priority": 0
    },
    {
      "bounds": {
        "end_x_mm": 72000,
        "end_z_mm": 48000,
        "start_x_mm": 24000,
        "start_z_mm": -48000
      },
      "generator": {
        "operation": "scatter",
        "parameters": {
          "base": {
            "operation": "heightfield",
            "parameters": {
              "amplitude_mm": 2000,
              "base_height_mm": 0,
              "edge_fade_mm": 8000,
              "material": "core:grass",
              "wavelength_mm": 16000
            },
            "seed_salt": "woodland_hills",
            "version": 1
          },
          "choices": [
            {
              "prefab": "core:standing_stone",
              "weight": 1
            }
          ],
          "density_per_km2": 4000,
          "max_count": 120,
          "min_distance_mm": 4000
        },
        "seed_salt": "woodland_stones",
        "version": 1
      },
      "id": "woodland",
      "population": [],
      "priority": 0
    },
    {
      "bounds": {
        "end_x_mm": 24000,
        "end_z_mm": 30000,
        "start_x_mm": -48000,
        "start_z_mm": 12000
      },
      "generator": {
        "operation": "river",
        "parameters": {
          "base": {
            "operation": "flat",
            "parameters": {
              "height_mm": 0,
              "material": "core:grass"
            },
            "seed_salt": "brook_banks",
            "version": 1
          },
          "bed_material": "core:earth",
          "depth_mm": 1500,
          "points_mm": [
            [
              -48000,
              24000
            ],
            [
              -12000,
              20000
            ],
            [
              20000,
              16000
            ]
          ],
          "surface_y_mm": -500,
          "water_material": "core:water",
          "width_mm": 4000
        },
        "seed_salt": "brook",
        "version": 1
      },
      "id": "brook",
      "population": [],
      "priority": 1
    },
    {
      "bounds": {
        "end_x_mm": 24000,
        "end_z_mm": -6000,
        "start_x_mm": -48000,
        "start_z_mm": -14000
      },
      "generator": {
        "operation": "road",
        "parameters": {
          "base": {
            "operation": "flat",
            "parameters": {
              "height_mm": 0,
              "material": "core:grass"
            },
            "seed_salt": "lane_verge",
            "version": 1
          },
          "material": "core:path",
          "max_grade_permille": 200,
          "points_mm": [
            [
              -48000,
              -10000
            ],
            [
              23000,
              -10000
            ]
          ],
          "width_mm": 3000
        },
        "seed_salt": "lane",
        "version": 1
      },
      "id": "lane",
      "population": [],
      "priority": 1
    }
  ]
}