sc2ai 0.0.0.pre → 0.0.3

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/data/data.json +1 -0
  3. data/data/data_readable.json +22946 -0
  4. data/data/sc2ai/protocol/common.proto +59 -0
  5. data/data/sc2ai/protocol/data.proto +120 -0
  6. data/data/sc2ai/protocol/debug.proto +127 -0
  7. data/data/sc2ai/protocol/error.proto +221 -0
  8. data/data/sc2ai/protocol/query.proto +55 -0
  9. data/data/sc2ai/protocol/raw.proto +202 -0
  10. data/data/sc2ai/protocol/sc2api.proto +718 -0
  11. data/data/sc2ai/protocol/score.proto +108 -0
  12. data/data/sc2ai/protocol/spatial.proto +115 -0
  13. data/data/sc2ai/protocol/ui.proto +145 -0
  14. data/data/setup/setup.SC2Map +0 -0
  15. data/data/setup/setup.SC2Replay +0 -0
  16. data/data/stableid.json +37900 -0
  17. data/data/versions.json +554 -0
  18. data/exe/sc2ai +35 -0
  19. data/lib/docker_build/Dockerfile.ruby +74 -0
  20. data/lib/docker_build/docker-compose-base-image.yml +10 -0
  21. data/lib/docker_build/docker-compose-ladderzip.yml +9 -0
  22. data/lib/sc2ai/api/ability_id.rb +1951 -0
  23. data/lib/sc2ai/api/buff_id.rb +316 -0
  24. data/lib/sc2ai/api/data.rb +101 -0
  25. data/lib/sc2ai/api/effect_id.rb +20 -0
  26. data/lib/sc2ai/api/tech_tree.rb +82 -0
  27. data/lib/sc2ai/api/tech_tree_data.rb +2342 -0
  28. data/lib/sc2ai/api/unit_type_id.rb +2074 -0
  29. data/lib/sc2ai/api/upgrade_id.rb +312 -0
  30. data/lib/sc2ai/cli/cli.rb +177 -0
  31. data/lib/sc2ai/cli/ladderzip.rb +173 -0
  32. data/lib/sc2ai/cli/new.rb +88 -0
  33. data/lib/sc2ai/configuration.rb +145 -0
  34. data/lib/sc2ai/connection/connection_listener.rb +30 -0
  35. data/lib/sc2ai/connection/requests.rb +417 -0
  36. data/lib/sc2ai/connection/status_listener.rb +15 -0
  37. data/lib/sc2ai/connection.rb +146 -0
  38. data/lib/sc2ai/local_play/client/configurable_options.rb +115 -0
  39. data/lib/sc2ai/local_play/client.rb +159 -0
  40. data/lib/sc2ai/local_play/client_manager.rb +70 -0
  41. data/lib/sc2ai/local_play/map_file.rb +48 -0
  42. data/lib/sc2ai/local_play/match.rb +184 -0
  43. data/lib/sc2ai/overrides/array.rb +14 -0
  44. data/lib/sc2ai/overrides/async/process/child.rb +31 -0
  45. data/lib/sc2ai/overrides/kernel.rb +33 -0
  46. data/lib/sc2ai/paths.rb +294 -0
  47. data/lib/sc2ai/player/actions.rb +386 -0
  48. data/lib/sc2ai/player/debug.rb +224 -0
  49. data/lib/sc2ai/player/game_state.rb +131 -0
  50. data/lib/sc2ai/player/geometry.rb +766 -0
  51. data/lib/sc2ai/player/previous_state.rb +49 -0
  52. data/lib/sc2ai/player/units.rb +337 -0
  53. data/lib/sc2ai/player.rb +661 -0
  54. data/lib/sc2ai/ports.rb +152 -0
  55. data/lib/sc2ai/protocol/_meta_documentation.rb +39 -0
  56. data/lib/sc2ai/protocol/common_pb.rb +43 -0
  57. data/lib/sc2ai/protocol/data_pb.rb +47 -0
  58. data/lib/sc2ai/protocol/debug_pb.rb +56 -0
  59. data/lib/sc2ai/protocol/error_pb.rb +36 -0
  60. data/lib/sc2ai/protocol/extensions/color.rb +20 -0
  61. data/lib/sc2ai/protocol/extensions/point.rb +23 -0
  62. data/lib/sc2ai/protocol/extensions/point_2_d.rb +26 -0
  63. data/lib/sc2ai/protocol/extensions/position.rb +202 -0
  64. data/lib/sc2ai/protocol/extensions/power_source.rb +19 -0
  65. data/lib/sc2ai/protocol/extensions/unit.rb +489 -0
  66. data/lib/sc2ai/protocol/query_pb.rb +47 -0
  67. data/lib/sc2ai/protocol/raw_pb.rb +57 -0
  68. data/lib/sc2ai/protocol/sc2api_pb.rb +130 -0
  69. data/lib/sc2ai/protocol/score_pb.rb +40 -0
  70. data/lib/sc2ai/protocol/spatial_pb.rb +48 -0
  71. data/lib/sc2ai/protocol/ui_pb.rb +56 -0
  72. data/lib/sc2ai/unit_group/action_ext.rb +74 -0
  73. data/lib/sc2ai/unit_group/filter_ext.rb +379 -0
  74. data/lib/sc2ai/unit_group.rb +277 -0
  75. data/lib/sc2ai/version.rb +2 -1
  76. data/lib/sc2ai.rb +93 -2
  77. data/lib/templates/ladderzip/bin/ladder.tt +23 -0
  78. data/lib/templates/new/.ladderignore +20 -0
  79. data/lib/templates/new/Gemfile.tt +7 -0
  80. data/lib/templates/new/api/common.proto +59 -0
  81. data/lib/templates/new/api/data.proto +120 -0
  82. data/lib/templates/new/api/debug.proto +127 -0
  83. data/lib/templates/new/api/error.proto +221 -0
  84. data/lib/templates/new/api/query.proto +55 -0
  85. data/lib/templates/new/api/raw.proto +202 -0
  86. data/lib/templates/new/api/sc2api.proto +718 -0
  87. data/lib/templates/new/api/score.proto +108 -0
  88. data/lib/templates/new/api/spatial.proto +115 -0
  89. data/lib/templates/new/api/ui.proto +145 -0
  90. data/lib/templates/new/boot.rb.tt +6 -0
  91. data/lib/templates/new/my_bot.rb.tt +23 -0
  92. data/lib/templates/new/run_example_match.rb.tt +14 -0
  93. metadata +353 -9
metadata CHANGED
@@ -1,15 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sc2ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.pre
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dyson Returns
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-12 00:00:00.000000000 Z
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: async
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.6.5
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.6.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: async-websocket
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.26.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.26.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: google-protobuf
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 3.25.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 3.25.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: async-process
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: thor
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.3.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.3.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: perfect-shape
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.0.8
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.8
97
+ - !ruby/object:Gem::Dependency
98
+ name: numo-narray
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.9.2.1
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.9.2.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: numo-linalg
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.1.7
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 0.1.7
125
+ - !ruby/object:Gem::Dependency
126
+ name: rumale
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '='
130
+ - !ruby/object:Gem::Version
131
+ version: 0.28.1
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.28.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: sc2ai-kdtree
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.4'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.4'
13
153
  - !ruby/object:Gem::Dependency
14
154
  name: rake
15
155
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +178,20 @@ dependencies:
38
178
  - - "~>"
39
179
  - !ruby/object:Gem::Version
40
180
  version: '0.9'
181
+ - !ruby/object:Gem::Dependency
182
+ name: webrick
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.8'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '1.8'
41
195
  - !ruby/object:Gem::Dependency
42
196
  name: standard
43
197
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +206,210 @@ dependencies:
52
206
  - - "~>"
53
207
  - !ruby/object:Gem::Version
54
208
  version: '1.33'
55
- description:
209
+ - !ruby/object:Gem::Dependency
210
+ name: memory_profiler
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: benchmark
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '0.3'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '0.3'
237
+ - !ruby/object:Gem::Dependency
238
+ name: benchmark-ips
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '2.13'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '2.13'
251
+ - !ruby/object:Gem::Dependency
252
+ name: factory_bot
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '6.4'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '6.4'
265
+ - !ruby/object:Gem::Dependency
266
+ name: fakefs
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '2.5'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '2.5'
279
+ - !ruby/object:Gem::Dependency
280
+ name: rspec
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '3.12'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '3.12'
293
+ - !ruby/object:Gem::Dependency
294
+ name: simplecov
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '0.22'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '0.22'
307
+ description: This is a Ruby interface to STARCRAFT® II. It can be used for machine
308
+ learning via Rumale or custom scripted AI battle.
56
309
  email:
57
- executables: []
310
+ executables:
311
+ - sc2ai
58
312
  extensions: []
59
313
  extra_rdoc_files: []
60
314
  files:
315
+ - data/data.json
316
+ - data/data_readable.json
317
+ - data/sc2ai/protocol/common.proto
318
+ - data/sc2ai/protocol/data.proto
319
+ - data/sc2ai/protocol/debug.proto
320
+ - data/sc2ai/protocol/error.proto
321
+ - data/sc2ai/protocol/query.proto
322
+ - data/sc2ai/protocol/raw.proto
323
+ - data/sc2ai/protocol/sc2api.proto
324
+ - data/sc2ai/protocol/score.proto
325
+ - data/sc2ai/protocol/spatial.proto
326
+ - data/sc2ai/protocol/ui.proto
327
+ - data/setup/setup.SC2Map
328
+ - data/setup/setup.SC2Replay
329
+ - data/stableid.json
330
+ - data/versions.json
331
+ - exe/sc2ai
332
+ - lib/docker_build/Dockerfile.ruby
333
+ - lib/docker_build/docker-compose-base-image.yml
334
+ - lib/docker_build/docker-compose-ladderzip.yml
61
335
  - lib/sc2ai.rb
336
+ - lib/sc2ai/api/ability_id.rb
337
+ - lib/sc2ai/api/buff_id.rb
338
+ - lib/sc2ai/api/data.rb
339
+ - lib/sc2ai/api/effect_id.rb
340
+ - lib/sc2ai/api/tech_tree.rb
341
+ - lib/sc2ai/api/tech_tree_data.rb
342
+ - lib/sc2ai/api/unit_type_id.rb
343
+ - lib/sc2ai/api/upgrade_id.rb
344
+ - lib/sc2ai/cli/cli.rb
345
+ - lib/sc2ai/cli/ladderzip.rb
346
+ - lib/sc2ai/cli/new.rb
347
+ - lib/sc2ai/configuration.rb
348
+ - lib/sc2ai/connection.rb
349
+ - lib/sc2ai/connection/connection_listener.rb
350
+ - lib/sc2ai/connection/requests.rb
351
+ - lib/sc2ai/connection/status_listener.rb
352
+ - lib/sc2ai/local_play/client.rb
353
+ - lib/sc2ai/local_play/client/configurable_options.rb
354
+ - lib/sc2ai/local_play/client_manager.rb
355
+ - lib/sc2ai/local_play/map_file.rb
356
+ - lib/sc2ai/local_play/match.rb
357
+ - lib/sc2ai/overrides/array.rb
358
+ - lib/sc2ai/overrides/async/process/child.rb
359
+ - lib/sc2ai/overrides/kernel.rb
360
+ - lib/sc2ai/paths.rb
361
+ - lib/sc2ai/player.rb
362
+ - lib/sc2ai/player/actions.rb
363
+ - lib/sc2ai/player/debug.rb
364
+ - lib/sc2ai/player/game_state.rb
365
+ - lib/sc2ai/player/geometry.rb
366
+ - lib/sc2ai/player/previous_state.rb
367
+ - lib/sc2ai/player/units.rb
368
+ - lib/sc2ai/ports.rb
369
+ - lib/sc2ai/protocol/_meta_documentation.rb
370
+ - lib/sc2ai/protocol/common_pb.rb
371
+ - lib/sc2ai/protocol/data_pb.rb
372
+ - lib/sc2ai/protocol/debug_pb.rb
373
+ - lib/sc2ai/protocol/error_pb.rb
374
+ - lib/sc2ai/protocol/extensions/color.rb
375
+ - lib/sc2ai/protocol/extensions/point.rb
376
+ - lib/sc2ai/protocol/extensions/point_2_d.rb
377
+ - lib/sc2ai/protocol/extensions/position.rb
378
+ - lib/sc2ai/protocol/extensions/power_source.rb
379
+ - lib/sc2ai/protocol/extensions/unit.rb
380
+ - lib/sc2ai/protocol/query_pb.rb
381
+ - lib/sc2ai/protocol/raw_pb.rb
382
+ - lib/sc2ai/protocol/sc2api_pb.rb
383
+ - lib/sc2ai/protocol/score_pb.rb
384
+ - lib/sc2ai/protocol/spatial_pb.rb
385
+ - lib/sc2ai/protocol/ui_pb.rb
386
+ - lib/sc2ai/unit_group.rb
387
+ - lib/sc2ai/unit_group/action_ext.rb
388
+ - lib/sc2ai/unit_group/filter_ext.rb
62
389
  - lib/sc2ai/version.rb
63
- homepage: https://github.com/dysonreturns/sc2ai
390
+ - lib/templates/ladderzip/bin/ladder.tt
391
+ - lib/templates/new/.ladderignore
392
+ - lib/templates/new/Gemfile.tt
393
+ - lib/templates/new/api/common.proto
394
+ - lib/templates/new/api/data.proto
395
+ - lib/templates/new/api/debug.proto
396
+ - lib/templates/new/api/error.proto
397
+ - lib/templates/new/api/query.proto
398
+ - lib/templates/new/api/raw.proto
399
+ - lib/templates/new/api/sc2api.proto
400
+ - lib/templates/new/api/score.proto
401
+ - lib/templates/new/api/spatial.proto
402
+ - lib/templates/new/api/ui.proto
403
+ - lib/templates/new/boot.rb.tt
404
+ - lib/templates/new/my_bot.rb.tt
405
+ - lib/templates/new/run_example_match.rb.tt
406
+ homepage: https://www.github.com/dysonreturns/sc2ai
64
407
  licenses:
65
408
  - MIT
409
+ - Nonstandard
66
410
  metadata:
67
- homepage_uri: https://github.com/dysonreturns/sc2ai
68
- changelog_uri: https://github.com/dysonreturns/sc2ai/blob/main/docs/CHANGELOG.md
411
+ homepage_uri: https://www.github.com/dysonreturns/sc2ai
412
+ changelog_uri: https://www.github.com/dysonreturns/sc2ai/blob/main/docs/CHANGELOG.md
69
413
  post_install_message:
70
414
  rdoc_options: []
71
415
  require_paths:
@@ -84,5 +428,5 @@ requirements: []
84
428
  rubygems_version: 3.5.3
85
429
  signing_key:
86
430
  specification_version: 4
87
- summary: Slowly Calmly To An Idea. Count your steps, be mindful of how long they take.
431
+ summary: STARCRAFT® II AI API
88
432
  test_files: []