ink.igav.galaxius.temp.map

galaxius-gm.igav.ink

Documentation

A Galaxius map under a readable slug; its credits name who made it. Content records are immutable: a changed map is a new record under a new slug.

main record

A Galaxius map under a readable slug; its credits name who made it. Content records are immutable: a changed map is a new record under a new slug.

Record Key any Any valid record key

Properties

createdAt string datetime Required

When this record was created.

credits array of ref #credit Required

The people who made the map.

maxLength: 100 items
description string Optional

A short description of the map.

maxGraphemes: 3000 graphemes
name string Required

The map's name.

maxGraphemes: 100 graphemes
players ref #players Required

The number of seats the map is designed for; the engine and the game record decide what a game can seat.

size ref #size Required

The playfield size, in hundredths of a map unit.

stars array of ref #star Required

The stars, inline: at most 5,000, so the record stays under a PDS's usual 1 MiB request limit.

maxLength: 5000 itemsminLength: 1 items
View raw schema
{
  "description": "A Galaxius map under a readable slug; its credits name who made it. Content records are immutable: a changed map is a new record under a new slug.",
  "key": "any",
  "record": {
    "properties": {
      "createdAt": {
        "description": "When this record was created.",
        "format": "datetime",
        "type": "string"
      },
      "credits": {
        "description": "The people who made the map.",
        "items": {
          "ref": "#credit",
          "type": "ref"
        },
        "maxLength": 100,
        "type": "array"
      },
      "description": {
        "description": "A short description of the map.",
        "maxGraphemes": 3000,
        "type": "string"
      },
      "name": {
        "description": "The map's name.",
        "maxGraphemes": 100,
        "type": "string"
      },
      "players": {
        "description": "The number of seats the map is designed for; the engine and the game record decide what a game can seat.",
        "ref": "#players",
        "type": "ref"
      },
      "size": {
        "description": "The playfield size, in hundredths of a map unit.",
        "ref": "#size",
        "type": "ref"
      },
      "stars": {
        "description": "The stars, inline: at most 5,000, so the record stays under a PDS's usual 1 MiB request limit.",
        "items": {
          "ref": "#star",
          "type": "ref"
        },
        "maxLength": 5000,
        "minLength": 1,
        "type": "array"
      }
    },
    "required": [
      "name",
      "credits",
      "size",
      "players",
      "stars",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
credit object

No description available.

Properties

did string did Optional

The person's DID, when one is known.

name string Required

The person's name as text; profiles are looked up by DID, never copied here.

maxGraphemes: 200 graphemes
role string Optional

What the person did for the map.

maxGraphemes: 32 graphemes
Known values: author, renewed
View raw schema
{
  "properties": {
    "did": {
      "description": "The person's DID, when one is known.",
      "format": "did",
      "type": "string"
    },
    "name": {
      "description": "The person's name as text; profiles are looked up by DID, never copied here.",
      "maxGraphemes": 200,
      "type": "string"
    },
    "role": {
      "description": "What the person did for the map.",
      "knownValues": [
        "author",
        "renewed"
      ],
      "maxGraphemes": 32,
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
players object

No description available.

Properties

max integer Required

The most seats the map is designed for.

minimum: 1
min integer Required

The fewest seats the map is designed for.

minimum: 1
View raw schema
{
  "properties": {
    "max": {
      "description": "The most seats the map is designed for.",
      "minimum": 1,
      "type": "integer"
    },
    "min": {
      "description": "The fewest seats the map is designed for.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "min",
    "max"
  ],
  "type": "object"
}
size object

No description available.

Properties

height integer Required

The playfield's height, in hundredths of a map unit.

minimum: 1
width integer Required

The playfield's width, in hundredths of a map unit.

minimum: 1
View raw schema
{
  "properties": {
    "height": {
      "description": "The playfield's height, in hundredths of a map unit.",
      "minimum": 1,
      "type": "integer"
    },
    "width": {
      "description": "The playfield's width, in hundredths of a map unit.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "width",
    "height"
  ],
  "type": "object"
}
star object

No description available.

Properties

asteroids integer Required

Asteroids to mine; a mining station yields 3 per asteroid per hour.

minimum: 0
defence integer Required

Combat multiplier e^(defence/100), in percent, for whoever holds the star. May be negative.

habitable boolean Required

Whether a colony can be built; mining works either way.

id integer Required

The star's number on the map; unique within the map.

minimum: 1
income integer Required

Money per game hour, once a colony is built.

minimum: 0
name string Required

The star's name.

maxGraphemes: 64 graphemes
productivity integer Required

Factories beyond this many produce only 40%. May be negative.

start boolean Required

Whether a player can start here.

tech integer Required

The most labs the star can have.

minimum: 0
type integer Required

The star's sprite, 1-9 in the original maps; no effect on play.

minimum: 1
x integer Required

The star's x position, in hundredths of a map unit.

minimum: 0
y integer Required

The star's y position, in hundredths of a map unit.

minimum: 0
View raw schema
{
  "properties": {
    "asteroids": {
      "description": "Asteroids to mine; a mining station yields 3 per asteroid per hour.",
      "minimum": 0,
      "type": "integer"
    },
    "defence": {
      "description": "Combat multiplier e^(defence/100), in percent, for whoever holds the star. May be negative.",
      "type": "integer"
    },
    "habitable": {
      "description": "Whether a colony can be built; mining works either way.",
      "type": "boolean"
    },
    "id": {
      "description": "The star's number on the map; unique within the map.",
      "minimum": 1,
      "type": "integer"
    },
    "income": {
      "description": "Money per game hour, once a colony is built.",
      "minimum": 0,
      "type": "integer"
    },
    "name": {
      "description": "The star's name.",
      "maxGraphemes": 64,
      "type": "string"
    },
    "productivity": {
      "description": "Factories beyond this many produce only 40%. May be negative.",
      "type": "integer"
    },
    "start": {
      "description": "Whether a player can start here.",
      "type": "boolean"
    },
    "tech": {
      "description": "The most labs the star can have.",
      "minimum": 0,
      "type": "integer"
    },
    "type": {
      "description": "The star's sprite, 1-9 in the original maps; no effect on play.",
      "minimum": 1,
      "type": "integer"
    },
    "x": {
      "description": "The star's x position, in hundredths of a map unit.",
      "minimum": 0,
      "type": "integer"
    },
    "y": {
      "description": "The star's y position, in hundredths of a map unit.",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "id",
    "name",
    "x",
    "y",
    "type",
    "income",
    "productivity",
    "tech",
    "asteroids",
    "defence",
    "habitable",
    "start"
  ],
  "type": "object"
}

Lexicon Garden

@