games.atplay.game.release

atplay.games

Schema Diff

+8 -355

From

CID
bafyreiewdv7tfil...
Indexed At
2026-04-11 21:27 UTC
View this version

To

CID
bafyreiggugwcu4h...
Indexed At
2026-07-25 07:03 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

28 breaking changes, 1 non-breaking change.

Breaking Changes (28)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.title", kind: "prop", name: Some("title") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.players", kind: "prop", name: Some("players") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.skill", kind: "prop", name: Some("skill") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.tags", kind: "prop", name: Some("tags") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.complexity", kind: "prop", name: Some("complexity") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.id", kind: "prop", name: Some("id") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.attributes", kind: "prop", name: Some("attributes") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.name", kind: "prop", name: Some("name") }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.complexity" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.players" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.players:items" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.skill" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.tags" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#attributes.tags:items" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release#parameters" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release:body.attributes" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release:body.description" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release:body.id" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release:body.name" }
  • RemovedVertex RemovedVertex { vertex_id: "games.atplay.game.release:body.parameters" }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release#attributes.players", tgt: "games.atplay.game.release#attributes.players:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release#attributes.tags", tgt: "games.atplay.game.release#attributes.tags:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.description", kind: "prop", name: Some("description") }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.parameters", kind: "prop", name: Some("parameters") }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release:body.attributes", tgt: "games.atplay.game.release#attributes", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "games.atplay.game.release:body.parameters", tgt: "games.atplay.game.release#parameters", kind: "ref", name: None }
  • ConstraintAdded ConstraintAdded { vertex_id: "games.atplay.game.release:body.version", sort: "minLength", value: "3" }
Non-Breaking Changes (1)
  • AddedVertex AddedVertex { vertex_id: "games.atplay.game.release:body.title" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.complexity" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.players" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.players:items" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.skill" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.tags" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#attributes.tags:items" }
  • RemovedVertex { vertex_id: "games.atplay.game.release#parameters" }
  • RemovedVertex { vertex_id: "games.atplay.game.release:body.attributes" }
  • RemovedVertex { vertex_id: "games.atplay.game.release:body.description" }
  • RemovedVertex { vertex_id: "games.atplay.game.release:body.id" }
  • RemovedVertex { vertex_id: "games.atplay.game.release:body.name" }
  • RemovedVertex { vertex_id: "games.atplay.game.release:body.parameters" }

Added Elements

  • AddedVertex { vertex_id: "games.atplay.game.release:body.title" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "games.atplay.game.release:body.version", sort: "minLength", value: "3" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.title", kind: "prop", name: Some("title") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.id", kind: "prop", name: Some("id") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.attributes", kind: "prop", name: Some("attributes") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release:body", src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.name", kind: "prop", name: Some("name") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.players", kind: "prop", name: Some("players") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.skill", kind: "prop", name: Some("skill") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.tags", kind: "prop", name: Some("tags") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "games.atplay.game.release#attributes", src: "games.atplay.game.release#attributes", tgt: "games.atplay.game.release#attributes.complexity", kind: "prop", name: Some("complexity") }
  • Breaking: RemovedEdge { src: "games.atplay.game.release#attributes.players", tgt: "games.atplay.game.release#attributes.players:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "games.atplay.game.release#attributes.tags", tgt: "games.atplay.game.release#attributes.tags:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.description", kind: "prop", name: Some("description") }
  • Breaking: RemovedEdge { src: "games.atplay.game.release:body", tgt: "games.atplay.game.release:body.parameters", kind: "prop", name: Some("parameters") }
  • Breaking: RemovedEdge { src: "games.atplay.game.release:body.attributes", tgt: "games.atplay.game.release#attributes", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "games.atplay.game.release:body.parameters", tgt: "games.atplay.game.release#parameters", kind: "ref", name: None }
1 1
{
2 2
  "id": "games.atplay.game.release",
3 3
  "defs": {
4 4
    "file": {
5 5
      "type": "object",
6 6
      "properties": {
7 7
        "path": {
8 8
          "type": "string",
9 9
          "maxLength": 256,
10 10
          "minLength": 1,
11 11
          "description": "The path this file should be accessible at"
12 12
        },
13 13
        "contents": {
14 14
          "type": "blob",
15 15
          "maxSize": 2097152
16 16
        }
17 17
      }
18 18
    },
19 19
    "main": {
20 20
      "key": "tid",
21 21
      "type": "record",
22 22
      "record": {
23 23
        "type": "object",
24 24
        "required": [
25 -
          "name",
26 -
          "id",
25 +
          "title",
27 26
          "version",
28 -
          "gamelogic",
29 -
          "attributes"
27 +
          "gamelogic"
30 28
        ],
31 29
        "properties": {
32 -
          "id": {
33 -
            "type": "string",
34 -
            "format": "record-key",
35 -
            "description": "An ID for this game which will be used to refer to it in technical contexts. Must be the same as the ID of the release in 'replaces' if present, there can be one latestRelease record per ID"
36 -
          },
37 -
          "name": {
30 +
          "title": {
38 31
            "type": "string",
39 -
            "maxLength": 640,
40 -
            "description": "The name of the game being played. Must match what the blob returns",
41 -
            "maxGraphemes": 64,
42 -
            "minGraphemes": 1
32 +
            "format": "at-uri",
33 +
            "maxLength": 512,
34 +
            "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."
43 35
          },
44 36
          "assets": {
45 37
            "type": "array",
46 38
            "items": {
47 39
              "ref": "#assets",
48 40
              "type": "ref"
49 41
            }
50 42
          },
51 43
          "version": {
52 44
            "type": "string",
53 45
            "maxLength": 32,
54 -
            "minLemgth": 3,
46 +
            "minLength": 3,
55 47
            "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."
56 48
          },
57 49
          "replaces": {
58 50
            "ref": "#replaces",
59 51
            "type": "ref"
60 52
          },
61 53
          "createdAt": {
62 54
            "type": "string",
63 55
            "format": "datetime",
64 56
            "description": "When this version of this game was released"
65 57
          },
66 58
          "gamelogic": {
67 59
            "type": "blob",
68 60
            "accept": [
69 61
              "application/javascript"
70 62
            ],
71 63
            "description": "Javascript IIFE module containing game logic conforming to the AtPlay standard"
72 -
          },
73 -
          "attributes": {
74 -
            "ref": "#attributes",
75 -
            "type": "ref"
76 -
          },
77 -
          "parameters": {
78 -
            "ref": "#parameters",
79 -
            "type": "ref"
80 -
          },
81 -
          "description": {
82 -
            "type": "string",
83 -
            "maxLength": 3000,
84 -
            "description": "A description of this game, and why people might choose to play it",
85 -
            "maxGraphemes": 300,
86 -
            "minGraphemes": 1
87 64
          }
88 65
        }
89 66
      },
90 -
      "description": "A release of a playable game, and its logic"
67 +
      "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)."
91 68
    },
92 69
    "assets": {
93 70
      "type": "object",
94 71
      "required": [
95 72
        "intent",
96 73
        "files"
97 74
      ],
98 75
      "properties": {
99 76
        "files": {
100 77
          "type": "array",
101 78
          "items": {
102 79
            "ref": "#file",
103 80
            "type": "ref"
104 81
          },
105 82
          "minLength": 1
106 83
        },
107 84
        "intent": {
108 85
          "type": "string",
109 86
          "maxLength": 128,
110 87
          "minLength": 1,
111 88
          "description": "The intended purpose of these assets.",
112 89
          "knownValues": [
113 90
            "games.atplay.game.release#webDisplay"
114 91
          ]
115 92
        }
116 93
      }
117 94
    },
118 95
    "replaces": {
119 96
      "type": "object",
120 97
      "required": [
121 98
        "previous",
122 99
        "changeNotes"
123 100
      ],
124 101
      "properties": {
125 102
        "previous": {
126 103
          "ref": "com.atproto.repo.strongRef",
127 104
          "type": "ref"
128 105
        },
129 106
        "changeNotes": {
130 107
          "type": "string",
131 108
          "maxLength": 10000,
132 109
          "description": "A description of what changed between the referenced previous version, and this one. Supports markdown.",
133 110
          "maxGraphemes": 1000
134 111
        }
135 112
      },
136 113
      "description": "A statement that this game logic is intended to replace this previous version for new games"
137 -
    },
138 -
    "attributes": {
139 -
      "type": "object",
140 -
      "required": [
141 -
        "players",
142 -
        "complexity",
143 -
        "skill",
144 -
        "tags"
145 -
      ],
146 -
      "properties": {
147 -
        "tags": {
148 -
          "type": "array",
149 -
          "items": {
150 -
            "type": "string",
151 -
            "maxLength": 128,
152 -
            "minLength": 1,
153 -
            "knownValues": [
154 -
              "games.atplay.taxonomy.mechanic#acting",
155 -
              "games.atplay.taxonomy.mechanic#actionEvent",
156 -
              "games.atplay.taxonomy.mechanic#actionDrafting",
157 -
              "games.atplay.taxonomy.mechanic#actionPoints",
158 -
              "games.atplay.taxonomy.mechanic#actionQueue",
159 -
              "games.atplay.taxonomy.mechanic#actionRetrieval",
160 -
              "games.atplay.taxonomy.mechanic#actionTimer",
161 -
              "games.atplay.taxonomy.mechanic#advantageToken",
162 -
              "games.atplay.taxonomy.mechanic#alliances",
163 -
              "games.atplay.taxonomy.mechanic#areaMajorityInfluence",
164 -
              "games.atplay.taxonomy.mechanic#areaMovement",
165 -
              "games.atplay.taxonomy.mechanic#areaImpulse",
166 -
              "games.atplay.taxonomy.mechanic#auctionBidding",
167 -
              "games.atplay.taxonomy.mechanic#auctionCompensation",
168 -
              "games.atplay.taxonomy.mechanic#auctionDexterity",
169 -
              "games.atplay.taxonomy.mechanic#auctionDutch",
170 -
              "games.atplay.taxonomy.mechanic#auctionDutchPriority",
171 -
              "games.atplay.taxonomy.mechanic#auctionEnglish",
172 -
              "games.atplay.taxonomy.mechanic#auctionFixedPlacement",
173 -
              "games.atplay.taxonomy.mechanic#auctionMultipleLot",
174 -
              "games.atplay.taxonomy.mechanic#auctionOnceAround",
175 -
              "games.atplay.taxonomy.mechanic#auctionSealedBid",
176 -
              "games.atplay.taxonomy.mechanic#auctionTurnOrderUntilPass",
177 -
              "games.atplay.taxonomy.mechanic#automaticResourceGrowth",
178 -
              "games.atplay.taxonomy.mechanic#bettingAndBluffing",
179 -
              "games.atplay.taxonomy.mechanic#bias",
180 -
              "games.atplay.taxonomy.mechanic#bidsAsWagers",
181 -
              "games.atplay.taxonomy.mechanic#bingo",
182 -
              "games.atplay.taxonomy.mechanic#bribery",
183 -
              "games.atplay.taxonomy.mechanic#campaignBattleCardDriven",
184 -
              "games.atplay.taxonomy.mechanic#cardPlayConflictResolution",
185 -
              "games.atplay.taxonomy.mechanic#catchTheLeader",
186 -
              "games.atplay.taxonomy.mechanic#chaining",
187 -
              "games.atplay.taxonomy.mechanic#chitPullSystem",
188 -
              "games.atplay.taxonomy.mechanic#closedDrafting",
189 -
              "games.atplay.taxonomy.mechanic#closedEconomyAuction",
190 -
              "games.atplay.taxonomy.mechanic#commandCards",
191 -
              "games.atplay.taxonomy.mechanic#commoditySpeculation",
192 -
              "games.atplay.taxonomy.mechanic#communicationLimits",
193 -
              "games.atplay.taxonomy.mechanic#connections",
194 -
              "games.atplay.taxonomy.mechanic#constrainedBidding",
195 -
              "games.atplay.taxonomy.mechanic#contracts",
196 -
              "games.atplay.taxonomy.mechanic#cooperativeGame",
197 -
              "games.atplay.taxonomy.mechanic#crayonRailSystem",
198 -
              "games.atplay.taxonomy.mechanic#criticalHitsAndFailures",
199 -
              "games.atplay.taxonomy.mechanic#cubeTower",
200 -
              "games.atplay.taxonomy.mechanic#deckConstruction",
201 -
              "games.atplay.taxonomy.mechanic#deckBagAndPoolBuilding",
202 -
              "games.atplay.taxonomy.mechanic#deduction",
203 -
              "games.atplay.taxonomy.mechanic#delayedPurchase",
204 -
              "games.atplay.taxonomy.mechanic#diceRolling",
205 -
              "games.atplay.taxonomy.mechanic#dieIconResolution",
206 -
              "games.atplay.taxonomy.mechanic#differentDiceMovement",
207 -
              "games.atplay.taxonomy.mechanic#drawing",
208 -
              "games.atplay.taxonomy.mechanic#elapsedRealTimeEnding",
209 -
              "games.atplay.taxonomy.mechanic#enclosure",
210 -
              "games.atplay.taxonomy.mechanic#endGameBonuses",
211 -
              "games.atplay.taxonomy.mechanic#events",
212 -
              "games.atplay.taxonomy.mechanic#finaleEnding",
213 -
              "games.atplay.taxonomy.mechanic#flicking",
214 -
              "games.atplay.taxonomy.mechanic#follow",
215 -
              "games.atplay.taxonomy.mechanic#forceCommitment",
216 -
              "games.atplay.taxonomy.mechanic#gridCoverage",
217 -
              "games.atplay.taxonomy.mechanic#gridMovement",
218 -
              "games.atplay.taxonomy.mechanic#handManagement",
219 -
              "games.atplay.taxonomy.mechanic#hexagonGrid",
220 -
              "games.atplay.taxonomy.mechanic#hiddenMovement",
221 -
              "games.atplay.taxonomy.mechanic#hiddenRoles",
222 -
              "games.atplay.taxonomy.mechanic#hiddenVictoryPoints",
223 -
              "games.atplay.taxonomy.mechanic#highestLowestScoring",
224 -
              "games.atplay.taxonomy.mechanic#hotPotato",
225 -
              "games.atplay.taxonomy.mechanic#iCutYouChoose",
226 -
              "games.atplay.taxonomy.mechanic#impulseMovement",
227 -
              "games.atplay.taxonomy.mechanic#income",
228 -
              "games.atplay.taxonomy.mechanic#increaseValueOfUnchosenResources",
229 -
              "games.atplay.taxonomy.mechanic#induction",
230 -
              "games.atplay.taxonomy.mechanic#interrupts",
231 -
              "games.atplay.taxonomy.mechanic#investment",
232 -
              "games.atplay.taxonomy.mechanic#killSteal",
233 -
              "games.atplay.taxonomy.mechanic#kingOfTheHill",
234 -
              "games.atplay.taxonomy.mechanic#ladderClimbing",
235 -
              "games.atplay.taxonomy.mechanic#layering",
236 -
              "games.atplay.taxonomy.mechanic#legacyGame",
237 -
              "games.atplay.taxonomy.mechanic#lineDrawing",
238 -
              "games.atplay.taxonomy.mechanic#lineOfSight",
239 -
              "games.atplay.taxonomy.mechanic#loans",
240 -
              "games.atplay.taxonomy.mechanic#loseATurn",
241 -
              "games.atplay.taxonomy.mechanic#mancala",
242 -
              "games.atplay.taxonomy.mechanic#mapAddition",
243 -
              "games.atplay.taxonomy.mechanic#mapDeformation",
244 -
              "games.atplay.taxonomy.mechanic#mapReduction",
245 -
              "games.atplay.taxonomy.mechanic#market",
246 -
              "games.atplay.taxonomy.mechanic#matching",
247 -
              "games.atplay.taxonomy.mechanic#measurementMovement",
248 -
              "games.atplay.taxonomy.mechanic#meldingAndSplaying",
249 -
              "games.atplay.taxonomy.mechanic#memory",
250 -
              "games.atplay.taxonomy.mechanic#minimapResolution",
251 -
              "games.atplay.taxonomy.mechanic#modularBoard",
252 -
              "games.atplay.taxonomy.mechanic#moveThroughDeck",
253 -
              "games.atplay.taxonomy.mechanic#movementPoints",
254 -
              "games.atplay.taxonomy.mechanic#movementTemplate",
255 -
              "games.atplay.taxonomy.mechanic#movingMultipleUnits",
256 -
              "games.atplay.taxonomy.mechanic#multiUseCards",
257 -
              "games.atplay.taxonomy.mechanic#multipleMaps",
258 -
              "games.atplay.taxonomy.mechanic#narrativeChoiceParagraph",
259 -
              "games.atplay.taxonomy.mechanic#negotiation",
260 -
              "games.atplay.taxonomy.mechanic#neighborScope",
261 -
              "games.atplay.taxonomy.mechanic#networkAndRouteBuilding",
262 -
              "games.atplay.taxonomy.mechanic#oncePerGameAbilities",
263 -
              "games.atplay.taxonomy.mechanic#openDrafting",
264 -
              "games.atplay.taxonomy.mechanic#orderCounters",
265 -
              "games.atplay.taxonomy.mechanic#ordering",
266 -
              "games.atplay.taxonomy.mechanic#ownership",
267 -
              "games.atplay.taxonomy.mechanic#paperAndPencil",
268 -
              "games.atplay.taxonomy.mechanic#passedActionToken",
269 -
              "games.atplay.taxonomy.mechanic#patternBuilding",
270 -
              "games.atplay.taxonomy.mechanic#patternMovement",
271 -
              "games.atplay.taxonomy.mechanic#patternRecognition",
272 -
              "games.atplay.taxonomy.mechanic#physicalRemoval",
273 -
              "games.atplay.taxonomy.mechanic#pickUpAndDeliver",
274 -
              "games.atplay.taxonomy.mechanic#piecesAsMap",
275 -
              "games.atplay.taxonomy.mechanic#playerElimination",
276 -
              "games.atplay.taxonomy.mechanic#playerJudge",
277 -
              "games.atplay.taxonomy.mechanic#pointToPointMovement",
278 -
              "games.atplay.taxonomy.mechanic#predictiveBid",
279 -
              "games.atplay.taxonomy.mechanic#prisonersDilemma",
280 -
              "games.atplay.taxonomy.mechanic#programmedMovement",
281 -
              "games.atplay.taxonomy.mechanic#pushYourLuck",
282 -
              "games.atplay.taxonomy.mechanic#questionsAndAnswers",
283 -
              "games.atplay.taxonomy.mechanic#race",
284 -
              "games.atplay.taxonomy.mechanic#randomProduction",
285 -
              "games.atplay.taxonomy.mechanic#ratioCombatResultsTable",
286 -
              "games.atplay.taxonomy.mechanic#reRollingAndLocking",
287 -
              "games.atplay.taxonomy.mechanic#realTime",
288 -
              "games.atplay.taxonomy.mechanic#relativeMovement",
289 -
              "games.atplay.taxonomy.mechanic#resourceQueue",
290 -
              "games.atplay.taxonomy.mechanic#resourceToMove",
291 -
              "games.atplay.taxonomy.mechanic#rockPaperScissors",
292 -
              "games.atplay.taxonomy.mechanic#rolePlaying",
293 -
              "games.atplay.taxonomy.mechanic#rolesWithAsymmetricInformation",
294 -
              "games.atplay.taxonomy.mechanic#rollSpinAndMove",
295 -
              "games.atplay.taxonomy.mechanic#rondel",
296 -
              "games.atplay.taxonomy.mechanic#scenarioMissionCampaignGame",
297 -
              "games.atplay.taxonomy.mechanic#scoreAndResetGame",
298 -
              "games.atplay.taxonomy.mechanic#secretUnitDeployment",
299 -
              "games.atplay.taxonomy.mechanic#selectionOrderBid",
300 -
              "games.atplay.taxonomy.mechanic#semiCooperativeGame",
301 -
              "games.atplay.taxonomy.mechanic#setCollection",
302 -
              "games.atplay.taxonomy.mechanic#simulation",
303 -
              "games.atplay.taxonomy.mechanic#simultaneousActionSelection",
304 -
              "games.atplay.taxonomy.mechanic#singing",
305 -
              "games.atplay.taxonomy.mechanic#singleLoserGame",
306 -
              "games.atplay.taxonomy.mechanic#slidePush",
307 -
              "games.atplay.taxonomy.mechanic#soloSolitaireGame",
308 -
              "games.atplay.taxonomy.mechanic#speedMatching",
309 -
              "games.atplay.taxonomy.mechanic#spelling",
310 -
              "games.atplay.taxonomy.mechanic#squareGrid",
311 -
              "games.atplay.taxonomy.mechanic#stackingAndBalancing",
312 -
              "games.atplay.taxonomy.mechanic#statCheckResolution",
313 -
              "games.atplay.taxonomy.mechanic#staticCapture",
314 -
              "games.atplay.taxonomy.mechanic#stockHolding",
315 -
              "games.atplay.taxonomy.mechanic#storytelling",
316 -
              "games.atplay.taxonomy.mechanic#suddenDeathEnding",
317 -
              "games.atplay.taxonomy.mechanic#tags",
318 -
              "games.atplay.taxonomy.mechanic#takeThat",
319 -
              "games.atplay.taxonomy.mechanic#targetedClues",
320 -
              "games.atplay.taxonomy.mechanic#teamBasedGame",
321 -
              "games.atplay.taxonomy.mechanic#techTreesTechTracks",
322 -
              "games.atplay.taxonomy.mechanic#threeDimensionalMovement",
323 -
              "games.atplay.taxonomy.mechanic#tilePlacement",
324 -
              "games.atplay.taxonomy.mechanic#trackMovement",
325 -
              "games.atplay.taxonomy.mechanic#trading",
326 -
              "games.atplay.taxonomy.mechanic#traitorGame",
327 -
              "games.atplay.taxonomy.mechanic#trickTaking",
328 -
              "games.atplay.taxonomy.mechanic#tugOfWar",
329 -
              "games.atplay.taxonomy.mechanic#turnOrderAuction",
330 -
              "games.atplay.taxonomy.mechanic#turnOrderClaimAction",
331 -
              "games.atplay.taxonomy.mechanic#turnOrderPassOrder",
332 -
              "games.atplay.taxonomy.mechanic#turnOrderProgressive",
333 -
              "games.atplay.taxonomy.mechanic#turnOrderRandom",
334 -
              "games.atplay.taxonomy.mechanic#turnOrderRoleOrder",
335 -
              "games.atplay.taxonomy.mechanic#turnOrderStatBased",
336 -
              "games.atplay.taxonomy.mechanic#turnOrderTimeTrack",
337 -
              "games.atplay.taxonomy.mechanic#variablePhaseOrder",
338 -
              "games.atplay.taxonomy.mechanic#variablePlayerPowers",
339 -
              "games.atplay.taxonomy.mechanic#variableSetUp",
340 -
              "games.atplay.taxonomy.mechanic#victoryPointsAsAResource",
341 -
              "games.atplay.taxonomy.mechanic#voting",
342 -
              "games.atplay.taxonomy.mechanic#workerPlacement",
343 -
              "games.atplay.taxonomy.mechanic#workerPlacementWithDiceWorkers",
344 -
              "games.atplay.taxonomy.mechanic#workerPlacementDifferentWorkerTypes",
345 -
              "games.atplay.taxonomy.mechanic#zoneOfControl",
346 -
              "games.atplay.taxonomy.category#abstractStrategy",
347 -
              "games.atplay.taxonomy.category#actionDexterity",
348 -
              "games.atplay.taxonomy.category#adventure",
349 -
              "games.atplay.taxonomy.category#ageOfReason",
350 -
              "games.atplay.taxonomy.category#americanCivilWar",
351 -
              "games.atplay.taxonomy.category#americanIndianWars",
352 -
              "games.atplay.taxonomy.category#americanRevolutionaryWar",
353 -
              "games.atplay.taxonomy.category#americanWest",
354 -
              "games.atplay.taxonomy.category#ancient",
355 -
              "games.atplay.taxonomy.category#animals",
356 -
              "games.atplay.taxonomy.category#arabian",
357 -
              "games.atplay.taxonomy.category#aviationFlight",
358 -
              "games.atplay.taxonomy.category#bluffing",
359 -
              "games.atplay.taxonomy.category#book",
360 -
              "games.atplay.taxonomy.category#cardGame",
361 -
              "games.atplay.taxonomy.category#childrensGame",
362 -
              "games.atplay.taxonomy.category#cityBuilding",
363 -
              "games.atplay.taxonomy.category#civilWar",
364 -
              "games.atplay.taxonomy.category#civilization",
365 -
              "games.atplay.taxonomy.category#collectibleComponents",
366 -
              "games.atplay.taxonomy.category#comicBookStrip",
367 -
              "games.atplay.taxonomy.category#deduction",
368 -
              "games.atplay.taxonomy.category#dice",
369 -
              "games.atplay.taxonomy.category#economic",
370 -
              "games.atplay.taxonomy.category#educational",
371 -
              "games.atplay.taxonomy.category#electronic",
372 -
              "games.atplay.taxonomy.category#environmental",
373 -
              "games.atplay.taxonomy.category#exploration",
374 -
              "games.atplay.taxonomy.category#fantasy",
375 -
              "games.atplay.taxonomy.category#farming",
376 -
              "games.atplay.taxonomy.category#fighting",
377 -
              "games.atplay.taxonomy.category#gameSystem",
378 -
              "games.atplay.taxonomy.category#horror",
379 -
              "games.atplay.taxonomy.category#humor",
380 -
              "games.atplay.taxonomy.category#industryManufacturing",
381 -
              "games.atplay.taxonomy.category#koreanWar",
382 -
              "games.atplay.taxonomy.category#mafia",
383 -
              "games.atplay.taxonomy.category#math",
384 -
              "games.atplay.taxonomy.category#matureAdult",
385 -
              "games.atplay.taxonomy.category#maze",
386 -
              "games.atplay.taxonomy.category#medical",
387 -
              "games.atplay.taxonomy.category#medieval",
388 -
              "games.atplay.taxonomy.category#memory",
389 -
              "games.atplay.taxonomy.category#miniatures",
390 -
              "games.atplay.taxonomy.category#modernWarfare",
391 -
              "games.atplay.taxonomy.category#moviesTvRadioTheme",
392 -
              "games.atplay.taxonomy.category#murderMystery",
393 -
              "games.atplay.taxonomy.category#music",
394 -
              "games.atplay.taxonomy.category#mythology",
395 -
              "games.atplay.taxonomy.category#napoleonic",
396 -
              "games.atplay.taxonomy.category#nautical",
397 -
              "games.atplay.taxonomy.category#negotiation",
398 -
              "games.atplay.taxonomy.category#novelBased",
399 -
              "games.atplay.taxonomy.category#number",
400 -
              "games.atplay.taxonomy.category#partyGame",
401 -
              "games.atplay.taxonomy.category#pikeAndShot",
402 -
              "games.atplay.taxonomy.category#pirates",
403 -
              "games.atplay.taxonomy.category#political",
404 -
              "games.atplay.taxonomy.category#postNapoleonic",
405 -
              "games.atplay.taxonomy.category#prehistoric",
406 -
              "games.atplay.taxonomy.category#printAndPlay",
407 -
              "games.atplay.taxonomy.category#puzzle",
408 -
              "games.atplay.taxonomy.category#racing",
409 -
              "games.atplay.taxonomy.category#realTime",
410 -
              "games.atplay.taxonomy.category#religious",
411 -
              "games.atplay.taxonomy.category#renaissance",
412 -
              "games.atplay.taxonomy.category#scienceFiction",
413 -
              "games.atplay.taxonomy.category#spaceExploration",
414 -
              "games.atplay.taxonomy.category#spiesSecretAgents",
415 -
              "games.atplay.taxonomy.category#sports",
416 -
              "games.atplay.taxonomy.category#territoryBuilding",
417 -
              "games.atplay.taxonomy.category#trains",
418 -
              "games.atplay.taxonomy.category#transportation",
419 -
              "games.atplay.taxonomy.category#travel",
420 -
              "games.atplay.taxonomy.category#trivia",
421 -
              "games.atplay.taxonomy.category#videoGameTheme",
422 -
              "games.atplay.taxonomy.category#vietnamWar",
423 -
              "games.atplay.taxonomy.category#wargame",
424 -
              "games.atplay.taxonomy.category#wordGame",
425 -
              "games.atplay.taxonomy.category#worldWarI",
426 -
              "games.atplay.taxonomy.category#worldWarII",
427 -
              "games.atplay.taxonomy.category#zombies"
428 -
            ]
429 -
          },
430 -
          "description": "Tags describing the game's style, theme, and mechanics."
431 -
        },
432 -
        "skill": {
433 -
          "type": "integer",
434 -
          "maximum": 10,
435 -
          "minimum": 0,
436 -
          "description": "How much of the outcome is determined by player skill rather than chance. 0 = pure luck (e.g. snakes and ladders), 10 = pure skill (e.g. chess, with no random elements)."
437 -
        },
438 -
        "players": {
439 -
          "type": "array",
440 -
          "items": {
441 -
            "type": "integer",
442 -
            "minimum": 1
443 -
          },
444 -
          "maxLength": 3,
445 -
          "minLength": 1,
446 -
          "description": "Supported player counts. One element means an exact count (e.g. [2] = exactly two players); two elements mean an inclusive range (e.g. [2, 4] = two to four players); three elements mean a range with the middle number being the recommended number (e.g. [2, 3, 5] = two to five players, plays best with three)."
447 -
        },
448 -
        "complexity": {
449 -
          "type": "integer",
450 -
          "maximum": 5,
451 -
          "minimum": 1,
452 -
          "description": "Rules and decision-space complexity, equivalent to BoardGameGeek's complexity weighting. 1 = trivial to learn and play, 5 = heavy ruleset with deep strategy."
453 -
        }
454 -
      },
455 -
      "description": "Static metadata about the game itself, surfaced to potential players when they're deciding whether to play it. Distinct from `parameters`, which configures gameplay."
456 -
    },
457 -
    "parameters": {
458 -
      "type": "object",
459 -
      "properties": {},
460 -
      "description": "The configurable parameters for this game. Their defaults when in a game.release, or their values for a given game elsewhere."
461 114
    },
462 115
    "webDisplay": {
463 116
      "type": "token",
464 117
      "description": "These assets are intended to display this game on the web."
465 118
    }
466 119
  },
467 120
  "$type": "com.atproto.lexicon.schema",
468 121
  "lexicon": 1
469 122
}

Compare Other Versions

Lexicon Garden

@