games.atplay.game.release
Schema Diff
+10 -348
Compatibility Analysis
Breaking Changes Detected
24 breaking changes, 1 non-breaking change.
Breaking Changes (24)
- 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: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" }
- 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.attributes", tgt: "games.atplay.game.release#attributes", 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: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" }
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#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: 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: 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.attributes", tgt: "games.atplay.game.release#attributes", 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
69
"replaces": {
412
70
"ref": "#replaces",
413
71
"type": "ref"
414
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
+
},
415
79
"version": {
416
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.",
417
81
"maxLength": 32,
418
-
"minLemgth": 3,
82
+
"minLength": 3,
419
83
"type": "string"
420
84
}
421
85
},
422
86
"required": [
423
-
"name",
424
-
"id",
87
+
"title",
425
88
"version",
426
-
"gamelogic",
427
-
"attributes"
89
+
"gamelogic"
428
90
],
429
91
"type": "object"
430
92
},
431
93
"type": "record"
432
94
},
433
95
"replaces": {
434
96
"description": "A statement that this game logic is intended to replace this previous version for new games",
435
97
"properties": {
436
98
"changeNotes": {
437
99
"description": "A description of what changed between the referenced previous version, and this one. Supports markdown.",
438
100
"maxGraphemes": 1000,
439
101
"maxLength": 10000,
440
102
"type": "string"
441
103
},
442
104
"previous": {
443
105
"ref": "com.atproto.repo.strongRef",
444
106
"type": "ref"
445
107
}
446
108
},
447
109
"required": [
448
110
"previous",
449
111
"changeNotes"
450
112
],
451
113
"type": "object"
452
114
},
453
115
"webDisplay": {
454
116
"description": "These assets are intended to display this game on the web.",
455
117
"type": "token"
456
118
}
457
119
},
458
120
"id": "games.atplay.game.release",
459
121
"lexicon": 1
460
122
}