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).
tid
Timestamp-based ID
Properties
assets
array
of
ref
#assets
Optional
No description available.
createdAt
string
datetime
Optional
When this version of this game was released
gamelogic
blob
Required
Javascript IIFE module containing game logic conforming to the AtPlay standard
replaces
ref
#replaces
Optional
No description available.
title
string
at-uri
Required
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.
maxLength: 512 bytesversion
string
Required
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 bytesminLength: 3 bytesView raw schema
{
"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)."
}