games.atplay.game.release
Schema Diff
+10 -357
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
}