games.atplay.game.release

atplay.games

{
  "id": "games.atplay.game.release",
  "defs": {
    "file": {
      "type": "object",
      "properties": {
        "path": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "The path this file should be accessible at"
        },
        "contents": {
          "type": "blob",
          "maxSize": 2097152
        }
      }
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "title",
          "version",
          "gamelogic"
        ],
        "properties": {
          "title": {
            "type": "string",
            "format": "at-uri",
            "maxLength": 512,
            "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."
          },
          "assets": {
            "type": "array",
            "items": {
              "ref": "#assets",
              "type": "ref"
            }
          },
          "version": {
            "type": "string",
            "maxLength": 32,
            "minLength": 3,
            "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."
          },
          "replaces": {
            "ref": "#replaces",
            "type": "ref"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this version of this game was released"
          },
          "gamelogic": {
            "type": "blob",
            "accept": [
              "application/javascript"
            ],
            "description": "Javascript IIFE module containing game logic conforming to the AtPlay standard"
          }
        }
      },
      "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)."
    },
    "assets": {
      "type": "object",
      "required": [
        "intent",
        "files"
      ],
      "properties": {
        "files": {
          "type": "array",
          "items": {
            "ref": "#file",
            "type": "ref"
          },
          "minLength": 1
        },
        "intent": {
          "type": "string",
          "maxLength": 128,
          "minLength": 1,
          "description": "The intended purpose of these assets.",
          "knownValues": [
            "games.atplay.game.release#webDisplay"
          ]
        }
      }
    },
    "replaces": {
      "type": "object",
      "required": [
        "previous",
        "changeNotes"
      ],
      "properties": {
        "previous": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "changeNotes": {
          "type": "string",
          "maxLength": 10000,
          "description": "A description of what changed between the referenced previous version, and this one. Supports markdown.",
          "maxGraphemes": 1000
        }
      },
      "description": "A statement that this game logic is intended to replace this previous version for new games"
    },
    "webDisplay": {
      "type": "token",
      "description": "These assets are intended to display this game on the web."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "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)

Lexicon Garden

@