games.atplay.game.release

atplay.games

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "assets": {
      "properties": {
        "files": {
          "items": {
            "ref": "#file",
            "type": "ref"
          },
          "minLength": 1,
          "type": "array"
        },
        "intent": {
          "description": "The intended purpose of these assets.",
          "knownValues": [
            "games.atplay.game.release#webDisplay"
          ],
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "intent",
        "files"
      ],
      "type": "object"
    },
    "file": {
      "properties": {
        "contents": {
          "maxSize": 2097152,
          "type": "blob"
        },
        "path": {
          "description": "The path this file should be accessible at",
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "One published build of a game: its logic, its display, and what it replaces. Everything that doesn't change between builds lives on the game's title instead (ADR 0037).",
      "key": "tid",
      "record": {
        "properties": {
          "assets": {
            "items": {
              "ref": "#assets",
              "type": "ref"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "When this version of this game was released",
            "format": "datetime",
            "type": "string"
          },
          "gamelogic": {
            "accept": [
              "application/javascript"
            ],
            "description": "Javascript IIFE module containing game logic conforming to the AtPlay standard",
            "type": "blob"
          },
          "replaces": {
            "ref": "#replaces",
            "type": "ref"
          },
          "title": {
            "description": "The game this is a release of. A plain AT-URI rather than a strongRef, because a title's CID changes whenever its `latest` pointer moves and this names the game, not a version of the record. Must be in the same repo as this release; readers ignore releases that name a title belonging to another DID.",
            "format": "at-uri",
            "maxLength": 512,
            "type": "string"
          },
          "version": {
            "description": "The game logic's version number in the format 'X.Y' or 'X.Y-alpha'. An increment in X means gameplay is intentionally (likely incompatibly) different, an increment in Y means a compatible fix (players could and may wish to upgrade mid-game). The presence of a hyphen + alpha string means unstable game logic, which may or may not be compatible with the subsequently released game logic vX.Y.",
            "maxLength": 32,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "title",
          "version",
          "gamelogic"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "replaces": {
      "description": "A statement that this game logic is intended to replace this previous version for new games",
      "properties": {
        "changeNotes": {
          "description": "A description of what changed between the referenced previous version, and this one. Supports markdown.",
          "maxGraphemes": 1000,
          "maxLength": 10000,
          "type": "string"
        },
        "previous": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "previous",
        "changeNotes"
      ],
      "type": "object"
    },
    "webDisplay": {
      "description": "These assets are intended to display this game on the web.",
      "type": "token"
    }
  },
  "id": "games.atplay.game.release",
  "lexicon": 1
}

Validate Record

Validate a record against games.atplay.game.release

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:xawtkr77srkxlwhxjf7whbml
CID
bafyreiggugwcu4hbbsg7kkdxfxwh3gwxqddbudes2cknky66m7uwgm5lvq
Indexed At
2026-07-25 07:03 UTC
AT-URI
at://did:plc:xawtkr77srkxlwhxjf7whbml/com.atproto.lexicon.schema/games.atplay.game.release

Version History (3 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A pointer to the latest release of a game

  • lol.folk.game record

    A game, published by the developer that made it. One per repo: the record lives in the developer's own repository and is the canonical, self-asserted definition of the game. Player-side records reference it by AT-URI.

  • games.atmosphere.define recordnot from the namespace authority

    A game definition: what it is, what a player needs to play it, and what records it uses.

  • A game, as distinct from any one release of it. There is one of these per game per developer, and its record key is the game's id — so its AT-URI is a permanent name for the game, which releases point back at (ADR 003…

Lexicon Garden

@