cogames 0.3.49__py3-none-any.whl → 0.3.64__py3-none-any.whl

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 (169) hide show
  1. cogames/cli/client.py +60 -6
  2. cogames/cli/docsync/__init__.py +0 -0
  3. cogames/cli/docsync/_nb_md_directive_processing.py +180 -0
  4. cogames/cli/docsync/_nb_md_sync.py +103 -0
  5. cogames/cli/docsync/_nb_py_sync.py +122 -0
  6. cogames/cli/docsync/_three_way_sync.py +115 -0
  7. cogames/cli/docsync/_utils.py +76 -0
  8. cogames/cli/docsync/docsync.py +156 -0
  9. cogames/cli/leaderboard.py +112 -28
  10. cogames/cli/mission.py +64 -53
  11. cogames/cli/policy.py +46 -10
  12. cogames/cli/submit.py +268 -67
  13. cogames/cogs_vs_clips/cog.py +79 -0
  14. cogames/cogs_vs_clips/cogs_vs_clips_mapgen.md +19 -16
  15. cogames/cogs_vs_clips/cogsguard_reward_variants.py +153 -0
  16. cogames/cogs_vs_clips/cogsguard_tutorial.py +56 -0
  17. cogames/cogs_vs_clips/evals/README.md +10 -16
  18. cogames/cogs_vs_clips/evals/cogsguard_evals.py +81 -0
  19. cogames/cogs_vs_clips/evals/diagnostic_evals.py +49 -444
  20. cogames/cogs_vs_clips/evals/difficulty_variants.py +13 -326
  21. cogames/cogs_vs_clips/evals/integrated_evals.py +5 -45
  22. cogames/cogs_vs_clips/evals/spanning_evals.py +9 -180
  23. cogames/cogs_vs_clips/mission.py +187 -146
  24. cogames/cogs_vs_clips/missions.py +46 -137
  25. cogames/cogs_vs_clips/procedural.py +8 -8
  26. cogames/cogs_vs_clips/sites.py +107 -3
  27. cogames/cogs_vs_clips/stations.py +198 -186
  28. cogames/cogs_vs_clips/tutorial_missions.py +1 -1
  29. cogames/cogs_vs_clips/variants.py +25 -476
  30. cogames/device.py +13 -1
  31. cogames/{policy/scripted_agent/README.md → docs/SCRIPTED_AGENT.md} +82 -58
  32. cogames/evaluate.py +18 -30
  33. cogames/main.py +1434 -243
  34. cogames/maps/canidate1_1000.map +1 -1
  35. cogames/maps/canidate1_1000_stations.map +2 -2
  36. cogames/maps/canidate1_500.map +1 -1
  37. cogames/maps/canidate1_500_stations.map +2 -2
  38. cogames/maps/canidate2_1000.map +1 -1
  39. cogames/maps/canidate2_1000_stations.map +2 -2
  40. cogames/maps/canidate2_500.map +1 -1
  41. cogames/maps/canidate2_500_stations.map +2 -2
  42. cogames/maps/canidate3_1000.map +1 -1
  43. cogames/maps/canidate3_1000_stations.map +2 -2
  44. cogames/maps/canidate3_500.map +1 -1
  45. cogames/maps/canidate3_500_stations.map +2 -2
  46. cogames/maps/canidate4_500.map +1 -1
  47. cogames/maps/canidate4_500_stations.map +2 -2
  48. cogames/maps/cave_base_50.map +2 -2
  49. cogames/maps/diagnostic_evals/diagnostic_agile.map +2 -2
  50. cogames/maps/diagnostic_evals/diagnostic_agile_hard.map +2 -2
  51. cogames/maps/diagnostic_evals/diagnostic_charge_up.map +2 -2
  52. cogames/maps/diagnostic_evals/diagnostic_charge_up_hard.map +2 -2
  53. cogames/maps/diagnostic_evals/diagnostic_chest_navigation1.map +2 -2
  54. cogames/maps/diagnostic_evals/diagnostic_chest_navigation1_hard.map +2 -2
  55. cogames/maps/diagnostic_evals/diagnostic_chest_navigation2.map +2 -2
  56. cogames/maps/diagnostic_evals/diagnostic_chest_navigation2_hard.map +2 -2
  57. cogames/maps/diagnostic_evals/diagnostic_chest_navigation3.map +2 -2
  58. cogames/maps/diagnostic_evals/diagnostic_chest_navigation3_hard.map +2 -2
  59. cogames/maps/diagnostic_evals/diagnostic_chest_near.map +2 -2
  60. cogames/maps/diagnostic_evals/diagnostic_chest_search.map +2 -2
  61. cogames/maps/diagnostic_evals/diagnostic_chest_search_hard.map +2 -2
  62. cogames/maps/diagnostic_evals/diagnostic_extract_lab.map +2 -2
  63. cogames/maps/diagnostic_evals/diagnostic_extract_lab_hard.map +2 -2
  64. cogames/maps/diagnostic_evals/diagnostic_memory.map +2 -2
  65. cogames/maps/diagnostic_evals/diagnostic_memory_hard.map +2 -2
  66. cogames/maps/diagnostic_evals/diagnostic_radial.map +2 -2
  67. cogames/maps/diagnostic_evals/diagnostic_radial_hard.map +2 -2
  68. cogames/maps/diagnostic_evals/diagnostic_resource_lab.map +2 -2
  69. cogames/maps/diagnostic_evals/diagnostic_unclip.map +2 -2
  70. cogames/maps/evals/eval_balanced_spread.map +9 -5
  71. cogames/maps/evals/eval_clip_oxygen.map +9 -5
  72. cogames/maps/evals/eval_collect_resources.map +9 -5
  73. cogames/maps/evals/eval_collect_resources_hard.map +9 -5
  74. cogames/maps/evals/eval_collect_resources_medium.map +9 -5
  75. cogames/maps/evals/eval_divide_and_conquer.map +9 -5
  76. cogames/maps/evals/eval_energy_starved.map +9 -5
  77. cogames/maps/evals/eval_multi_coordinated_collect_hard.map +9 -5
  78. cogames/maps/evals/eval_oxygen_bottleneck.map +9 -5
  79. cogames/maps/evals/eval_single_use_world.map +9 -5
  80. cogames/maps/evals/extractor_hub_100x100.map +9 -5
  81. cogames/maps/evals/extractor_hub_30x30.map +9 -5
  82. cogames/maps/evals/extractor_hub_50x50.map +9 -5
  83. cogames/maps/evals/extractor_hub_70x70.map +9 -5
  84. cogames/maps/evals/extractor_hub_80x80.map +9 -5
  85. cogames/maps/machina_100_stations.map +2 -2
  86. cogames/maps/machina_200_stations.map +2 -2
  87. cogames/maps/machina_200_stations_small.map +2 -2
  88. cogames/maps/machina_eval_exp01.map +2 -2
  89. cogames/maps/machina_eval_template_large.map +2 -2
  90. cogames/maps/machinatrainer4agents.map +2 -2
  91. cogames/maps/machinatrainer4agentsbase.map +2 -2
  92. cogames/maps/machinatrainerbig.map +2 -2
  93. cogames/maps/machinatrainersmall.map +2 -2
  94. cogames/maps/planky_evals/aligner_avoid_aoe.map +28 -0
  95. cogames/maps/planky_evals/aligner_full_cycle.map +28 -0
  96. cogames/maps/planky_evals/aligner_gear.map +24 -0
  97. cogames/maps/planky_evals/aligner_hearts.map +24 -0
  98. cogames/maps/planky_evals/aligner_junction.map +26 -0
  99. cogames/maps/planky_evals/exploration_distant.map +28 -0
  100. cogames/maps/planky_evals/maze.map +32 -0
  101. cogames/maps/planky_evals/miner_best_resource.map +26 -0
  102. cogames/maps/planky_evals/miner_deposit.map +24 -0
  103. cogames/maps/planky_evals/miner_extract.map +26 -0
  104. cogames/maps/planky_evals/miner_full_cycle.map +28 -0
  105. cogames/maps/planky_evals/miner_gear.map +24 -0
  106. cogames/maps/planky_evals/multi_role.map +28 -0
  107. cogames/maps/planky_evals/resource_chain.map +30 -0
  108. cogames/maps/planky_evals/scout_explore.map +32 -0
  109. cogames/maps/planky_evals/scout_gear.map +24 -0
  110. cogames/maps/planky_evals/scrambler_full_cycle.map +28 -0
  111. cogames/maps/planky_evals/scrambler_gear.map +24 -0
  112. cogames/maps/planky_evals/scrambler_target.map +26 -0
  113. cogames/maps/planky_evals/stuck_corridor.map +32 -0
  114. cogames/maps/planky_evals/survive_retreat.map +26 -0
  115. cogames/maps/training_facility_clipped.map +2 -2
  116. cogames/maps/training_facility_open_1.map +2 -2
  117. cogames/maps/training_facility_open_2.map +2 -2
  118. cogames/maps/training_facility_open_3.map +2 -2
  119. cogames/maps/training_facility_tight_4.map +2 -2
  120. cogames/maps/training_facility_tight_5.map +2 -2
  121. cogames/maps/vanilla_large.map +2 -2
  122. cogames/maps/vanilla_small.map +2 -2
  123. cogames/pickup.py +183 -0
  124. cogames/play.py +166 -33
  125. cogames/policy/chaos_monkey.py +54 -0
  126. cogames/policy/nim_agents/__init__.py +27 -10
  127. cogames/policy/nim_agents/agents.py +121 -60
  128. cogames/policy/nim_agents/thinky_eval.py +35 -222
  129. cogames/policy/pufferlib_policy.py +67 -32
  130. cogames/policy/starter_agent.py +184 -0
  131. cogames/policy/trainable_policy_template.py +4 -1
  132. cogames/train.py +51 -13
  133. cogames/verbose.py +2 -2
  134. cogames-0.3.64.dist-info/METADATA +1842 -0
  135. cogames-0.3.64.dist-info/RECORD +159 -0
  136. cogames-0.3.64.dist-info/licenses/LICENSE +21 -0
  137. cogames-0.3.64.dist-info/top_level.txt +2 -0
  138. metta_alo/__init__.py +0 -0
  139. metta_alo/job_specs.py +17 -0
  140. metta_alo/policy.py +16 -0
  141. metta_alo/pure_single_episode_runner.py +75 -0
  142. metta_alo/py.typed +0 -0
  143. metta_alo/rollout.py +322 -0
  144. metta_alo/scoring.py +168 -0
  145. cogames/maps/diagnostic_evals/diagnostic_assembler_near.map +0 -49
  146. cogames/maps/diagnostic_evals/diagnostic_assembler_search.map +0 -49
  147. cogames/maps/diagnostic_evals/diagnostic_assembler_search_hard.map +0 -89
  148. cogames/policy/nim_agents/common.nim +0 -887
  149. cogames/policy/nim_agents/install.sh +0 -1
  150. cogames/policy/nim_agents/ladybug_agent.nim +0 -984
  151. cogames/policy/nim_agents/nim_agents.nim +0 -55
  152. cogames/policy/nim_agents/nim_agents.nims +0 -14
  153. cogames/policy/nim_agents/nimby.lock +0 -3
  154. cogames/policy/nim_agents/racecar_agents.nim +0 -884
  155. cogames/policy/nim_agents/random_agents.nim +0 -68
  156. cogames/policy/nim_agents/test_agents.py +0 -53
  157. cogames/policy/nim_agents/thinky_agents.nim +0 -717
  158. cogames/policy/scripted_agent/baseline_agent.py +0 -1049
  159. cogames/policy/scripted_agent/demo_policy.py +0 -244
  160. cogames/policy/scripted_agent/pathfinding.py +0 -126
  161. cogames/policy/scripted_agent/starter_agent.py +0 -136
  162. cogames/policy/scripted_agent/types.py +0 -235
  163. cogames/policy/scripted_agent/unclipping_agent.py +0 -476
  164. cogames/policy/scripted_agent/utils.py +0 -385
  165. cogames-0.3.49.dist-info/METADATA +0 -406
  166. cogames-0.3.49.dist-info/RECORD +0 -136
  167. cogames-0.3.49.dist-info/top_level.txt +0 -1
  168. {cogames-0.3.49.dist-info → cogames-0.3.64.dist-info}/WHEEL +0 -0
  169. {cogames-0.3.49.dist-info → cogames-0.3.64.dist-info}/entry_points.txt +0 -0
@@ -1,406 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: cogames
3
- Version: 0.3.49
4
- Summary: Multi-agent cooperative games
5
- Requires-Python: <3.13,>=3.12
6
- Description-Content-Type: text/markdown
7
- Requires-Dist: heavyball>=2.0.0
8
- Requires-Dist: mettagrid==0.2.0.58
9
- Requires-Dist: packaging>=24.0.0
10
- Requires-Dist: pufferlib-core
11
- Requires-Dist: pydantic>=2.11.5
12
- Requires-Dist: pyyaml>=6.0.2
13
- Requires-Dist: einops>=0.8.0
14
- Requires-Dist: scipy>=1.15.3
15
- Requires-Dist: typer>=0.19.2
16
- Requires-Dist: rich>=13.7.0
17
- Requires-Dist: fastapi>=0.115.0
18
- Requires-Dist: uvicorn>=0.34.0
19
- Requires-Dist: httpx>=0.28.1
20
-
21
- # CoGames: A Game Environment for the Alignment League Benchmark
22
-
23
- CoGames is the game environment for Softmax's
24
- [Alignment League Benchmark (ALB)](https://www.softmax.com/alignmentleague) — a suite of multi-agent games designed to
25
- measure how well AI agents align, coordinate, and collaborate with others (both AIs and humans).
26
-
27
- The first ALB game, Cogs vs Clips, is implemented entirely within the CoGames environment. You can create your own
28
- policy and submit it to our benchmark/pool.
29
-
30
- ## The game: Cogs vs Clips
31
-
32
- Cogs vs Clips is a cooperative production-and-survival game where teams of AI agents ("Cogs") work together on the
33
- asteroid Machina VII. Their mission: Produce and protect **HEARTs** (Holon Enabled Agent Replication Templates) by
34
- gathering resources, operating machinery, and assembling components. Success is impossible alone! Completing these
35
- missions requires multiple cogs working in tandem.
36
-
37
- <p align="middle">
38
- <img src="assets/cvc-reel.gif" alt="Example Cogs vs Clips">
39
- <br>
40
-
41
- There are many mission configurations available, with different map sizes, resource and station layouts, and game rules.
42
- Cogs should refer to their [MISSION.md](MISSION.md) for a thorough description of the game mechanics. Overall, Cogs vs
43
- Clips aims to present rich environments with:
44
-
45
- - **Resource management**: Energy, materials (carbon, oxygen, germanium, silicon), and crafted components
46
- - **Station-based interactions**: Different stations provide unique capabilities (extractors, assemblers, chargers,
47
- chests)
48
- - **Sparse rewards**: Agents receive rewards only upon successfully crafting target items (hearts)
49
- - **Partial observability**: Agents have limited visibility of the environment
50
- - **Required multi-agent cooperation**: Agents must coordinate to efficiently use shared resources and stations, while
51
- only communicating through movement and emotes (❤️, 🔄, 💯, etc.)
52
-
53
- Once your policy is successfully assembling hearts, submit it to our Alignment League Benchmark. ALB evaluates how your
54
- policy plays with other policies in the pool through running multi-policy, multi-agent games. Our focal metric is VORP
55
- (Value Over Replacement Policy), an estimate of how much your agent improves team performance in scoring hearts.
56
-
57
- # Get Started
58
-
59
- ## Step 1: Set up and install
60
-
61
- Install [cogames](https://pypi.org/project/cogames/) as a Python package.
62
-
63
- ```bash
64
- # We recommend using a virtual env
65
- curl -LsSf https://astral.sh/uv/install.sh | sh
66
- uv venv .venv
67
- source .venv/bin/activate
68
-
69
- # Install cogames
70
- uv pip install cogames
71
- ```
72
-
73
- ## Step 2: Game tutorial
74
-
75
- Play an easy mission in Cogs vs. Clips using `cogames tutorial play`. Follow the instructions given in the terminal,
76
- while you use the GUI to accomplish your first training mission.
77
-
78
- ## Step 3: Train a simple policy
79
-
80
- We'll train a simple starter policy on `training_facility.harvest`. Optional variants to simplify training:
81
-
82
- - `lonely_heart` - Simplifies heart crafting to require only 1 of each resource (carbon, oxygen, germanium, silicon,
83
- energy)
84
- - `heart_chorus` - Provides reward shaping that gives bonuses for gaining hearts and maintaining diverse inventories
85
- - `pack_rat` - Raises all capacity limits (heart, cargo, energy, gear) to 255 so agents never run out of storage space
86
-
87
- ```bash
88
- # Play an episode of the training_facility.harvest mission with a scripted policy
89
- cogames play -m training_facility.harvest -p class=baseline
90
-
91
- # Try the scripted policy on a set of eval missions
92
- cogames run -S integrated_evals -p class=baseline
93
-
94
- # Train with an LSTM policy on training_facility.harvest
95
- cogames tutorial train -m training_facility.harvest -p class=lstm
96
- ```
97
-
98
- ## Step 4: Learn about missions
99
-
100
- Get familiar with different missions in Cogs vs. Clips so you can develop a policy that's able to handle different
101
- scenarios.
102
-
103
- Useful commands to explore:
104
-
105
- ```bash
106
- # List available missions
107
- cogames missions
108
-
109
- # Describe a specific mission in detail
110
- cogames missions -m [MISSION]
111
-
112
- # List available variants for modifying missions
113
- cogames variants
114
-
115
- # List all missions used as evals for analyzing the behaviour of agents
116
- cogames evals
117
-
118
- # Shows all policies available and their shorthands
119
- cogames policies
120
-
121
- # Authenticate before uploading or checking leaderboard
122
- cogames login
123
-
124
- # List available tournament seasons
125
- cogames seasons
126
-
127
- # View leaderboard for a season
128
- cogames leaderboard --season SEASON
129
-
130
- # View your tournament submissions
131
- cogames submissions
132
- ```
133
-
134
- # Develop a Policy
135
-
136
- A **policy** contains the decision-making logic that controls your agents. Given an observation of the game state, a
137
- policy outputs an action.
138
-
139
- CoGames asks that policies implement the `MultiAgentPolicy` interface. Any implementation will work, and we provide two
140
- templates to get you up and running:
141
-
142
- - `cogames tutorial make-policy --scripted` gives a starter template for a simple, rule-based script
143
- - `cogames tutorial make-policy --trainable` gives a basic neural-net based implementation that can be trained via
144
- `cogames tutorial train`
145
-
146
- ## Play, Train, and Run
147
-
148
- Most commands are of the form `cogames <command> -m [MISSION] -p [POLICY] [OPTIONS]`
149
-
150
- To specify a `MISSION`, you can:
151
-
152
- - Use a mission name from the registry given by `cogames missions`, e.g. `training_facility_1`.
153
- - Use a path to a mission configuration file, e.g. `path/to/mission.yaml`.
154
- - Alternatively, specify a set of missions with `-S` or `--mission-set`.
155
-
156
- To specify a `POLICY`, use one of two formats:
157
-
158
- **URI format** (for checkpoint bundles):
159
-
160
- - Point directly at a checkpoint bundle (directory or `.zip` containing `policy_spec.json`)
161
- - Examples: `./train_dir/my_run:v5`, `./train_dir/my_run:v5.zip`, `s3://bucket/path/run:v5.zip`
162
- - Use `:latest` suffix to auto-resolve the highest epoch: `./train_dir/checkpoints:latest`
163
-
164
- **Key-value format** (for explicit class + weights):
165
-
166
- - `class=`: Policy shorthand or full class path from `cogames policies`, e.g. `class=lstm` or
167
- `class=cogames.policy.random.RandomPolicy`.
168
- - `data=`: Optional path to a weights file (e.g., `weights.safetensors`). Must be a file, not a directory.
169
- - `proportion=`: Optional positive float specifying the relative share of agents that use this policy (default: 1.0).
170
- - `kw.<arg>=`: Optional policy `__init__` keyword arguments (all values parsed as strings).
171
-
172
- ### `cogames play -m [MISSION] -p [POLICY]`
173
-
174
- Play an episode of the specified mission.
175
-
176
- Cogs' actions are determined by the provided policy, except if you take over their actions manually.
177
-
178
- If not specified, this command will use the `noop`-policy agent -- do not be surprised if when you play you don't see
179
- other agents moving around! Just provide a different policy, like `random`.
180
-
181
- **Options:**
182
-
183
- - `--steps N`: Number of steps (default: 10000)
184
- - `--render MODE`: 'gui' or 'text' (default: gui)
185
- - `--non-interactive`: Non-interactive mode (default: false)
186
-
187
- `cogames play` supports a gui-based and text-based game renderer, both of which support many features to inspect agents
188
- and manually play alongside them.
189
-
190
- ### `cogames tutorial train -m [MISSION] -p [POLICY]`
191
-
192
- Train a policy on a mission.
193
-
194
- By default, our `stateless` policy architecture will be used. But as is explained above, you can select a different
195
- policy architecture we support out of the box (like `lstm`), or can define your own and supply a path to it.
196
-
197
- Any policy provided must implement the `MultiAgentPolicy` interface with a trainable `network()` method, which you can
198
- find in `mettagrid/policy/policy.py`.
199
-
200
- You can continue training from a checkpoint bundle (use URI format):
201
-
202
- ```
203
- cogames tutorial train -m [MISSION] -p ./train_dir/my_run:v5
204
- ```
205
-
206
- Or load weights into an explicit class:
207
-
208
- ```
209
- cogames tutorial train -m [MISSION] -p class=path.to.MyPolicy,data=train_dir/run:v5/weights.safetensors
210
- ```
211
-
212
- Note that you can supply repeated `-m` missions. This yields a training curriculum that rotates through those
213
- environments:
214
-
215
- ```
216
- cogames tutorial train -m training_facility_1 -m training_facility_2 -p class=stateless
217
- ```
218
-
219
- You can also specify multiple missions with `*` wildcards:
220
-
221
- - `cogames tutorial train -m 'machina_2_bigger:*'` will specify all missions on the machina_2_bigger map
222
- - `cogames tutorial train -m '*:shaped'` will specify all "shaped" missions across all maps
223
- - `cogames tutorial train -m 'machina*:shaped'` will specify all "shaped" missions on all machina maps
224
-
225
- **Options:**
226
-
227
- - `--steps N`: Training steps (default: 10000)
228
- - `--device STR`: 'auto', 'cpu', or 'cuda' (default: auto)
229
- - `--batch-size N`: Batch size (default: 4096)
230
- - `--num-workers N`: Worker processes (default: CPU count)
231
-
232
- ### Custom Policy Architectures
233
-
234
- CoGames supports torch-based policy architectures out of the box (such as `stateless` and `lstm`). To create your own
235
- trainable policy, run:
236
-
237
- ```bash
238
- cogames tutorial make-policy --trainable -o my_policy.py
239
- ```
240
-
241
- This generates a complete working template. See the
242
- [trainable policy template](src/cogames/policy/trainable_policy_template.py) for the full implementation. The key
243
- components are:
244
-
245
- - **`MultiAgentPolicy`**: The main policy class that the training system interacts with
246
- - **`AgentPolicy`**: Per-agent decision-making (returned by `agent_policy()`)
247
- - **`network()`**: Returns the `nn.Module` for training (must implement `forward_eval(obs, state) -> (logits, values)`)
248
- - **`load_policy_data()` / `save_policy_data()`**: Checkpoint serialization
249
-
250
- To train using your policy:
251
-
252
- ```bash
253
- cogames tutorial train -m training_facility.harvest -p class=my_policy.MyTrainablePolicy
254
- ```
255
-
256
- #### Environment API
257
-
258
- The underlying environment follows the Gymnasium API:
259
-
260
- ```python
261
- from cogames.cli.mission import get_mission
262
- from mettagrid import PufferMettaGridEnv
263
- from mettagrid.simulator import Simulator
264
-
265
- # Load a mission configuration
266
- _, config = get_mission("machina_1.open_world")
267
-
268
- # Create environment
269
- simulator = Simulator()
270
- env = PufferMettaGridEnv(simulator, config)
271
-
272
- # Reset environment
273
- obs, info = env.reset()
274
-
275
- # Game loop
276
- for step in range(10000):
277
- # Your policy computes actions for all agents
278
- actions = policy.get_actions(obs) # Dict[agent_id, action]
279
-
280
- # Step environment
281
- obs, rewards, terminated, truncated, info = env.step(actions)
282
-
283
- if terminated or truncated:
284
- obs, info = env.reset()
285
- ```
286
-
287
- ### `cogames run -m [MISSION] [-m MISSION...] -p POLICY [-p POLICY...]`
288
-
289
- Evaluate one or more policies on one or more missions.
290
-
291
- We provide a set of eval missions which you can use instead of missions `-m`. Specify `-S` or `--mission-set` among:
292
- `eval_missions`, `integrated_evals`, `spanning_evals`, `diagnostic_evals`, `all`.
293
-
294
- You can provide multiple `-p POLICY` arguments if you want to run evaluations on mixed-policy populations.
295
-
296
- **Examples:**
297
-
298
- ```bash
299
- # Evaluate a checkpoint bundle
300
- cogames run -m machina_1 -p ./train_dir/my_run:v5
301
-
302
- # Evaluate across a mission set
303
- cogames run -S integrated_evals -p ./train_dir/my_run:v5
304
-
305
- # Mix two policies: 3 parts your policy, 5 parts random
306
- cogames run -m machina_1 -p ./train_dir/my_run:v5,proportion=3 -p class=random,proportion=5
307
- ```
308
-
309
- **Options:**
310
-
311
- - `--episodes N`: Number of episodes per mission (default: 10)
312
- - `--action-timeout-ms N`: Timeout per action (default: 250ms)
313
- - `--steps N`: Max steps per episode
314
- - `--format [json/yaml]`: Output results as structured json or yaml (default: None for human-readable tables)
315
-
316
- When multiple policies are provided, `cogames run` fixes the number of agents each policy will control, but randomizes
317
- their assignments each episode.
318
-
319
- ### `cogames make-mission -m [BASE_MISSION]`
320
-
321
- Create a custom mission configuration. In this case, the mission provided is the template mission to which you'll apply
322
- modifications.
323
-
324
- **Options:**
325
-
326
- - `--cogs N` or `-c N`: Number of cogs
327
- - `--width W` or `-w W`: Map width
328
- - `--height H` or `-h H`: Map height
329
- - `--output PATH`: Save to file
330
-
331
- Note: If `--cogs`, `--width`, or `--height` are not specified, the values come from the base mission's configuration.
332
-
333
- You will be able to provide your specified `--output` path as the `MISSION` argument to other `cogames` commands.
334
-
335
- ## Policy Submission
336
-
337
- ### `cogames login`
338
-
339
- Authenticate before uploading policies or viewing leaderboards.
340
-
341
- ### `cogames upload -p [POLICY] -n [NAME]`
342
-
343
- Upload a policy to the server.
344
-
345
- ```
346
- cogames submit -p ./train_dir/my_run:v5 -n my_policy
347
- ```
348
-
349
- **Options:**
350
-
351
- - `--include-files`: Additional files to include (can be specified multiple times)
352
- - `--dry-run`: Validate the policy without uploading
353
-
354
- ### `cogames seasons`
355
-
356
- List available tournament seasons you can submit to.
357
-
358
- ### `cogames submit [POLICY] --season [SEASON]`
359
-
360
- Submit an uploaded policy to a tournament season.
361
-
362
- ```bash
363
- # Submit latest version of a policy
364
- cogames submit my_policy --season alb-season-1
365
-
366
- # Submit a specific version
367
- cogames submit my_policy:v3 --season alb-season-1
368
- ```
369
-
370
- ### `cogames submissions`
371
-
372
- View your tournament submissions.
373
-
374
- ```bash
375
- # View all submissions
376
- cogames submissions
377
-
378
- # Filter by season
379
- cogames submissions --season alb-season-1
380
-
381
- # Filter by policy (positional argument)
382
- cogames submissions my_policy
383
- ```
384
-
385
- ### `cogames leaderboard --season [SEASON]`
386
-
387
- View the leaderboard for a tournament season.
388
-
389
- ```bash
390
- cogames leaderboard --season alb-season-1
391
- ```
392
-
393
- When a policy is submitted to a season, it is queued for matches against other policies in that season's pools.
394
-
395
- ## Citation
396
-
397
- If you use CoGames in your research, please cite:
398
-
399
- ```bibtex
400
- @software{cogames2025,
401
- title={CoGames: Multi-Agent Cooperative Game Environments},
402
- author={Metta AI},
403
- year={2025},
404
- url={https://github.com/metta-ai/metta}
405
- }
406
- ```
@@ -1,136 +0,0 @@
1
- cogames/__init__.py,sha256=Loao4kW7AqCRVKcQuA7lKEsyKl9k_Zf1oVlPXvgqjbw,23
2
- cogames/auth.py,sha256=W7BgRhrCTKob68p6HHTKVFjPayySaBG03eIgcGjw_jI,15852
3
- cogames/curricula.py,sha256=a7Nd-av4epAjmoqlefyU4q5eAitpYjCEGDCF_tS_iaY,825
4
- cogames/device.py,sha256=W8jfBxEZSbYVPyCNI5Ekze4dAL2uN6q48kgnY6iwIJg,1197
5
- cogames/evaluate.py,sha256=8pnSaReR-RLcoRob7Yxq9MlQjM3ahg8IYWWEBsoM21w,9760
6
- cogames/game.py,sha256=Qpyd4UOv97S-PCcEb422XFVbuXk46qhEx7_FlAr8ayA,3331
7
- cogames/main.py,sha256=crigZBTofYkemzgl25K1nKmt5xeowyhGE39uOq0kutM,44387
8
- cogames/play.py,sha256=7NyhqzwlaznRWHreOD_Z3vCjYYr1414usmNpkhNjsXg,2908
9
- cogames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
- cogames/train.py,sha256=WLFlPgSem-OM5wDd9kMSrcG36cM8WADa-QNUrqnAyMI,16461
11
- cogames/verbose.py,sha256=f1pgjOcFev9GEGeXEUJBms8aN23HGepRxwGQHzxjQIA,2910
12
- cogames/cli/base.py,sha256=UpMqeJ0C8i0pkue1AHnnyyX0bFJ9zZeJ7HBR6yhuA8A,54
13
- cogames/cli/client.py,sha256=VqTmLH2tIspm9F6Q-IMqbbsBfmv0ZH3KSpDKSVYz_7I,7139
14
- cogames/cli/leaderboard.py,sha256=1M-XEkI2Z4JIMgkHgJGug90TqUwzXQnEbNeetPY50PY,11178
15
- cogames/cli/login.py,sha256=_i1Hdbp_wAMsX0NLbCTSr7GmOFbzSqwyNP79OqLOg40,1237
16
- cogames/cli/mission.py,sha256=7ElXtz6xhsgJ7NY6hYawAcNtzyXZ0rI9qeJVTqvpxkY,21485
17
- cogames/cli/policy.py,sha256=2kjZJm-TVp4rh697DHC6Mm0HrFUq6r7cDAOcL4D102A,7274
18
- cogames/cli/submit.py,sha256=4sJgk1_fASEPHBGPSyxr7GsjlI8A6sNBI9lb2SPgNbU,13850
19
- cogames/cli/utils.py,sha256=K4eb-RL73HtavNGxZjn_SVDLAwfFamLCEQNTCNVdmPU,895
20
- cogames/cogs_vs_clips/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- cogames/cogs_vs_clips/cogs_vs_clips_mapgen.md,sha256=zkVh30-tt0PZV6wsZy9RYZDTu1XNpaQ5eeEsFPlLWaE,13192
22
- cogames/cogs_vs_clips/mission.py,sha256=RBVcnZA6-WqTJTGM08_UBghLnK1AMVphPpfTD4QN0Cs,11990
23
- cogames/cogs_vs_clips/mission_utils.py,sha256=-tB8JclTaq8Zfh8V5DPor1A3Ncuq8ndsTjgVnIxUV7s,671
24
- cogames/cogs_vs_clips/missions.py,sha256=mil4s8PJ-khoIIQ_rKyQVLbb6qtyeJ58UvqBZm6gICs,5375
25
- cogames/cogs_vs_clips/procedural.py,sha256=tX7EFPmZDMU7axes8J_IuIPpR1kGXQBb2s7hkVgzP7g,25947
26
- cogames/cogs_vs_clips/sites.py,sha256=x7k-Xyn5fnn0m6o5YVkiGl2UxPwp2eT7ZhdrnhMa0pc,1960
27
- cogames/cogs_vs_clips/stations.py,sha256=SA8VcFuuYTWxxznvNS3sy-jHhpF8rtoy8JbcqiWvVPU,9122
28
- cogames/cogs_vs_clips/tutorial_missions.py,sha256=OgFi8yPmcmkZPmQFwUOi8D_fu4WlMUmLcdLr26ToOfk,715
29
- cogames/cogs_vs_clips/variants.py,sha256=ZxxC2hb5hj83W81Vm20HzdNiQx8xzOupsyjvTm3447I,29453
30
- cogames/cogs_vs_clips/evals/README.md,sha256=edBIBTd8Bi9b5YJaz_cUcX5s2-GxUc2ldVFnUzvsSpE,7289
31
- cogames/cogs_vs_clips/evals/diagnostic_evals.py,sha256=czQlTkgJHZvKhsdY2sTA566JF22bogtxozBd7iBlk6c,32052
32
- cogames/cogs_vs_clips/evals/difficulty_variants.py,sha256=QTzKC2PjbJczTAhd_uiYzIsdvyKbI69XJhar82n1RCM,17117
33
- cogames/cogs_vs_clips/evals/integrated_evals.py,sha256=pZamfnntHmtUK8c0V8aIDPhon7e2FN9DWvU9FmNB0Jc,4326
34
- cogames/cogs_vs_clips/evals/spanning_evals.py,sha256=rY6gSX8_-ROb8p007_3PUt5FQBNSSbuce-YDIi7mf10,12943
35
- cogames/maps/canidate1_1000.map,sha256=_Gj_pZM901N0OKeGCet2MDuHKMFdKp-7HkUseZat-JE,1023279
36
- cogames/maps/canidate1_1000_stations.map,sha256=JozyCXgJGzf73QaFGFh80AU2Xgp-Lb0yPN7LsExttyo,1023407
37
- cogames/maps/canidate1_500.map,sha256=J0arXU-AcWxTVV4Iy6T5d8-zij-WeoGxDyBIxwfbt2Y,261779
38
- cogames/maps/canidate1_500_stations.map,sha256=TTBLUglegJq_9lzR1a3DQRetMXuL3xRKw3dldsKLk-Q,261907
39
- cogames/maps/canidate2_1000.map,sha256=52Ioj0aLRNg0MFXbAPdOh9o9sL8oHN1oKK-QCy5r0u4,1023279
40
- cogames/maps/canidate2_1000_stations.map,sha256=Oy3I5qpZoUin9nrvOlk4yn4qwtMLqorF5QnedBZUW_U,1023407
41
- cogames/maps/canidate2_500.map,sha256=5s4T6wg6rlXNTu84Nr2CA_RlErvPCjTxzEzPlTpnfNI,261779
42
- cogames/maps/canidate2_500_stations.map,sha256=AFN3PrBrizgLzAtrZwlcBGt6_27AZ56rOJzAbCGb8Zg,261894
43
- cogames/maps/canidate3_1000.map,sha256=SNnIbpFBxk-EirpEBIuX44c_KJICiBPylGEE0QGP23A,1023279
44
- cogames/maps/canidate3_1000_stations.map,sha256=gc7F3oQkwgWgfHPWtlUNuVgqh07FX2OLFI_ne32qZ7M,1023407
45
- cogames/maps/canidate3_500.map,sha256=mEJ89RgtAMZiiTK0DWTZdxdbRpq9A_zNXA9aK3hAAj8,261779
46
- cogames/maps/canidate3_500_stations.map,sha256=xJqbr_xD_WVqQaD8leEv5R9oQE5lm9m9eI2QuG2IBoo,261907
47
- cogames/maps/canidate4_500.map,sha256=d7XErhvS4AQ6g2In2BHo4JidkOxFcOZbPXIQ9Lq_7q0,261779
48
- cogames/maps/canidate4_500_stations.map,sha256=iblHYTDrtVlWvfq6c1e2OCaNNnzcM8BcxjOdaH7TIDQ,261907
49
- cogames/maps/cave_base_50.map,sha256=IpNeXE3c42CpVatlpm5a4uNPe5qUoPFxqeJV3DjS954,4057
50
- cogames/maps/machina_100_stations.map,sha256=XgVJeKkJSRc6B3B6uCu1f-CIMIgbk2m6DkltMxP92-I,12707
51
- cogames/maps/machina_200_stations.map,sha256=-0ngnGzYyVRLSO-ltXrAPOtDVM6FLuqEeapCWMHjDzc,45007
52
- cogames/maps/machina_200_stations_small.map,sha256=3ZY33TCbrWllP201sJbp4cw0dc51sO52-lNjL3ClPpA,5932
53
- cogames/maps/machina_eval_exp01.map,sha256=6Szry8uNbfZxLpm8oZaeYGRyjbp2_ahyUVQd4rv6KR4,2078
54
- cogames/maps/machina_eval_template_large.map,sha256=1aCZT_9E45czViWjuxHspVDKurAsDr0_txGbGvnB1JA,4828
55
- cogames/maps/machinatrainer4agents.map,sha256=FA8oOHpalRtCRrAweV7lBWZ5x7-KsTJ4HRkIIeiXsKI,5387
56
- cogames/maps/machinatrainer4agentsbase.map,sha256=DLNy4UbFnjNjoD-NFIwRjV6H9sMH8evz8BeobPXgwfs,5387
57
- cogames/maps/machinatrainerbig.map,sha256=xX_x-c8kVyQ7Q4c1wQXialxUozdeZIWMNDX3QRJdIT4,51353
58
- cogames/maps/machinatrainersmall.map,sha256=H7pJ8uaEa-DZ3RcaLoiY3_GjDxZzz0w_jrlkOq0XFDc,12481
59
- cogames/maps/training_facility_clipped.map,sha256=lmuigg0KlxJ1jfQika-E99fjQ6RbPIuYsXVh7Lo7ATo,1363
60
- cogames/maps/training_facility_open_1.map,sha256=2sPq0bjtizTYsKjgkl2WuKxfK1HjFCrEUc--RwpvHTY,781
61
- cogames/maps/training_facility_open_2.map,sha256=J2U0uIiqv08YxDI4SUzOuRry3ipiUu6MupshfNgPazQ,1331
62
- cogames/maps/training_facility_open_3.map,sha256=xvNWJcjDFME-roiDFwS1D3xfm7SWGC2jKVoxZnT5yQg,781
63
- cogames/maps/training_facility_tight_4.map,sha256=hDUlydjle0CbMdHdXzepmRRBqYWxTyycVPs8O-ovi18,781
64
- cogames/maps/training_facility_tight_5.map,sha256=gs1mj6FKdUphkG1Z8WmBKJK0HJh4uyxZE6x31nqdT4s,781
65
- cogames/maps/vanilla_large.map,sha256=fX9s0zxL3nhaaikWryjcqyZdjhVQX4k4u_6rSJsHvQ8,2067
66
- cogames/maps/vanilla_small.map,sha256=U6pHaUf87EJJcswUkZdn1m2xznf4PQYYNhfvcXN89VU,595
67
- cogames/maps/zelda.map,sha256=1_rwezA27n5V9R3JY7WXniFVm8d31_Y1kyr9vn_gPjg,22387
68
- cogames/maps/diagnostic_evals/diagnostic_agile.map,sha256=dO_XkAZ272HcgEHfgKtaY8R-zvhxZ26MGkgWSQ7MtfU,817
69
- cogames/maps/diagnostic_evals/diagnostic_agile_hard.map,sha256=4odtqRuQj5CFIy_yIvu4VOxyqWC9J3lyGGIXbDkrfmw,1545
70
- cogames/maps/diagnostic_evals/diagnostic_assembler_near.map,sha256=xjwwBJ7BKzZEJat8by2tslwzlxvhA3tDZZfZKd2jVws,1801
71
- cogames/maps/diagnostic_evals/diagnostic_assembler_search.map,sha256=O2Osm8FT0mBepEZByaqueWmEpcpJqDA9AkmekELb50E,1801
72
- cogames/maps/diagnostic_evals/diagnostic_assembler_search_hard.map,sha256=ICJ730O2G9q_0e9AN_ODEnFFr729d7UfKK0X4mQEmIU,3557
73
- cogames/maps/diagnostic_evals/diagnostic_charge_up.map,sha256=0CXZLEgo1wQBqetHhT0MX782Q1xKSzFHfi4ZFzLLAYU,836
74
- cogames/maps/diagnostic_evals/diagnostic_charge_up_hard.map,sha256=CTkIsn_4CoOD8G_NnDUJsj8r3OdiYCXndPQfG9EDL00,1706
75
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation1.map,sha256=_-4ZM4gVcFZ3rU5hXnGE9zGU-ykfx1PPFnS2EFifRco,1768
76
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation1_hard.map,sha256=Q0NDvy0nXyK3-TKP5FYsEGVpoRAwZt7_cfP0VH5XbrI,3101
77
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation2.map,sha256=fMrCH5NYcKzJNkdxmyi9QaJcnW98j7J3vFm4-hsuT94,1046
78
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation2_hard.map,sha256=7yaefN8WFEya9thywWXCS0nWsZEn3WLP_OFpmmILyi8,2775
79
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation3.map,sha256=tYtF-xZgzQ3JRtUT3-JKJGRXqzrl8XoN7p4A2Z9yg_0,1128
80
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation3_hard.map,sha256=u5FvEItCfIIjtrdX0PjN7E3aMkyGmplrdXSBUfn1wzg,2641
81
- cogames/maps/diagnostic_evals/diagnostic_chest_near.map,sha256=UZYegZBpeBt8-vVhxcarXpYazZAU244lbYfWggnKVGw,1803
82
- cogames/maps/diagnostic_evals/diagnostic_chest_search.map,sha256=UFHhWbD2NqiJmR_rNSFJyskfpTbnLaqx24QBIln5auo,1803
83
- cogames/maps/diagnostic_evals/diagnostic_chest_search_hard.map,sha256=EZlrxKqBbmGeE6AWmyrK2nhINUNnHpFD2m_zoir1U9o,14383
84
- cogames/maps/diagnostic_evals/diagnostic_extract_lab.map,sha256=va2SPYE0_VhxwqNfoOFIeGgr_IlSKkLl8d20MQM0r1Q,647
85
- cogames/maps/diagnostic_evals/diagnostic_extract_lab_hard.map,sha256=idMpcrIPEOTaAmgh2hObqcylW4IT3P1UybPh7IgU0UA,1517
86
- cogames/maps/diagnostic_evals/diagnostic_memory.map,sha256=tQNZUp5zTfwbV0G2h_v_Gq70wcFEHUOXXCDbjXFPV6w,1215
87
- cogames/maps/diagnostic_evals/diagnostic_memory_hard.map,sha256=3b-KAx4aJLIquxv7oYNib3IhkNYVep_mgdmNx1VJGds,1997
88
- cogames/maps/diagnostic_evals/diagnostic_radial.map,sha256=vVTVC1EpGx-e1w11qmzHtjH_arug8Uih0x8vleoDzh8,3050
89
- cogames/maps/diagnostic_evals/diagnostic_radial_hard.map,sha256=9Cd47JyBZwfIXjZyiptny95EsEYAU-t2PEeaIjJ5TqQ,24530
90
- cogames/maps/diagnostic_evals/diagnostic_resource_lab.map,sha256=Sqk-bkc9OhTZe-HIIg6-H3Z7SFTzaOdaHj5YrDai_w8,1803
91
- cogames/maps/diagnostic_evals/diagnostic_unclip.map,sha256=R2c3m6_ZmhOFEW61mcOCHaS-svhLAHVk7zv9J02gUaM,1803
92
- cogames/maps/evals/eval_balanced_spread.map,sha256=-0tMpq_25Fsv3Xtpn72jtTMel1yiHMutv4nzac0JjGI,2077
93
- cogames/maps/evals/eval_clip_oxygen.map,sha256=sy-Ry3L5My-ZH01Qj4_v44ptyAgG61f3uOfHl1ntVFA,2079
94
- cogames/maps/evals/eval_collect_resources.map,sha256=ytd3twE-kji3DaRHvaSWrwR_XsJFEETEUhZUotwVck4,2079
95
- cogames/maps/evals/eval_collect_resources_hard.map,sha256=MaM-B3l1jlSDdhlMTGT8rr49BO_eKC3WLanpdsMBdcg,2079
96
- cogames/maps/evals/eval_collect_resources_medium.map,sha256=H5FnKribLt6N-IfwdhF8DXN0uuIYmV6AVQ2TrlHOe6Q,2079
97
- cogames/maps/evals/eval_divide_and_conquer.map,sha256=JRt5GhtOOTVsY8Zo7HVmuQ-GXuiye1SNeXI7fO71WaY,2077
98
- cogames/maps/evals/eval_energy_starved.map,sha256=h5j0uX-Z56PeSwbYMWPAyup0CU6OQSKRskxoj3BmoOs,2077
99
- cogames/maps/evals/eval_multi_coordinated_collect_hard.map,sha256=CcwfvDInnj5yZd24wwFSOcE5l4IrCifIGhZ3BK-2V5o,2080
100
- cogames/maps/evals/eval_oxygen_bottleneck.map,sha256=OS1wzZvcxSCBLmaNjk3A2Wo-1rz-G841C-3rH4-i21A,2079
101
- cogames/maps/evals/eval_single_use_world.map,sha256=0oAQsFfwlA7T4Ate8nfyRTnL87YZ0FHEGHjPb_WzSUQ,2079
102
- cogames/maps/evals/extractor_hub_100x100.map,sha256=IQACKX6pzWsXntqBprwcVnA2wE0jaFeIxGoWum0M7g0,12707
103
- cogames/maps/evals/extractor_hub_30x30.map,sha256=UWkoSqemrFPpOsAbHaHbA9vGgXhIXhmovF5s2xKHezQ,1997
104
- cogames/maps/evals/extractor_hub_50x50.map,sha256=SH4lA8DkUrN1q6Ftfe9UTyQSVsmULyX5NqLAyd_J8x8,4057
105
- cogames/maps/evals/extractor_hub_70x70.map,sha256=8a7KO_qJF3M15D_GWuB04wIdAXzMiZdYBDC20DlCd6M,6917
106
- cogames/maps/evals/extractor_hub_80x80.map,sha256=rql-jda3jLTL3uHo2Mx2tM5rP5RqA-3H7GP45tFc0zI,8647
107
- cogames/policy/__init__.py,sha256=JFjmvqYzj_j_mQ4Bmqmc60KU49HF63i0s8lIEu1G_b4,116
108
- cogames/policy/pufferlib_policy.py,sha256=o7si3aHKQz2cTQfn7UvF_uQhVmoOWNbRVf8wtZLCxJE,4211
109
- cogames/policy/signal_handler.py,sha256=19_i72AlYZmMifBDvZuaqLVrFIbWLa8mW-7In7nbG3c,2060
110
- cogames/policy/trainable_policy_template.py,sha256=49RGfXBQON04Y6Pg56xHKKkO446a3BtMyaS-brrFMJY,7168
111
- cogames/policy/nim_agents/__init__.py,sha256=sKbQiAKI4lQOVJ1knC0r4iwicrUOmfK6RVzMSV-oDP4,474
112
- cogames/policy/nim_agents/agents.py,sha256=rtT6qITV6slrffH6ci3GPb2Rpe_Qd1pMvrtQOOzPsEw,1851
113
- cogames/policy/nim_agents/common.nim,sha256=QGb1EcyBb5tO3OTfILaJ_o65doGUI-W4wzfwU5ENcH8,26990
114
- cogames/policy/nim_agents/install.sh,sha256=mI-0Er8Figfd2InUntU3ECw0S3RM_ucOaAHIA2iwacc,21
115
- cogames/policy/nim_agents/ladybug_agent.nim,sha256=pVrvSDX6uazI8HsI6-3br88gKkvihstdseYAouHWVRs,36274
116
- cogames/policy/nim_agents/nim_agents.nim,sha256=QmWWK53ZkNzzkD4mKF2obAabgmrOVKQYpXAg6M9NjY4,1280
117
- cogames/policy/nim_agents/nim_agents.nims,sha256=_kmsdrq3CdFlGiKSn6puinVSLBUVx8dAQPabi1Ujf-4,317
118
- cogames/policy/nim_agents/nimby.lock,sha256=avC4D_2bYFgguUlGWXUm_zvgk8PeQjk2NYY0wN0xdM8,265
119
- cogames/policy/nim_agents/racecar_agents.nim,sha256=0ce_xWh4spigaNK33sLjCozXIc6Mg-QbeHHy1jQvG4E,35145
120
- cogames/policy/nim_agents/random_agents.nim,sha256=LCggSOdwWJDsg9corkmJVPUhPK2bscVJJrREyV2ChJw,1867
121
- cogames/policy/nim_agents/test_agents.py,sha256=XCrefvJEIhJBgCRcrBK1xJSZkGuTcyiNMUVwIwP9aBE,1290
122
- cogames/policy/nim_agents/thinky_agents.nim,sha256=pOS3gs4N0YwySn9ertUVYkpVtpobQnLWNflbzeVtyU8,27281
123
- cogames/policy/nim_agents/thinky_eval.py,sha256=wqe0y8tAAMtgVdY1GPGucFTjlMUAgkb6FtBN72Ve6hM,8991
124
- cogames/policy/scripted_agent/README.md,sha256=o7i7BDcc6zrtbj0WenGvjaX6iLs08bkWaqWUPp1801s,9836
125
- cogames/policy/scripted_agent/baseline_agent.py,sha256=Plq8Br5vCxFUaLLc_6k-vSLG1YlagS1nH-gi4JO7MfQ,43598
126
- cogames/policy/scripted_agent/demo_policy.py,sha256=IjyfktwANe_2vlvrDjMwEXwmk2Y3Tb-VQ37xtLpi2Zk,9533
127
- cogames/policy/scripted_agent/pathfinding.py,sha256=E6BhwtCeZdePadA9-pQBjWYr5AMEh4zahmRfENx12uo,3936
128
- cogames/policy/scripted_agent/starter_agent.py,sha256=BLkydr2H_PD0mSLfzHuxbZXfc8JkeN17B1EaltFXaQg,6200
129
- cogames/policy/scripted_agent/types.py,sha256=6UaYXNejiTlhd7F1Z_YXQZowxKUOk9NKySAkgXlM78Q,8185
130
- cogames/policy/scripted_agent/unclipping_agent.py,sha256=bB-wGVQ1pcl23y69gj3KGF3UMCiZ5kvdfGJ8hUPJ0DA,20108
131
- cogames/policy/scripted_agent/utils.py,sha256=mdWZJn7wkt4AlE-nGfK4dqrsSF_sU99wwOuFGnVC9H8,13347
132
- cogames-0.3.49.dist-info/METADATA,sha256=xqnsUvgVzEAqzWiiQs53PD73mj1YRGmjWogv7t5_38U,14085
133
- cogames-0.3.49.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
134
- cogames-0.3.49.dist-info/entry_points.txt,sha256=GTHdgj-RC2hQYmjUMSp9RHX8kbru19k0LS2lAj8DnLE,45
135
- cogames-0.3.49.dist-info/top_level.txt,sha256=Wzwo0qj8ePPKwqQ0dPbpH2W5ZK40npYCzoTQ-nefqtM,8
136
- cogames-0.3.49.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- cogames