com.gamethesky.make.run
Schema Diff
+1 -1
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "One play of a Make the Sky game, published by the player into their own repo. It stores every input rather than trusting a score: each chapter's engine is deterministic, so replaying its log on the same game reproduces the run exactly. Owning the record is the identity proof and replaying it is the score proof; score and the rest are advisory.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"choices": {
10
10
"description": "For a game whose story branches: the option picked at each choice scene the run reached, in order, counting from 0. With the game, they say which chapters the logs belong to; a verifier walks the path they give and refuses a run whose picks or logs don't fit it. Absent (or empty) for a game without choices.",
11
11
"items": {
12
12
"maximum": 2,
13
13
"minimum": 0,
14
14
"type": "integer"
15
15
},
16
16
"maxLength": 8,
17
17
"type": "array"
18
18
},
19
19
"cleared": {
20
20
"description": "Advisory: chapters cleared (on the path taken, in a game that branches).",
21
21
"maximum": 8,
22
22
"minimum": 0,
23
23
"type": "integer"
24
24
},
25
25
"createdAt": {
26
26
"format": "datetime",
27
27
"type": "string"
28
28
},
29
29
"game": {
30
30
"description": "The game (a com.gamethesky.make.game record), pinned to the version played. The game may be edited in place later; a verifier replays the logs on it as it stands, so a rename keeps the run and a change of chapters retires it.",
31
31
"ref": "com.atproto.repo.strongRef",
32
32
"type": "ref"
33
33
},
34
34
"kills": {
35
35
"minimum": 0,
36
36
"type": "integer"
37
37
},
38
38
"logs": {
39
-
"description": "One log a chapter played, in play order: comma-separated `<dtick>.<k>.<a>` entries, dtick being 60 Hz ticks since the previous entry and k and a the input as that chapter's module takes it. Every chapter but the last played was cleared. In a game that branches, only the chapters on the path taken are played, so there may be fewer logs than chapters.",
39
+
"description": "One log a chapter played, in play order: comma-separated `<dtick>.<k>.<a>` entries, dtick being 60 Hz ticks since the previous entry and k (one digit or two) and a the input as that chapter's module takes it. Every chapter but the last played was cleared. In a game that branches, only the chapters on the path taken are played, so there may be fewer logs than chapters.",
40
40
"items": {
41
41
"maxLength": 400000,
42
42
"type": "string"
43
43
},
44
44
"maxLength": 8,
45
45
"minLength": 1,
46
46
"type": "array"
47
47
},
48
48
"makeVersion": {
49
49
"description": "The rules the run was played under, all told. A verifier must match it or refuse the run.",
50
50
"minimum": 1,
51
51
"type": "integer"
52
52
},
53
53
"score": {
54
54
"description": "Advisory: points, all chapters together.",
55
55
"minimum": 0,
56
56
"type": "integer"
57
57
},
58
58
"ticks": {
59
59
"description": "Advisory: 60 Hz ticks, all chapters together.",
60
60
"minimum": 1,
61
61
"type": "integer"
62
62
},
63
63
"won": {
64
64
"description": "Advisory: every chapter cleared (every chapter on the path taken, and the end reached, in a game that branches).",
65
65
"type": "boolean"
66
66
}
67
67
},
68
68
"required": [
69
69
"makeVersion",
70
70
"game",
71
71
"logs",
72
72
"score",
73
73
"ticks",
74
74
"createdAt"
75
75
],
76
76
"type": "object"
77
77
},
78
78
"type": "record"
79
79
}
80
80
},
81
81
"id": "com.gamethesky.make.run",
82
82
"lexicon": 1
83
83
}