@simeonradivoev/gameflow-store 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/buckets/games/apotris.json +50 -0
- package/buckets/games/quake-brutalist-jam-3.json +89 -0
- package/buckets/games/the-bouncing-ball.json +36 -0
- package/manifests/filters.json +28 -0
- package/media/covers/apotris.webp +0 -0
- package/media/covers/quake-brutalist-jam-3.webp +0 -0
- package/media/covers/the-bouncing-ball.webp +0 -0
- package/package.json +24 -17
- package/schema/game.json +186 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Apotris",
|
|
3
|
+
"homepage": "https://akouzoukos.com/apotris",
|
|
4
|
+
"version": "4.1.0",
|
|
5
|
+
"covers": [
|
|
6
|
+
"./media/covers/apotris.webp",
|
|
7
|
+
"https://images.igdb.com/igdb/image/upload/t_cover_big/co6r9q.webp"
|
|
8
|
+
],
|
|
9
|
+
"screenshots": [
|
|
10
|
+
"https://images.igdb.com/igdb/image/upload/t_720p/sck6m8.jpg"
|
|
11
|
+
],
|
|
12
|
+
"description": "Apotris is a free multiplatform open-source block stacking game! What sets Apotris apart from other block stacking games is its extensive customization options, complemented by ultra-responsive controls that let you execute your moves with precision. With 14 unique game modes and a plethora of settings, you can tailor the game to your preferences, ensuring a fresh and challenging experience every time you play.",
|
|
13
|
+
"donation": "https://ko-fi.com/akouzoukos",
|
|
14
|
+
"downloads": {
|
|
15
|
+
"gba": {
|
|
16
|
+
"type": "direct",
|
|
17
|
+
"url": "https://apotrisstorage.blob.core.windows.net/binaries/Apotris-v4.1.0GBA.zip",
|
|
18
|
+
"system": "gba"
|
|
19
|
+
},
|
|
20
|
+
"win": {
|
|
21
|
+
"type": "direct",
|
|
22
|
+
"url": "https://apotrisstorage.blob.core.windows.net/binaries/Apotris-v4.1.0Windows-x64.zip",
|
|
23
|
+
"system": "win32:x64",
|
|
24
|
+
"saves": {
|
|
25
|
+
"saves": {
|
|
26
|
+
"cwd": "{{GAMEDIR}}",
|
|
27
|
+
"globs": [
|
|
28
|
+
"*.sav"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"genres": [
|
|
35
|
+
"Puzzle",
|
|
36
|
+
"Indie",
|
|
37
|
+
"Arcade"
|
|
38
|
+
],
|
|
39
|
+
"keywords": [
|
|
40
|
+
"open-source",
|
|
41
|
+
"homebrew",
|
|
42
|
+
"retroachievements"
|
|
43
|
+
],
|
|
44
|
+
"player_count": "1",
|
|
45
|
+
"companies": [
|
|
46
|
+
"akouzoukos"
|
|
47
|
+
],
|
|
48
|
+
"igdb_id": 227679,
|
|
49
|
+
"ra_id": 29025
|
|
50
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Quake Brutalist Jam 3",
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"homepage": "https://www.slipseer.com/index.php?resources/quake-brutalist-jam-iii.549/",
|
|
5
|
+
"description": "Quake Brutalist Jam III is a megalithic community project more than a year in the making. It features an entirely new arsenal, a set of new monsters, new powerups, and a complete visual overhaul of Quake's existing roster. The community came out in force, producing an unprecedented 77 maps, pushing the limits of the Quake engine to bring the oppressive, gritty, and beautiful aesthetic of brutalism to life.",
|
|
6
|
+
"covers": [
|
|
7
|
+
"./media/covers/quake-brutalist-jam-3.webp",
|
|
8
|
+
"https://images.igdb.com/igdb/image/upload/t_cover_big/cob6g0.webp"
|
|
9
|
+
],
|
|
10
|
+
"screenshots": [
|
|
11
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_hcm-jpg.7076/",
|
|
12
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_id0-jpg.7077/",
|
|
13
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_janvanderweg-jpg.7078/",
|
|
14
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_pulsar-jpg.7079/",
|
|
15
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_sze-jpg.7080/",
|
|
16
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_zbidou-jpg.7081/",
|
|
17
|
+
"https://www.slipseer.com/index.php?attachments/qbj3_zetabyt-jpg.7082/"
|
|
18
|
+
],
|
|
19
|
+
"saves": {
|
|
20
|
+
"win32:x64": {
|
|
21
|
+
"saves": {
|
|
22
|
+
"cwd": "{{GAMEDIR}}",
|
|
23
|
+
"globs": [
|
|
24
|
+
"qbj3/autosave/*.sav",
|
|
25
|
+
"qbj3/*.sav"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"downloads": {
|
|
31
|
+
"win-eu": {
|
|
32
|
+
"name": "EU",
|
|
33
|
+
"type": "direct",
|
|
34
|
+
"url": "https://eu.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
35
|
+
"system": "win32:x64",
|
|
36
|
+
"main": "**/QBJ3.exe"
|
|
37
|
+
},
|
|
38
|
+
"win-us": {
|
|
39
|
+
"name": "US",
|
|
40
|
+
"type": "direct",
|
|
41
|
+
"url": "https://us.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
42
|
+
"system": "win32:x64",
|
|
43
|
+
"main": "**/QBJ3.exe"
|
|
44
|
+
},
|
|
45
|
+
"win-asia": {
|
|
46
|
+
"name": "Asia",
|
|
47
|
+
"type": "direct",
|
|
48
|
+
"url": "https://asia.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
49
|
+
"system": "win32:x64",
|
|
50
|
+
"main": "**/QBJ3.exe"
|
|
51
|
+
},
|
|
52
|
+
"linux-eu": {
|
|
53
|
+
"name": "EU",
|
|
54
|
+
"type": "direct",
|
|
55
|
+
"url": "https://eu.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
56
|
+
"system": "linux:x64",
|
|
57
|
+
"main": "**/QBJ3_Linux"
|
|
58
|
+
},
|
|
59
|
+
"linux-us": {
|
|
60
|
+
"name": "US",
|
|
61
|
+
"type": "direct",
|
|
62
|
+
"url": "https://us.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
63
|
+
"system": "linux:x64",
|
|
64
|
+
"main": "**/QBJ3_Linux"
|
|
65
|
+
},
|
|
66
|
+
"linux-asia": {
|
|
67
|
+
"name": "Asia",
|
|
68
|
+
"type": "direct",
|
|
69
|
+
"url": "https://asia.22061996.xyz/qbj3/qbj3_1.3_standalone.zip",
|
|
70
|
+
"system": "linux:x64",
|
|
71
|
+
"main": "**/QBJ3_Linux"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"companies": [
|
|
75
|
+
"Slipseer"
|
|
76
|
+
],
|
|
77
|
+
"player_count": "1",
|
|
78
|
+
"igdb_id": 383621,
|
|
79
|
+
"genres": [
|
|
80
|
+
"Shooter"
|
|
81
|
+
],
|
|
82
|
+
"keywords": [
|
|
83
|
+
"quake",
|
|
84
|
+
"jam",
|
|
85
|
+
"brutalism",
|
|
86
|
+
"brutalist",
|
|
87
|
+
"qbj3"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "The Bouncing Ball",
|
|
3
|
+
"homepage": "https://gamejolt.com/games/the-bouncing-ball-gb/86699",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"covers": [
|
|
6
|
+
"./media/covers/the-bouncing-ball.webp",
|
|
7
|
+
"https://raw.githubusercontent.com/EmuDeck/emudeck-homebrew/main/downloaded_media/gb/titlescreens/homebrew/THEBOUNCINGBALL.png?raw=true"
|
|
8
|
+
],
|
|
9
|
+
"screenshots": [
|
|
10
|
+
"https://raw.githubusercontent.com/EmuDeck/emudeck-homebrew/main/downloaded_media/gb/screenshots/homebrew/THEBOUNCINGBALL.png?raw=true"
|
|
11
|
+
],
|
|
12
|
+
"description": "The Bouncing Ball is a physics-based puzzle platformer homebrew game for the Game Boy.",
|
|
13
|
+
"downloads": {
|
|
14
|
+
"db": {
|
|
15
|
+
"type": "direct",
|
|
16
|
+
"url": "https://raw.githubusercontent.com/EmuDeck/emudeck-homebrew/refs/heads/main/gb/THEBOUNCINGBALL.zip",
|
|
17
|
+
"system": "gb"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"companies": [
|
|
21
|
+
"HuCABBAGE"
|
|
22
|
+
],
|
|
23
|
+
"genres": [
|
|
24
|
+
"Platform",
|
|
25
|
+
"Puzzle"
|
|
26
|
+
],
|
|
27
|
+
"keywords": [
|
|
28
|
+
"retroachievements",
|
|
29
|
+
"homebrew"
|
|
30
|
+
],
|
|
31
|
+
"igdb_id": 195207,
|
|
32
|
+
"ra_id": 6631,
|
|
33
|
+
"sgdb_id": 5487741,
|
|
34
|
+
"first_release_date": 1439769600000,
|
|
35
|
+
"player_count": "1"
|
|
36
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"genres": [
|
|
3
|
+
"Puzzle",
|
|
4
|
+
"Indie",
|
|
5
|
+
"Arcade",
|
|
6
|
+
"Shooter",
|
|
7
|
+
"Platform"
|
|
8
|
+
],
|
|
9
|
+
"keywords": [
|
|
10
|
+
"open-source",
|
|
11
|
+
"homebrew",
|
|
12
|
+
"retroachievements",
|
|
13
|
+
"quake",
|
|
14
|
+
"jam",
|
|
15
|
+
"brutalism",
|
|
16
|
+
"brutalist",
|
|
17
|
+
"qbj3"
|
|
18
|
+
],
|
|
19
|
+
"player_counts": [
|
|
20
|
+
"1"
|
|
21
|
+
],
|
|
22
|
+
"companies": [
|
|
23
|
+
"akouzoukos",
|
|
24
|
+
"Slipseer",
|
|
25
|
+
"HuCABBAGE"
|
|
26
|
+
],
|
|
27
|
+
"game_count": 3
|
|
28
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simeonradivoev/gameflow-store",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"
|
|
5
|
-
"keywords": [
|
|
6
|
-
"store"
|
|
7
|
-
],
|
|
8
|
-
"homepage": "https://github.com/simeonradivoev/gameflow-store#readme",
|
|
9
|
-
"bugs": {
|
|
10
|
-
"url": "https://github.com/simeonradivoev/gameflow-store/issues"
|
|
11
|
-
},
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"author": "Simeon Radivoev",
|
|
12
5
|
"repository": {
|
|
13
6
|
"type": "git",
|
|
14
7
|
"url": "git+https://github.com/simeonradivoev/gameflow-store.git"
|
|
15
8
|
},
|
|
16
|
-
"license": "AGPL-3.0",
|
|
17
|
-
"author": "Simeon Radivoev",
|
|
18
|
-
"type": "module",
|
|
19
9
|
"main": "index.js",
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/simeonradivoev/gameflow-store/issues"
|
|
12
|
+
},
|
|
13
|
+
"description": "Gameflow Store",
|
|
20
14
|
"files": [
|
|
21
15
|
"buckets/**/*",
|
|
16
|
+
"manifests/*",
|
|
22
17
|
"media/**/*",
|
|
23
18
|
"schema/**/*"
|
|
24
19
|
],
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
"homepage": "https://github.com/simeonradivoev/gameflow-store#readme",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"store"
|
|
23
|
+
],
|
|
24
|
+
"license": "AGPL-3.0",
|
|
29
25
|
"publishConfig": {
|
|
30
26
|
"access": "public"
|
|
27
|
+
},
|
|
28
|
+
"scripts": {
|
|
29
|
+
"release": "npx commit-and-tag-version",
|
|
30
|
+
"publish:dryrun": "npm run publish --verbose --dry-run",
|
|
31
|
+
"release:dryrun": "npm release -- --dry-run",
|
|
32
|
+
"prepublishOnly": "tsx scripts/build-manifests.ts"
|
|
33
|
+
},
|
|
34
|
+
"type": "module",
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^25.6.0",
|
|
37
|
+
"tsx": "^4.21.0"
|
|
31
38
|
}
|
|
32
|
-
}
|
|
39
|
+
}
|
package/schema/game.json
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"properties": {
|
|
4
|
+
"name": {
|
|
5
|
+
"type": "string"
|
|
6
|
+
},
|
|
7
|
+
"description": {
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"version": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"homepage": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"format": "uri"
|
|
16
|
+
},
|
|
17
|
+
"covers": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"screenshots": {
|
|
24
|
+
"type": "array",
|
|
25
|
+
"items": {
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"saves": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"patternProperties": {
|
|
32
|
+
".*": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"patternProperties": {
|
|
35
|
+
".*": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"cwd": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"globs": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"downloads": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"patternProperties": {
|
|
56
|
+
".*": {
|
|
57
|
+
"oneOf": [
|
|
58
|
+
{
|
|
59
|
+
"type": "object",
|
|
60
|
+
"properties": {
|
|
61
|
+
"type": {
|
|
62
|
+
"const": "direct"
|
|
63
|
+
},
|
|
64
|
+
"url": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"format": "uri"
|
|
67
|
+
},
|
|
68
|
+
"system": {
|
|
69
|
+
"type": "string"
|
|
70
|
+
},
|
|
71
|
+
"name": {
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"main": {
|
|
75
|
+
"type": "string"
|
|
76
|
+
},
|
|
77
|
+
"saves": {
|
|
78
|
+
"type": "object",
|
|
79
|
+
"patternProperties": {
|
|
80
|
+
".*": {
|
|
81
|
+
"type": "object",
|
|
82
|
+
"properties": {
|
|
83
|
+
"cwd": {
|
|
84
|
+
"type": "string"
|
|
85
|
+
},
|
|
86
|
+
"globs": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"cwd",
|
|
95
|
+
"globs"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": [
|
|
102
|
+
"type",
|
|
103
|
+
"url",
|
|
104
|
+
"system"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"type": "object",
|
|
109
|
+
"properties": {
|
|
110
|
+
"type": {
|
|
111
|
+
"const": "itch"
|
|
112
|
+
},
|
|
113
|
+
"path": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"name": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"required": [
|
|
121
|
+
"type",
|
|
122
|
+
"path"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"companies": {
|
|
130
|
+
"type": "array",
|
|
131
|
+
"items": {
|
|
132
|
+
"type": "string"
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"genres": {
|
|
136
|
+
"type": "array",
|
|
137
|
+
"items": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"system": {
|
|
142
|
+
"type": "string"
|
|
143
|
+
},
|
|
144
|
+
"igdb_id": {
|
|
145
|
+
"type": "number"
|
|
146
|
+
},
|
|
147
|
+
"ra_id": {
|
|
148
|
+
"type": "number"
|
|
149
|
+
},
|
|
150
|
+
"sgdb_id": {
|
|
151
|
+
"type": "number"
|
|
152
|
+
},
|
|
153
|
+
"keywords": {
|
|
154
|
+
"type": "array",
|
|
155
|
+
"items": {
|
|
156
|
+
"type": "string"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"first_release_date": {
|
|
160
|
+
"oneOf": [
|
|
161
|
+
{
|
|
162
|
+
"type": "number"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"type": "string",
|
|
166
|
+
"format": "date"
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
"player_count": {
|
|
171
|
+
"type": "string"
|
|
172
|
+
},
|
|
173
|
+
"age_ratings": {
|
|
174
|
+
"type": "array",
|
|
175
|
+
"items": {
|
|
176
|
+
"type": "string"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"required": [
|
|
181
|
+
"name",
|
|
182
|
+
"homepage",
|
|
183
|
+
"covers",
|
|
184
|
+
"version"
|
|
185
|
+
]
|
|
186
|
+
}
|