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.
- cogames/cli/client.py +60 -6
- cogames/cli/docsync/__init__.py +0 -0
- cogames/cli/docsync/_nb_md_directive_processing.py +180 -0
- cogames/cli/docsync/_nb_md_sync.py +103 -0
- cogames/cli/docsync/_nb_py_sync.py +122 -0
- cogames/cli/docsync/_three_way_sync.py +115 -0
- cogames/cli/docsync/_utils.py +76 -0
- cogames/cli/docsync/docsync.py +156 -0
- cogames/cli/leaderboard.py +112 -28
- cogames/cli/mission.py +64 -53
- cogames/cli/policy.py +46 -10
- cogames/cli/submit.py +268 -67
- cogames/cogs_vs_clips/cog.py +79 -0
- cogames/cogs_vs_clips/cogs_vs_clips_mapgen.md +19 -16
- cogames/cogs_vs_clips/cogsguard_reward_variants.py +153 -0
- cogames/cogs_vs_clips/cogsguard_tutorial.py +56 -0
- cogames/cogs_vs_clips/evals/README.md +10 -16
- cogames/cogs_vs_clips/evals/cogsguard_evals.py +81 -0
- cogames/cogs_vs_clips/evals/diagnostic_evals.py +49 -444
- cogames/cogs_vs_clips/evals/difficulty_variants.py +13 -326
- cogames/cogs_vs_clips/evals/integrated_evals.py +5 -45
- cogames/cogs_vs_clips/evals/spanning_evals.py +9 -180
- cogames/cogs_vs_clips/mission.py +187 -146
- cogames/cogs_vs_clips/missions.py +46 -137
- cogames/cogs_vs_clips/procedural.py +8 -8
- cogames/cogs_vs_clips/sites.py +107 -3
- cogames/cogs_vs_clips/stations.py +198 -186
- cogames/cogs_vs_clips/tutorial_missions.py +1 -1
- cogames/cogs_vs_clips/variants.py +25 -476
- cogames/device.py +13 -1
- cogames/{policy/scripted_agent/README.md → docs/SCRIPTED_AGENT.md} +82 -58
- cogames/evaluate.py +18 -30
- cogames/main.py +1434 -243
- cogames/maps/canidate1_1000.map +1 -1
- cogames/maps/canidate1_1000_stations.map +2 -2
- cogames/maps/canidate1_500.map +1 -1
- cogames/maps/canidate1_500_stations.map +2 -2
- cogames/maps/canidate2_1000.map +1 -1
- cogames/maps/canidate2_1000_stations.map +2 -2
- cogames/maps/canidate2_500.map +1 -1
- cogames/maps/canidate2_500_stations.map +2 -2
- cogames/maps/canidate3_1000.map +1 -1
- cogames/maps/canidate3_1000_stations.map +2 -2
- cogames/maps/canidate3_500.map +1 -1
- cogames/maps/canidate3_500_stations.map +2 -2
- cogames/maps/canidate4_500.map +1 -1
- cogames/maps/canidate4_500_stations.map +2 -2
- cogames/maps/cave_base_50.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_agile.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_agile_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_charge_up.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_charge_up_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation1.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation1_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation2.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation2_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation3.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_navigation3_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_near.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_search.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_chest_search_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_extract_lab.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_extract_lab_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_memory.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_memory_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_radial.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_radial_hard.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_resource_lab.map +2 -2
- cogames/maps/diagnostic_evals/diagnostic_unclip.map +2 -2
- cogames/maps/evals/eval_balanced_spread.map +9 -5
- cogames/maps/evals/eval_clip_oxygen.map +9 -5
- cogames/maps/evals/eval_collect_resources.map +9 -5
- cogames/maps/evals/eval_collect_resources_hard.map +9 -5
- cogames/maps/evals/eval_collect_resources_medium.map +9 -5
- cogames/maps/evals/eval_divide_and_conquer.map +9 -5
- cogames/maps/evals/eval_energy_starved.map +9 -5
- cogames/maps/evals/eval_multi_coordinated_collect_hard.map +9 -5
- cogames/maps/evals/eval_oxygen_bottleneck.map +9 -5
- cogames/maps/evals/eval_single_use_world.map +9 -5
- cogames/maps/evals/extractor_hub_100x100.map +9 -5
- cogames/maps/evals/extractor_hub_30x30.map +9 -5
- cogames/maps/evals/extractor_hub_50x50.map +9 -5
- cogames/maps/evals/extractor_hub_70x70.map +9 -5
- cogames/maps/evals/extractor_hub_80x80.map +9 -5
- cogames/maps/machina_100_stations.map +2 -2
- cogames/maps/machina_200_stations.map +2 -2
- cogames/maps/machina_200_stations_small.map +2 -2
- cogames/maps/machina_eval_exp01.map +2 -2
- cogames/maps/machina_eval_template_large.map +2 -2
- cogames/maps/machinatrainer4agents.map +2 -2
- cogames/maps/machinatrainer4agentsbase.map +2 -2
- cogames/maps/machinatrainerbig.map +2 -2
- cogames/maps/machinatrainersmall.map +2 -2
- cogames/maps/planky_evals/aligner_avoid_aoe.map +28 -0
- cogames/maps/planky_evals/aligner_full_cycle.map +28 -0
- cogames/maps/planky_evals/aligner_gear.map +24 -0
- cogames/maps/planky_evals/aligner_hearts.map +24 -0
- cogames/maps/planky_evals/aligner_junction.map +26 -0
- cogames/maps/planky_evals/exploration_distant.map +28 -0
- cogames/maps/planky_evals/maze.map +32 -0
- cogames/maps/planky_evals/miner_best_resource.map +26 -0
- cogames/maps/planky_evals/miner_deposit.map +24 -0
- cogames/maps/planky_evals/miner_extract.map +26 -0
- cogames/maps/planky_evals/miner_full_cycle.map +28 -0
- cogames/maps/planky_evals/miner_gear.map +24 -0
- cogames/maps/planky_evals/multi_role.map +28 -0
- cogames/maps/planky_evals/resource_chain.map +30 -0
- cogames/maps/planky_evals/scout_explore.map +32 -0
- cogames/maps/planky_evals/scout_gear.map +24 -0
- cogames/maps/planky_evals/scrambler_full_cycle.map +28 -0
- cogames/maps/planky_evals/scrambler_gear.map +24 -0
- cogames/maps/planky_evals/scrambler_target.map +26 -0
- cogames/maps/planky_evals/stuck_corridor.map +32 -0
- cogames/maps/planky_evals/survive_retreat.map +26 -0
- cogames/maps/training_facility_clipped.map +2 -2
- cogames/maps/training_facility_open_1.map +2 -2
- cogames/maps/training_facility_open_2.map +2 -2
- cogames/maps/training_facility_open_3.map +2 -2
- cogames/maps/training_facility_tight_4.map +2 -2
- cogames/maps/training_facility_tight_5.map +2 -2
- cogames/maps/vanilla_large.map +2 -2
- cogames/maps/vanilla_small.map +2 -2
- cogames/pickup.py +183 -0
- cogames/play.py +166 -33
- cogames/policy/chaos_monkey.py +54 -0
- cogames/policy/nim_agents/__init__.py +27 -10
- cogames/policy/nim_agents/agents.py +121 -60
- cogames/policy/nim_agents/thinky_eval.py +35 -222
- cogames/policy/pufferlib_policy.py +67 -32
- cogames/policy/starter_agent.py +184 -0
- cogames/policy/trainable_policy_template.py +4 -1
- cogames/train.py +51 -13
- cogames/verbose.py +2 -2
- cogames-0.3.64.dist-info/METADATA +1842 -0
- cogames-0.3.64.dist-info/RECORD +159 -0
- cogames-0.3.64.dist-info/licenses/LICENSE +21 -0
- cogames-0.3.64.dist-info/top_level.txt +2 -0
- metta_alo/__init__.py +0 -0
- metta_alo/job_specs.py +17 -0
- metta_alo/policy.py +16 -0
- metta_alo/pure_single_episode_runner.py +75 -0
- metta_alo/py.typed +0 -0
- metta_alo/rollout.py +322 -0
- metta_alo/scoring.py +168 -0
- cogames/maps/diagnostic_evals/diagnostic_assembler_near.map +0 -49
- cogames/maps/diagnostic_evals/diagnostic_assembler_search.map +0 -49
- cogames/maps/diagnostic_evals/diagnostic_assembler_search_hard.map +0 -89
- cogames/policy/nim_agents/common.nim +0 -887
- cogames/policy/nim_agents/install.sh +0 -1
- cogames/policy/nim_agents/ladybug_agent.nim +0 -984
- cogames/policy/nim_agents/nim_agents.nim +0 -55
- cogames/policy/nim_agents/nim_agents.nims +0 -14
- cogames/policy/nim_agents/nimby.lock +0 -3
- cogames/policy/nim_agents/racecar_agents.nim +0 -884
- cogames/policy/nim_agents/random_agents.nim +0 -68
- cogames/policy/nim_agents/test_agents.py +0 -53
- cogames/policy/nim_agents/thinky_agents.nim +0 -717
- cogames/policy/scripted_agent/baseline_agent.py +0 -1049
- cogames/policy/scripted_agent/demo_policy.py +0 -244
- cogames/policy/scripted_agent/pathfinding.py +0 -126
- cogames/policy/scripted_agent/starter_agent.py +0 -136
- cogames/policy/scripted_agent/types.py +0 -235
- cogames/policy/scripted_agent/unclipping_agent.py +0 -476
- cogames/policy/scripted_agent/utils.py +0 -385
- cogames-0.3.49.dist-info/METADATA +0 -406
- cogames-0.3.49.dist-info/RECORD +0 -136
- cogames-0.3.49.dist-info/top_level.txt +0 -1
- {cogames-0.3.49.dist-info → cogames-0.3.64.dist-info}/WHEEL +0 -0
- {cogames-0.3.49.dist-info → cogames-0.3.64.dist-info}/entry_points.txt +0 -0
|
@@ -9,26 +9,16 @@ from cogames.cogs_vs_clips.mission import Mission, Site
|
|
|
9
9
|
from cogames.cogs_vs_clips.procedural import MachinaArena
|
|
10
10
|
from cogames.cogs_vs_clips.sites import HELLO_WORLD, TRAINING_FACILITY
|
|
11
11
|
from cogames.cogs_vs_clips.variants import (
|
|
12
|
-
ClipHubStationsVariant,
|
|
13
|
-
ClipPeriodOnVariant,
|
|
14
12
|
CompassVariant,
|
|
15
|
-
CyclicalUnclipVariant,
|
|
16
13
|
DarkSideVariant,
|
|
17
14
|
DistantResourcesVariant,
|
|
18
15
|
EmptyBaseVariant,
|
|
19
16
|
EnergizedVariant,
|
|
20
|
-
ExtractorHeartTuneVariant,
|
|
21
|
-
InventoryHeartTuneVariant,
|
|
22
|
-
LonelyHeartVariant,
|
|
23
17
|
PackRatVariant,
|
|
24
18
|
QuadrantBuildingsVariant,
|
|
25
|
-
ResourceBottleneckVariant,
|
|
26
19
|
RoughTerrainVariant,
|
|
27
20
|
SingleResourceUniformVariant,
|
|
28
|
-
SingleToolUnclipVariant,
|
|
29
|
-
SingleUseSwarmVariant,
|
|
30
21
|
SuperChargedVariant,
|
|
31
|
-
VibeCheckMin2Variant,
|
|
32
22
|
)
|
|
33
23
|
from mettagrid.mapgen.mapgen import MapGen
|
|
34
24
|
|
|
@@ -58,76 +48,25 @@ LARGE_HELLO_WORLD = Site(
|
|
|
58
48
|
max_cogs=20,
|
|
59
49
|
)
|
|
60
50
|
|
|
61
|
-
# Resource Bottleneck evals
|
|
51
|
+
# Resource Bottleneck evals
|
|
62
52
|
OxygenBottleneck = Mission(
|
|
63
53
|
name="oxygen_bottleneck",
|
|
64
54
|
description="Oxygen is the limiting resource; agents must prioritize oxygen over other resources.",
|
|
65
55
|
site=HELLO_WORLD,
|
|
66
56
|
variants=[
|
|
67
57
|
EmptyBaseVariant(missing=["oxygen_extractor"]),
|
|
68
|
-
ResourceBottleneckVariant(resource=["oxygen"]),
|
|
69
58
|
SingleResourceUniformVariant(building_name="oxygen_extractor"),
|
|
70
59
|
PackRatVariant(),
|
|
71
60
|
],
|
|
72
61
|
)
|
|
73
62
|
|
|
74
|
-
#
|
|
75
|
-
UnclippingEasy = Mission(
|
|
76
|
-
name="unclipping_easy",
|
|
77
|
-
description="World grows increasingly clipped over time; agents must craft gear to unclip and proceed.",
|
|
78
|
-
site=HELLO_WORLD,
|
|
79
|
-
variants=[
|
|
80
|
-
ClipPeriodOnVariant(clip_period=50),
|
|
81
|
-
PackRatVariant(),
|
|
82
|
-
SingleToolUnclipVariant(),
|
|
83
|
-
ClipHubStationsVariant(clip=["oxygen_extractor", "germanium_extractor", "silicon_extractor"]),
|
|
84
|
-
],
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
UnclippingStandard = Mission(
|
|
88
|
-
name="unclipping_standard",
|
|
89
|
-
description="Standard unclipping; periodic clips and multiple stations clipped at start.",
|
|
90
|
-
site=HELLO_WORLD,
|
|
91
|
-
variants=[
|
|
92
|
-
ClipPeriodOnVariant(clip_period=25),
|
|
93
|
-
ClipHubStationsVariant(clip=["oxygen_extractor", "germanium_extractor", "silicon_extractor"]),
|
|
94
|
-
CyclicalUnclipVariant(),
|
|
95
|
-
],
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
UnclippingHard = Mission(
|
|
99
|
-
name="unclipping_hard",
|
|
100
|
-
description="Hard unclipping; oxygen starts clipped with tight extractor budgets.",
|
|
101
|
-
site=HELLO_WORLD,
|
|
102
|
-
variants=[
|
|
103
|
-
ClipPeriodOnVariant(clip_period=10),
|
|
104
|
-
PackRatVariant(),
|
|
105
|
-
ClipHubStationsVariant(clip=["oxygen_extractor", "germanium_extractor", "silicon_extractor"]),
|
|
106
|
-
CyclicalUnclipVariant(),
|
|
107
|
-
],
|
|
108
|
-
)
|
|
109
|
-
|
|
110
|
-
ClippedEasyHearts = Mission(
|
|
111
|
-
name="clipped_easy_hearts",
|
|
112
|
-
description="Easy hearts with clipping and tool making.",
|
|
113
|
-
site=HELLO_WORLD,
|
|
114
|
-
variants=[
|
|
115
|
-
ClipPeriodOnVariant(),
|
|
116
|
-
ClipHubStationsVariant(),
|
|
117
|
-
InventoryHeartTuneVariant(hearts=1),
|
|
118
|
-
LonelyHeartVariant(),
|
|
119
|
-
PackRatVariant(),
|
|
120
|
-
],
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
# Energy Starved evals (Low energy regen and weak chargers; requires careful charging and routing.)
|
|
63
|
+
# Energy Starved evals
|
|
124
64
|
EnergyStarved = Mission(
|
|
125
65
|
name="energy_starved",
|
|
126
66
|
description="Energy is the limiting resource; agents must prioritize energy over other resources.",
|
|
127
67
|
site=HELLO_WORLD,
|
|
128
68
|
variants=[
|
|
129
69
|
EmptyBaseVariant(),
|
|
130
|
-
ResourceBottleneckVariant(resource=["energy"]),
|
|
131
70
|
DarkSideVariant(),
|
|
132
71
|
],
|
|
133
72
|
)
|
|
@@ -151,17 +90,15 @@ OxygenBottleneckStandard = Mission(
|
|
|
151
90
|
site=HELLO_WORLD,
|
|
152
91
|
variants=[
|
|
153
92
|
EmptyBaseVariant(missing=["oxygen_extractor"]),
|
|
154
|
-
ResourceBottleneckVariant(resource=["oxygen"]),
|
|
155
93
|
],
|
|
156
94
|
)
|
|
157
95
|
|
|
158
96
|
OxygenBottleneckHard = Mission(
|
|
159
97
|
name="oxygen_bottleneck_hard",
|
|
160
|
-
description="Hard: oxygen bottleneck plus
|
|
98
|
+
description="Hard: oxygen bottleneck plus rough terrain.",
|
|
161
99
|
site=HELLO_WORLD,
|
|
162
100
|
variants=[
|
|
163
101
|
EmptyBaseVariant(missing=["oxygen_extractor"]),
|
|
164
|
-
ResourceBottleneckVariant(resource=["oxygen"]),
|
|
165
102
|
RoughTerrainVariant(),
|
|
166
103
|
],
|
|
167
104
|
)
|
|
@@ -188,17 +125,15 @@ EnergyStarvedStandard = Mission(
|
|
|
188
125
|
|
|
189
126
|
EnergyStarvedHard = Mission(
|
|
190
127
|
name="energy_starved_hard",
|
|
191
|
-
description="Hard: energy bottleneck with
|
|
128
|
+
description="Hard: energy bottleneck with dark side and rough terrain.",
|
|
192
129
|
site=HELLO_WORLD,
|
|
193
130
|
variants=[
|
|
194
|
-
ResourceBottleneckVariant(resource=["energy"]),
|
|
195
131
|
DarkSideVariant(),
|
|
196
132
|
RoughTerrainVariant(),
|
|
197
133
|
],
|
|
198
134
|
)
|
|
199
135
|
|
|
200
|
-
# Collect Distant Resources evals
|
|
201
|
-
|
|
136
|
+
# Collect Distant Resources evals
|
|
202
137
|
DistantResources = Mission(
|
|
203
138
|
name="distant_resources",
|
|
204
139
|
description="Resources scattered far from base; heavy routing coordination.",
|
|
@@ -233,17 +168,15 @@ DistantResourcesStandard = Mission(
|
|
|
233
168
|
|
|
234
169
|
DistantResourcesHard = Mission(
|
|
235
170
|
name="distant_resources_hard",
|
|
236
|
-
description="Hard: distant resources with rough terrain
|
|
171
|
+
description="Hard: distant resources with rough terrain.",
|
|
237
172
|
site=HELLO_WORLD,
|
|
238
173
|
variants=[
|
|
239
174
|
DistantResourcesVariant(),
|
|
240
175
|
RoughTerrainVariant(),
|
|
241
|
-
SingleUseSwarmVariant(),
|
|
242
176
|
],
|
|
243
177
|
)
|
|
244
178
|
|
|
245
|
-
# Divide and Conquer evals
|
|
246
|
-
|
|
179
|
+
# Divide and Conquer evals
|
|
247
180
|
QuadrantBuildings = Mission(
|
|
248
181
|
name="quadrant_buildings",
|
|
249
182
|
description="Place buildings in the four quadrants of the map.",
|
|
@@ -257,7 +190,7 @@ QuadrantBuildings = Mission(
|
|
|
257
190
|
# Quadrant Buildings tiers
|
|
258
191
|
QuadrantBuildingsEasy = Mission(
|
|
259
192
|
name="quadrant_buildings_easy",
|
|
260
|
-
description="Easy:
|
|
193
|
+
description="Easy: buildings in quadrants with navigation aid and inventory boost.",
|
|
261
194
|
site=HELLO_WORLD,
|
|
262
195
|
variants=[
|
|
263
196
|
QuadrantBuildingsVariant(),
|
|
@@ -278,7 +211,7 @@ QuadrantBuildingsStandard = Mission(
|
|
|
278
211
|
|
|
279
212
|
QuadrantBuildingsHard = Mission(
|
|
280
213
|
name="quadrant_buildings_hard",
|
|
281
|
-
description="Hard: quadrant distribution with empty base
|
|
214
|
+
description="Hard: quadrant distribution with empty base and rough terrain.",
|
|
282
215
|
site=HELLO_WORLD,
|
|
283
216
|
variants=[
|
|
284
217
|
QuadrantBuildingsVariant(),
|
|
@@ -287,100 +220,11 @@ QuadrantBuildingsHard = Mission(
|
|
|
287
220
|
],
|
|
288
221
|
)
|
|
289
222
|
|
|
290
|
-
# Single Use Swarm evals (Everything is single use, so agents must fan out and reconverge with needed resources.)
|
|
291
|
-
|
|
292
|
-
SingleUseSwarm = Mission(
|
|
293
|
-
name="single_use_swarm",
|
|
294
|
-
description="Everything is single use, so agents must fan out and reconverge with needed resources.",
|
|
295
|
-
site=HELLO_WORLD,
|
|
296
|
-
variants=[
|
|
297
|
-
SingleUseSwarmVariant(),
|
|
298
|
-
],
|
|
299
|
-
)
|
|
300
|
-
|
|
301
|
-
# Single Use Swarm tiers
|
|
302
|
-
SingleUseSwarmEasy = Mission(
|
|
303
|
-
name="single_use_swarm_easy",
|
|
304
|
-
description="Easy: single-use but with small map, compass, and better energy.",
|
|
305
|
-
site=HELLO_WORLD,
|
|
306
|
-
variants=[
|
|
307
|
-
SingleUseSwarmVariant(),
|
|
308
|
-
CompassVariant(),
|
|
309
|
-
SuperChargedVariant(),
|
|
310
|
-
ExtractorHeartTuneVariant(hearts=1),
|
|
311
|
-
],
|
|
312
|
-
)
|
|
313
|
-
|
|
314
|
-
SingleUseSwarmStandard = Mission(
|
|
315
|
-
name="single_use_swarm_standard",
|
|
316
|
-
description="Standard: single-use with distant resources.",
|
|
317
|
-
site=HELLO_WORLD,
|
|
318
|
-
variants=[
|
|
319
|
-
SingleUseSwarmVariant(),
|
|
320
|
-
DistantResourcesVariant(),
|
|
321
|
-
],
|
|
322
|
-
)
|
|
323
|
-
|
|
324
|
-
SingleUseSwarmHard = Mission(
|
|
325
|
-
name="single_use_swarm_hard",
|
|
326
|
-
description="Hard: single-use with distance, rough terrain, and poor lighting.",
|
|
327
|
-
site=HELLO_WORLD,
|
|
328
|
-
variants=[
|
|
329
|
-
SingleUseSwarmVariant(),
|
|
330
|
-
DistantResourcesVariant(),
|
|
331
|
-
RoughTerrainVariant(),
|
|
332
|
-
],
|
|
333
|
-
)
|
|
334
|
-
|
|
335
|
-
# Vibe Check evals (Agents must check their vibe, either binary or full, and then coordinate others for assembly.)
|
|
336
|
-
|
|
337
|
-
VibeCheck = Mission(
|
|
338
|
-
name="vibe_check",
|
|
339
|
-
description="Agents must check their vibe, either binary or full, and then coordinate others for assembly.",
|
|
340
|
-
site=HELLO_WORLD,
|
|
341
|
-
variants=[
|
|
342
|
-
EmptyBaseVariant(),
|
|
343
|
-
VibeCheckMin2Variant(),
|
|
344
|
-
],
|
|
345
|
-
)
|
|
346
|
-
|
|
347
|
-
VibeCheckEasy = Mission(
|
|
348
|
-
name="vibe_check_easy",
|
|
349
|
-
description="Easy: generous hearts with shaping rewards to guide coordination.",
|
|
350
|
-
site=HELLO_WORLD,
|
|
351
|
-
variants=[
|
|
352
|
-
EmptyBaseVariant(),
|
|
353
|
-
VibeCheckMin2Variant(),
|
|
354
|
-
LonelyHeartVariant(),
|
|
355
|
-
],
|
|
356
|
-
)
|
|
357
|
-
|
|
358
|
-
VibeCheckStandard = Mission(
|
|
359
|
-
name="vibe_check_standard",
|
|
360
|
-
description="Standard: vanilla vibe requirements without extra constraints.",
|
|
361
|
-
site=HELLO_WORLD,
|
|
362
|
-
variants=[
|
|
363
|
-
EmptyBaseVariant(),
|
|
364
|
-
VibeCheckMin2Variant(min_vibes=3),
|
|
365
|
-
],
|
|
366
|
-
)
|
|
367
|
-
|
|
368
|
-
VibeCheckHard = Mission(
|
|
369
|
-
name="vibe_check_hard",
|
|
370
|
-
description="Hard: minimum heart vibes plus energy pressure.",
|
|
371
|
-
site=HELLO_WORLD,
|
|
372
|
-
variants=[
|
|
373
|
-
EmptyBaseVariant(),
|
|
374
|
-
VibeCheckMin2Variant(min_vibes=4),
|
|
375
|
-
],
|
|
376
|
-
)
|
|
377
|
-
|
|
378
223
|
EasyHeartsTraining = Mission(
|
|
379
224
|
name="easy_hearts_training",
|
|
380
225
|
description="Simplified heart crafting with generous caps and extractor base.",
|
|
381
226
|
site=TRAINING_FACILITY,
|
|
382
227
|
variants=[
|
|
383
|
-
LonelyHeartVariant(),
|
|
384
228
|
PackRatVariant(),
|
|
385
229
|
],
|
|
386
230
|
)
|
|
@@ -390,7 +234,6 @@ EasyHeartsSmallWorld = Mission(
|
|
|
390
234
|
description="Simplified heart crafting with generous caps and extractor base.",
|
|
391
235
|
site=SMALL_HELLO_WORLD,
|
|
392
236
|
variants=[
|
|
393
|
-
LonelyHeartVariant(),
|
|
394
237
|
PackRatVariant(),
|
|
395
238
|
],
|
|
396
239
|
)
|
|
@@ -400,7 +243,6 @@ EasyHeartsMediumWorld = Mission(
|
|
|
400
243
|
description="Simplified heart crafting with generous caps and extractor base.",
|
|
401
244
|
site=MEDIUM_HELLO_WORLD,
|
|
402
245
|
variants=[
|
|
403
|
-
LonelyHeartVariant(),
|
|
404
246
|
PackRatVariant(),
|
|
405
247
|
],
|
|
406
248
|
)
|
|
@@ -410,7 +252,6 @@ EasyHeartsLargeWorld = Mission(
|
|
|
410
252
|
description="Simplified heart crafting with generous caps and extractor base.",
|
|
411
253
|
site=LARGE_HELLO_WORLD,
|
|
412
254
|
variants=[
|
|
413
|
-
LonelyHeartVariant(),
|
|
414
255
|
PackRatVariant(),
|
|
415
256
|
],
|
|
416
257
|
)
|
|
@@ -424,10 +265,6 @@ EVAL_MISSIONS: list[Mission] = [
|
|
|
424
265
|
EnergyStarvedEasy,
|
|
425
266
|
EnergyStarvedStandard,
|
|
426
267
|
EnergyStarvedHard,
|
|
427
|
-
# Unclipping tiers
|
|
428
|
-
UnclippingEasy,
|
|
429
|
-
UnclippingStandard,
|
|
430
|
-
UnclippingHard,
|
|
431
268
|
# Distant resources tiers
|
|
432
269
|
DistantResourcesEasy,
|
|
433
270
|
DistantResourcesStandard,
|
|
@@ -436,14 +273,6 @@ EVAL_MISSIONS: list[Mission] = [
|
|
|
436
273
|
QuadrantBuildingsEasy,
|
|
437
274
|
QuadrantBuildingsStandard,
|
|
438
275
|
QuadrantBuildingsHard,
|
|
439
|
-
# Single use swarm tiers
|
|
440
|
-
SingleUseSwarmEasy,
|
|
441
|
-
SingleUseSwarmStandard,
|
|
442
|
-
SingleUseSwarmHard,
|
|
443
|
-
# Vibe check tiers
|
|
444
|
-
VibeCheckEasy,
|
|
445
|
-
VibeCheckStandard,
|
|
446
|
-
VibeCheckHard,
|
|
447
276
|
# Hearts missions (easy only by design)
|
|
448
277
|
EasyHeartsTraining,
|
|
449
278
|
EasyHeartsSmallWorld,
|