games.atplay.game.release

atplay.games

Schema Diff

+10 -357

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

Compare Other Versions

Lexicon Garden

@