cogames 0.3.59.post1.dev2__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 +12 -0
- cogames/cli/leaderboard.py +40 -0
- cogames/cli/mission.py +11 -4
- cogames/cogs_vs_clips/cogsguard_reward_variants.py +17 -2
- cogames/cogs_vs_clips/evals/cogsguard_evals.py +81 -0
- cogames/cogs_vs_clips/missions.py +3 -1
- cogames/main.py +5 -1
- cogames/maps/evals/eval_balanced_spread.map +7 -3
- cogames/maps/evals/eval_clip_oxygen.map +7 -3
- cogames/maps/evals/eval_collect_resources.map +7 -3
- cogames/maps/evals/eval_collect_resources_hard.map +7 -3
- cogames/maps/evals/eval_collect_resources_medium.map +7 -3
- cogames/maps/evals/eval_divide_and_conquer.map +7 -3
- cogames/maps/evals/eval_energy_starved.map +7 -3
- cogames/maps/evals/eval_multi_coordinated_collect_hard.map +7 -3
- cogames/maps/evals/eval_oxygen_bottleneck.map +7 -3
- cogames/maps/evals/eval_single_use_world.map +7 -3
- cogames/maps/evals/extractor_hub_100x100.map +7 -3
- cogames/maps/evals/extractor_hub_30x30.map +7 -3
- cogames/maps/evals/extractor_hub_50x50.map +7 -3
- cogames/maps/evals/extractor_hub_70x70.map +7 -3
- cogames/maps/evals/extractor_hub_80x80.map +7 -3
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/METADATA +19 -3
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/RECORD +28 -27
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/WHEEL +0 -0
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/entry_points.txt +0 -0
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/licenses/LICENSE +0 -0
- {cogames-0.3.59.post1.dev2.dist-info → cogames-0.3.64.dist-info}/top_level.txt +0 -0
cogames/cli/client.py
CHANGED
|
@@ -51,6 +51,8 @@ class PoolInfo(BaseModel):
|
|
|
51
51
|
|
|
52
52
|
class SeasonInfo(BaseModel):
|
|
53
53
|
name: str
|
|
54
|
+
version: int
|
|
55
|
+
canonical: bool
|
|
54
56
|
summary: str
|
|
55
57
|
entry_pool: str | None = None
|
|
56
58
|
leaderboard_pool: str | None = None
|
|
@@ -58,6 +60,13 @@ class SeasonInfo(BaseModel):
|
|
|
58
60
|
pools: list[PoolInfo]
|
|
59
61
|
|
|
60
62
|
|
|
63
|
+
class SeasonVersionInfo(BaseModel):
|
|
64
|
+
version: int
|
|
65
|
+
canonical: bool
|
|
66
|
+
disabled_at: str | None
|
|
67
|
+
created_at: str
|
|
68
|
+
|
|
69
|
+
|
|
61
70
|
class LeaderboardEntry(BaseModel):
|
|
62
71
|
rank: int
|
|
63
72
|
policy: PolicyVersionSummary
|
|
@@ -174,6 +183,9 @@ class TournamentServerClient:
|
|
|
174
183
|
def get_config(self, config_id: str) -> dict[str, Any]:
|
|
175
184
|
return self._get(f"/tournament/configs/{config_id}")
|
|
176
185
|
|
|
186
|
+
def get_season_versions(self, season_name: str) -> list[SeasonVersionInfo]:
|
|
187
|
+
return self._get(f"/tournament/seasons/{season_name}/versions", list[SeasonVersionInfo])
|
|
188
|
+
|
|
177
189
|
def get_leaderboard(self, season_name: str, include_hidden_seasons: bool = False) -> list[LeaderboardEntry]:
|
|
178
190
|
return self._get(
|
|
179
191
|
f"/tournament/seasons/{season_name}/leaderboard",
|
cogames/cli/leaderboard.py
CHANGED
|
@@ -36,6 +36,22 @@ def parse_policy_identifier(identifier: str) -> tuple[str, int | None]:
|
|
|
36
36
|
return identifier, None
|
|
37
37
|
|
|
38
38
|
|
|
39
|
+
def parse_season_ref(season_ref: str) -> tuple[str, int | None]:
|
|
40
|
+
if ":v" in season_ref:
|
|
41
|
+
name, version_str = season_ref.rsplit(":v", 1)
|
|
42
|
+
try:
|
|
43
|
+
return name, int(version_str)
|
|
44
|
+
except ValueError:
|
|
45
|
+
return season_ref, None
|
|
46
|
+
if ":" in season_ref:
|
|
47
|
+
name, version_str = season_ref.rsplit(":", 1)
|
|
48
|
+
try:
|
|
49
|
+
return name, int(version_str)
|
|
50
|
+
except ValueError:
|
|
51
|
+
return season_ref, None
|
|
52
|
+
return season_ref, None
|
|
53
|
+
|
|
54
|
+
|
|
39
55
|
def _format_timestamp(value: Optional[str]) -> str:
|
|
40
56
|
"""Format ISO timestamps for CLI output."""
|
|
41
57
|
if not value:
|
|
@@ -321,6 +337,8 @@ def leaderboard_cmd(
|
|
|
321
337
|
|
|
322
338
|
|
|
323
339
|
def seasons_cmd(
|
|
340
|
+
season_name: Optional[str] = typer.Argument(None, help="Show versions of a specific season"),
|
|
341
|
+
versions: bool = typer.Option(False, "--versions", "-v", help="List all versions of the season"),
|
|
324
342
|
login_server: str = typer.Option(
|
|
325
343
|
DEFAULT_COGAMES_SERVER,
|
|
326
344
|
"--login-server",
|
|
@@ -358,6 +376,28 @@ def seasons_cmd(
|
|
|
358
376
|
|
|
359
377
|
try:
|
|
360
378
|
with client:
|
|
379
|
+
if season_name and versions:
|
|
380
|
+
season_versions = client.get_season_versions(season_name)
|
|
381
|
+
if json_output:
|
|
382
|
+
console.print(json.dumps([v.model_dump() for v in season_versions], indent=2))
|
|
383
|
+
return
|
|
384
|
+
|
|
385
|
+
if not season_versions:
|
|
386
|
+
console.print(f"[yellow]No versions found for season '{season_name}'.[/yellow]")
|
|
387
|
+
return
|
|
388
|
+
|
|
389
|
+
table = Table(title=f"Versions: {season_name}", box=box.SIMPLE_HEAVY, show_lines=False, pad_edge=False)
|
|
390
|
+
table.add_column("Version", style="bold cyan")
|
|
391
|
+
table.add_column("Status", style="white")
|
|
392
|
+
table.add_column("Created", style="dim")
|
|
393
|
+
|
|
394
|
+
for v in season_versions:
|
|
395
|
+
status = "[green]canonical[/green]" if v.canonical else "[dim]historical[/dim]"
|
|
396
|
+
table.add_row(f"v{v.version}", status, _format_timestamp(v.created_at))
|
|
397
|
+
|
|
398
|
+
console.print(table)
|
|
399
|
+
return
|
|
400
|
+
|
|
361
401
|
seasons = client.get_seasons()
|
|
362
402
|
except httpx.HTTPError as exc:
|
|
363
403
|
console.print(f"[red]Failed to reach server:[/red] {exc}")
|
cogames/cli/mission.py
CHANGED
|
@@ -39,12 +39,14 @@ def _get_legacy_missions() -> list[Mission]:
|
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
@lru_cache(maxsize=1)
|
|
42
|
-
def _get_eval_missions_all() -> list[
|
|
42
|
+
def _get_eval_missions_all() -> list[AnyMission]:
|
|
43
|
+
from cogames.cogs_vs_clips.evals.cogsguard_evals import COGSGUARD_EVAL_MISSIONS
|
|
43
44
|
from cogames.cogs_vs_clips.evals.diagnostic_evals import DIAGNOSTIC_EVALS
|
|
44
45
|
from cogames.cogs_vs_clips.evals.integrated_evals import EVAL_MISSIONS as INTEGRATED_EVAL_MISSIONS
|
|
45
46
|
from cogames.cogs_vs_clips.evals.spanning_evals import EVAL_MISSIONS as SPANNING_EVAL_MISSIONS
|
|
46
47
|
|
|
47
|
-
missions: list[
|
|
48
|
+
missions: list[AnyMission] = []
|
|
49
|
+
missions.extend(COGSGUARD_EVAL_MISSIONS)
|
|
48
50
|
missions.extend(INTEGRATED_EVAL_MISSIONS)
|
|
49
51
|
missions.extend(SPANNING_EVAL_MISSIONS)
|
|
50
52
|
missions.extend(mission_cls() for mission_cls in DIAGNOSTIC_EVALS) # type: ignore[call-arg]
|
|
@@ -56,6 +58,7 @@ def load_mission_set(mission_set: str) -> list[AnyMission]:
|
|
|
56
58
|
|
|
57
59
|
Args:
|
|
58
60
|
mission_set: Name of mission set to load. Options:
|
|
61
|
+
- "cogsguard_evals": CogsGuard evaluation missions (map-based)
|
|
59
62
|
- "integrated_evals": Integrated evaluation missions
|
|
60
63
|
- "spanning_evals": Spanning evaluation missions
|
|
61
64
|
- "diagnostic_evals": Diagnostic evaluation missions
|
|
@@ -82,6 +85,10 @@ def load_mission_set(mission_set: str) -> list[AnyMission]:
|
|
|
82
85
|
from cogames.cogs_vs_clips.evals.diagnostic_evals import DIAGNOSTIC_EVALS
|
|
83
86
|
|
|
84
87
|
missions_list = [mission_cls() for mission_cls in DIAGNOSTIC_EVALS] # type: ignore[call-arg]
|
|
88
|
+
elif mission_set == "cogsguard_evals":
|
|
89
|
+
from cogames.cogs_vs_clips.evals.cogsguard_evals import COGSGUARD_EVAL_MISSIONS
|
|
90
|
+
|
|
91
|
+
missions_list = list(COGSGUARD_EVAL_MISSIONS)
|
|
85
92
|
elif mission_set == "integrated_evals":
|
|
86
93
|
from cogames.cogs_vs_clips.evals.integrated_evals import EVAL_MISSIONS as INTEGRATED_EVAL_MISSIONS
|
|
87
94
|
|
|
@@ -91,7 +98,7 @@ def load_mission_set(mission_set: str) -> list[AnyMission]:
|
|
|
91
98
|
|
|
92
99
|
missions_list = list(SPANNING_EVAL_MISSIONS)
|
|
93
100
|
else:
|
|
94
|
-
available = "integrated_evals, spanning_evals, diagnostic_evals, all"
|
|
101
|
+
available = "cogsguard_evals, integrated_evals, spanning_evals, diagnostic_evals, all"
|
|
95
102
|
raise ValueError(f"Unknown mission set: {mission_set}\nAvailable sets: {available}")
|
|
96
103
|
|
|
97
104
|
return missions_list
|
|
@@ -447,7 +454,7 @@ def list_evals() -> None:
|
|
|
447
454
|
return
|
|
448
455
|
|
|
449
456
|
# Group missions by site
|
|
450
|
-
missions_by_site: dict[str, list[
|
|
457
|
+
missions_by_site: dict[str, list[AnyMission]] = {}
|
|
451
458
|
for m in evals:
|
|
452
459
|
missions_by_site.setdefault(m.site.name, []).append(m)
|
|
453
460
|
|
|
@@ -13,9 +13,15 @@ from mettagrid.config.game_value import stat
|
|
|
13
13
|
from mettagrid.config.mettagrid_config import MettaGridConfig
|
|
14
14
|
from mettagrid.config.reward_config import AgentReward, reward
|
|
15
15
|
|
|
16
|
-
CogsGuardRewardVariant = Literal["credit", "milestones", "no_objective", "objective"]
|
|
16
|
+
CogsGuardRewardVariant = Literal["credit", "milestones", "no_objective", "penalize_vibe_change", "objective"]
|
|
17
17
|
|
|
18
|
-
AVAILABLE_REWARD_VARIANTS: tuple[CogsGuardRewardVariant, ...] = (
|
|
18
|
+
AVAILABLE_REWARD_VARIANTS: tuple[CogsGuardRewardVariant, ...] = (
|
|
19
|
+
"objective",
|
|
20
|
+
"no_objective",
|
|
21
|
+
"milestones",
|
|
22
|
+
"credit",
|
|
23
|
+
"penalize_vibe_change",
|
|
24
|
+
)
|
|
19
25
|
|
|
20
26
|
_OBJECTIVE_STAT_KEY = "aligned_junction_held"
|
|
21
27
|
|
|
@@ -55,6 +61,12 @@ def _apply_milestones(rewards: dict[str, AgentReward], *, max_junctions: int = 1
|
|
|
55
61
|
)
|
|
56
62
|
|
|
57
63
|
|
|
64
|
+
def _apply_penalize_vibe_change(rewards: dict[str, AgentReward]) -> None:
|
|
65
|
+
"""Add penalty for vibe changes to discourage spamming."""
|
|
66
|
+
w_vibe_change = -0.01
|
|
67
|
+
rewards["vibe_change_penalty"] = reward(stat("action.change_vibe.success"), weight=w_vibe_change)
|
|
68
|
+
|
|
69
|
+
|
|
58
70
|
def _apply_credit(rewards: dict[str, AgentReward]) -> None:
|
|
59
71
|
"""Add dense precursor shaping rewards onto an existing baseline."""
|
|
60
72
|
w_heart = 0.05
|
|
@@ -98,6 +110,7 @@ def apply_reward_variants(env: MettaGridConfig, *, variants: str | Sequence[str]
|
|
|
98
110
|
- `no_objective`: disables the objective stat reward (`junction.held`).
|
|
99
111
|
- `milestones`: adds shaped rewards for aligning/scrambling junctions and holding more junctions.
|
|
100
112
|
- `credit`: adds additional dense shaping for precursor behaviors (resources/gear/deposits).
|
|
113
|
+
- `penalize_vibe_change`: adds a penalty for vibe changes to discourage spamming.
|
|
101
114
|
"""
|
|
102
115
|
if not variants:
|
|
103
116
|
return
|
|
@@ -127,6 +140,8 @@ def apply_reward_variants(env: MettaGridConfig, *, variants: str | Sequence[str]
|
|
|
127
140
|
_apply_milestones(rewards)
|
|
128
141
|
if "credit" in enabled:
|
|
129
142
|
_apply_credit(rewards)
|
|
143
|
+
if "penalize_vibe_change" in enabled:
|
|
144
|
+
_apply_penalize_vibe_change(rewards)
|
|
130
145
|
|
|
131
146
|
env.game.agent.rewards = rewards
|
|
132
147
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from cogames.cogs_vs_clips.mission import CogsGuardMission, Site
|
|
6
|
+
from cogames.cogs_vs_clips.mission_utils import get_map
|
|
7
|
+
|
|
8
|
+
MAPS_DIR = Path(__file__).resolve().parent.parent.parent / "maps"
|
|
9
|
+
|
|
10
|
+
COGSGUARD_EVALS_BASE = Site(
|
|
11
|
+
name="cogsguard_evals",
|
|
12
|
+
description="CogsGuard evaluation arenas.",
|
|
13
|
+
map_builder=get_map("evals/eval_balanced_spread.map"),
|
|
14
|
+
min_cogs=1,
|
|
15
|
+
max_cogs=20,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _count_spawn_pads(map_path: Path) -> int:
|
|
20
|
+
text = map_path.read_text()
|
|
21
|
+
if "map_data:" not in text:
|
|
22
|
+
raise ValueError(f"Missing map_data block in {map_path}")
|
|
23
|
+
map_section = text.split("map_data:", 1)[1].split("char_to_map_name:", 1)[0]
|
|
24
|
+
count = map_section.count("@")
|
|
25
|
+
if count <= 0:
|
|
26
|
+
raise ValueError(f"No spawn pads found in {map_path}")
|
|
27
|
+
return count
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def _make_eval_site(map_name: str, num_cogs: int) -> Site:
|
|
31
|
+
site = COGSGUARD_EVALS_BASE.model_copy(
|
|
32
|
+
update={
|
|
33
|
+
"map_builder": get_map(map_name),
|
|
34
|
+
"min_cogs": num_cogs,
|
|
35
|
+
"max_cogs": num_cogs,
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
return site
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _description_from_stem(stem: str) -> str:
|
|
42
|
+
display = stem
|
|
43
|
+
if display.startswith("eval_"):
|
|
44
|
+
display = display[len("eval_") :]
|
|
45
|
+
display = display.replace("_", " ")
|
|
46
|
+
return f"CogsGuard eval: {display}."
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
COGSGUARD_EVAL_MAPS: list[str] = [
|
|
50
|
+
"evals/eval_balanced_spread.map",
|
|
51
|
+
"evals/eval_clip_oxygen.map",
|
|
52
|
+
"evals/eval_collect_resources.map",
|
|
53
|
+
"evals/eval_collect_resources_medium.map",
|
|
54
|
+
"evals/eval_collect_resources_hard.map",
|
|
55
|
+
"evals/eval_divide_and_conquer.map",
|
|
56
|
+
"evals/eval_energy_starved.map",
|
|
57
|
+
"evals/eval_multi_coordinated_collect_hard.map",
|
|
58
|
+
"evals/eval_oxygen_bottleneck.map",
|
|
59
|
+
"evals/eval_single_use_world.map",
|
|
60
|
+
"evals/extractor_hub_30x30.map",
|
|
61
|
+
"evals/extractor_hub_50x50.map",
|
|
62
|
+
"evals/extractor_hub_70x70.map",
|
|
63
|
+
"evals/extractor_hub_80x80.map",
|
|
64
|
+
"evals/extractor_hub_100x100.map",
|
|
65
|
+
]
|
|
66
|
+
|
|
67
|
+
COGSGUARD_EVAL_COGS = {map_name: _count_spawn_pads(MAPS_DIR / map_name) for map_name in COGSGUARD_EVAL_MAPS}
|
|
68
|
+
|
|
69
|
+
COGSGUARD_EVAL_MISSIONS: list[CogsGuardMission] = []
|
|
70
|
+
for map_name in COGSGUARD_EVAL_MAPS:
|
|
71
|
+
stem = Path(map_name).stem
|
|
72
|
+
num_cogs = COGSGUARD_EVAL_COGS[map_name]
|
|
73
|
+
site = _make_eval_site(map_name, num_cogs)
|
|
74
|
+
COGSGUARD_EVAL_MISSIONS.append(
|
|
75
|
+
CogsGuardMission(
|
|
76
|
+
name=stem,
|
|
77
|
+
description=_description_from_stem(stem),
|
|
78
|
+
site=site,
|
|
79
|
+
num_cogs=num_cogs,
|
|
80
|
+
)
|
|
81
|
+
)
|
|
@@ -57,10 +57,12 @@ def get_legacy_missions() -> list[Mission]:
|
|
|
57
57
|
return []
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
def _build_eval_missions() -> list[
|
|
60
|
+
def _build_eval_missions() -> list[AnyMission]:
|
|
61
|
+
from cogames.cogs_vs_clips.evals.cogsguard_evals import COGSGUARD_EVAL_MISSIONS
|
|
61
62
|
from cogames.cogs_vs_clips.evals.integrated_evals import EVAL_MISSIONS as INTEGRATED_EVAL_MISSIONS
|
|
62
63
|
|
|
63
64
|
return [
|
|
65
|
+
*COGSGUARD_EVAL_MISSIONS,
|
|
64
66
|
*INTEGRATED_EVAL_MISSIONS,
|
|
65
67
|
]
|
|
66
68
|
|
cogames/main.py
CHANGED
|
@@ -109,13 +109,17 @@ def _register_policies() -> None:
|
|
|
109
109
|
discover_and_register_policies()
|
|
110
110
|
|
|
111
111
|
|
|
112
|
+
def _register_policies_callback() -> None:
|
|
113
|
+
_register_policies()
|
|
114
|
+
|
|
115
|
+
|
|
112
116
|
app = typer.Typer(
|
|
113
117
|
help="CoGames - Multi-agent cooperative and competitive games",
|
|
114
118
|
context_settings={"help_option_names": ["-h", "--help"]},
|
|
115
119
|
no_args_is_help=True,
|
|
116
120
|
rich_markup_mode="rich",
|
|
117
121
|
pretty_exceptions_show_locals=False,
|
|
118
|
-
callback=
|
|
122
|
+
callback=_register_policies_callback,
|
|
119
123
|
)
|
|
120
124
|
|
|
121
125
|
tutorial_app = typer.Typer(
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.C....O......................#
|
|
16
16
|
#C.......#.......................G.....#
|
|
17
17
|
#......C.#.....###.....###.............#
|
|
18
|
-
#........#.....#O
|
|
19
|
-
|
|
20
|
-
#.....#.....G
|
|
18
|
+
#........#.....#O...m...G#...........O.#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.....G.......t...........##.....#
|
|
21
21
|
#....C#.............&....S.......##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#....C...........................#
|
|
@@ -51,3 +51,7 @@ char_to_map_name:
|
|
|
51
51
|
"@": agent.agent
|
|
52
52
|
"&": hub
|
|
53
53
|
"=": chest
|
|
54
|
+
"a": aligner_station
|
|
55
|
+
"r": scrambler_station
|
|
56
|
+
"m": miner_station
|
|
57
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
#........#.....#O
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#O...m...G#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#.............&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#........S.......................#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####...........C.................#
|
|
16
16
|
#....S...#........................O....#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
#........#.....#O
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#O...m...G#.............#
|
|
19
|
+
#.....#........#.@.a=r.@.#......#......#
|
|
20
|
+
#.....#.............t..@........##.....#
|
|
21
21
|
#.....#...C......@..&............##....#
|
|
22
22
|
#.....#.............@..@..........#....#
|
|
23
23
|
#.....#..........@.......@.............#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#....m....#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#.............&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###...........G.#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
#.....#......C
|
|
18
|
+
#........#.....#....m....#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#......C......t...........##.....#
|
|
21
21
|
#.....#.............&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#....m....#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#.............&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -51,3 +51,7 @@ char_to_map_name:
|
|
|
51
51
|
"@": agent.agent
|
|
52
52
|
"&": hub
|
|
53
53
|
"=": chest
|
|
54
|
+
"a": aligner_station
|
|
55
|
+
"r": scrambler_station
|
|
56
|
+
"m": miner_station
|
|
57
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#...S....#........................S....#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#....m....#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#...O.........&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -51,3 +51,7 @@ char_to_map_name:
|
|
|
51
51
|
"@": agent.agent
|
|
52
52
|
"&": hub
|
|
53
53
|
"=": chest
|
|
54
|
+
"a": aligner_station
|
|
55
|
+
"r": scrambler_station
|
|
56
|
+
"m": miner_station
|
|
57
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#....m....#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#.............&....@.......##....#
|
|
22
22
|
#.....#.............@.............#....#
|
|
23
23
|
#.....#.........@.......@..............#
|
|
@@ -54,3 +54,7 @@ char_to_map_name:
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
|
|
57
|
+
"a": aligner_station
|
|
58
|
+
"r": scrambler_station
|
|
59
|
+
"m": miner_station
|
|
60
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.............................#
|
|
16
16
|
#........#.............................#
|
|
17
17
|
#........#.....###.....###.............#
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
#........#.....#....m...G#.............#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.............t...........##.....#
|
|
21
21
|
#.....#.............&............##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -15,9 +15,9 @@ map_data: |-
|
|
|
15
15
|
#.....####.C....O......................#
|
|
16
16
|
#C.......#.......................G.....#
|
|
17
17
|
#......C.#.....###.....###.............#
|
|
18
|
-
#........#.....#O
|
|
19
|
-
|
|
20
|
-
#.....#.....G
|
|
18
|
+
#........#.....#O...m...G#...........O.#
|
|
19
|
+
#.....#........#...a=r...#......#......#
|
|
20
|
+
#.....#.....G.......t...........##.....#
|
|
21
21
|
#....C#.............&....S.......##....#
|
|
22
22
|
#.....#.............@@@@@@@@......#....#
|
|
23
23
|
#.....#................................#
|
|
@@ -53,3 +53,7 @@ char_to_map_name:
|
|
|
53
53
|
"=": chest
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
"a": aligner_station
|
|
57
|
+
"r": scrambler_station
|
|
58
|
+
"m": miner_station
|
|
59
|
+
"t": scout_station
|
|
@@ -55,10 +55,10 @@ map_data: |-
|
|
|
55
55
|
#####............###............#...###.....#.........@.........#...#.......#.....#..###...##...#.##...#######
|
|
56
56
|
########..#..###.##.#.#.....#.S....#.##..##.......................#.#....#..#.G.......##.#####.###.....#######
|
|
57
57
|
######........##......#..#..#......#.#.....#........@.&.@........##...##.#.##.........##....#..##.#....#######
|
|
58
|
-
#####....##.C
|
|
58
|
+
#####....##.C.#........###..#.#...##.###..#...........m..........#...#......##......C.####...#.#..#.....######
|
|
59
59
|
######...#........#...........#.......#..####.........@.........#.#..#..####.#........####.....##.......######
|
|
60
|
-
#######.........#..##.G
|
|
61
|
-
|
|
60
|
+
#######.........#..##.G.#...#.####....#.....#........a=r........#..##..#####......+.#...#.##..##....S...######
|
|
61
|
+
########.#.##..#...##.....###.###.......##..#.........t.........#.......#....#............#.............######
|
|
62
62
|
#######.#######....##..#.######.....##..##..#...................####..G.##.....##...###..#..###....#..########
|
|
63
63
|
######......#....#..#.####.###..###....####.#...................#####...##.##.##...##.....#######.#..#########
|
|
64
64
|
#####.....O...O.....#.###...##.##.....#..####...................#...#...#####...#..##.##....#..####..##..#####
|
|
@@ -121,3 +121,7 @@ char_to_map_name:
|
|
|
121
121
|
"S": silicon_extractor
|
|
122
122
|
"O": oxygen_extractor
|
|
123
123
|
"C": carbon_extractor
|
|
124
|
+
"a": aligner_station
|
|
125
|
+
"r": scrambler_station
|
|
126
|
+
"m": miner_station
|
|
127
|
+
"t": scout_station
|
|
@@ -20,10 +20,10 @@ map_data: |-
|
|
|
20
20
|
########.#......@..@....@....#....######
|
|
21
21
|
########........................+..#####
|
|
22
22
|
######...........@.&.@.............#####
|
|
23
|
-
|
|
23
|
+
######..#..........m...............#####
|
|
24
24
|
#####..###......@..@.@.......###..######
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
#####..###........a=r........##..#######
|
|
26
|
+
#####..###.........t.........#..########
|
|
27
27
|
#####...##...................#..########
|
|
28
28
|
######..##...................#.#########
|
|
29
29
|
#######..#...................#.....#####
|
|
@@ -51,3 +51,7 @@ char_to_map_name:
|
|
|
51
51
|
"S": silicon_extractor
|
|
52
52
|
"O": oxygen_extractor
|
|
53
53
|
"C": carbon_extractor
|
|
54
|
+
"a": aligner_station
|
|
55
|
+
"r": scrambler_station
|
|
56
|
+
"m": miner_station
|
|
57
|
+
"t": scout_station
|
|
@@ -30,10 +30,10 @@ map_data: |-
|
|
|
30
30
|
#####...#....#.....#..@......@.....@...#.#..#.......########
|
|
31
31
|
#####.....#.............................##..##.....#########
|
|
32
32
|
#####..........#...........@.&.@..............##.###########
|
|
33
|
-
######..##.G
|
|
33
|
+
######..##.G..###............m...........C....##.###########
|
|
34
34
|
######.###.....##..#.....@...@.........#..........#...######
|
|
35
|
-
#####..##....G
|
|
36
|
-
|
|
35
|
+
#####..##....G.....#........a=r........#........##.....#####
|
|
36
|
+
#####..#...........#.........t.........#........##.....#####
|
|
37
37
|
#####...#.....#....#...................#......#..#.O..######
|
|
38
38
|
#####....####.##...#...................#..............######
|
|
39
39
|
#####....##........#...................#..............######
|
|
@@ -71,3 +71,7 @@ char_to_map_name:
|
|
|
71
71
|
"S": silicon_extractor
|
|
72
72
|
"O": oxygen_extractor
|
|
73
73
|
"C": carbon_extractor
|
|
74
|
+
"a": aligner_station
|
|
75
|
+
"r": scrambler_station
|
|
76
|
+
"m": miner_station
|
|
77
|
+
"t": scout_station
|
|
@@ -40,10 +40,10 @@ map_data: |-
|
|
|
40
40
|
##########..............#....#....@....@.....@...##.#...#....#....#.......######
|
|
41
41
|
##########..............#.............................##..........#.##.....#####
|
|
42
42
|
#########.############..#............@.&.@...........####.#....#...##.#....#####
|
|
43
|
-
|
|
43
|
+
########...................##..........m.............########....#.##.....######
|
|
44
44
|
#######.............S......###.........@.........#.....######...........+.######
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
######..#...#######...###..###........a=r........#.....#...#.....#...#....######
|
|
46
|
+
#######.##..#.....#.....#..###.........t.........#..#......#.......#.....#######
|
|
47
47
|
#######.##..#.....#.....#....#.....@........@....#....##.#.##...........########
|
|
48
48
|
######..#...#.+...####..#...G#...................##.....##..##.#.....#.#########
|
|
49
49
|
######...............#.......#...................###....######.###...###########
|
|
@@ -91,3 +91,7 @@ char_to_map_name:
|
|
|
91
91
|
"S": silicon_extractor
|
|
92
92
|
"O": oxygen_extractor
|
|
93
93
|
"C": carbon_extractor
|
|
94
|
+
"a": aligner_station
|
|
95
|
+
"r": scrambler_station
|
|
96
|
+
"m": miner_station
|
|
97
|
+
"t": scout_station
|
|
@@ -45,10 +45,10 @@ map_data: |-
|
|
|
45
45
|
#########.#####..........#.......##.........@.........###.#.....#.#.C......##...##########
|
|
46
46
|
#######......##.##....#......#..........................#......#..............#####.######
|
|
47
47
|
#######......#.####.G.##..##.#............@.&.@.........###..#...........##.O.###....#####
|
|
48
|
-
|
|
48
|
+
#######.........###....#.##.................m...........#.###..##.............###....#####
|
|
49
49
|
#######.S...#.....##.....#####.#..#.........@.........#.#.###.#.#...#.C...G.#####...######
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
######....##......#.........####.##........a=r........#.............#...#...####.....#####
|
|
51
|
+
#####...#.#.....#.##.####.###.....#.........t.........##........+..##...#####........#####
|
|
52
52
|
#####..##....######.###...###.....#...................#....#........#..#.##..#.......#####
|
|
53
53
|
#########.C.###...#.###..##.......#...................#....####.+.G............##...######
|
|
54
54
|
#########...###.....###.........#.#...................#.#######..............#.##...######
|
|
@@ -101,3 +101,7 @@ char_to_map_name:
|
|
|
101
101
|
"S": silicon_extractor
|
|
102
102
|
"O": oxygen_extractor
|
|
103
103
|
"C": carbon_extractor
|
|
104
|
+
"a": aligner_station
|
|
105
|
+
"r": scrambler_station
|
|
106
|
+
"m": miner_station
|
|
107
|
+
"t": scout_station
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cogames
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.64
|
|
4
4
|
Summary: Multi-agent cooperative games
|
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
|
6
6
|
Classifier: Programming Language :: Python :: 3.12
|
|
7
7
|
Requires-Python: <3.13,>=3.12
|
|
8
8
|
Description-Content-Type: text/markdown
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: mettagrid==0.2.0.
|
|
10
|
+
Requires-Dist: mettagrid==0.2.0.74
|
|
11
11
|
Requires-Dist: packaging>=24.0.0
|
|
12
12
|
Requires-Dist: pufferlib-core
|
|
13
13
|
Requires-Dist: pydantic>=2.11.5
|
|
@@ -1306,7 +1306,7 @@ cogames [COMMAND] --help
|
|
|
1306
1306
|
|
|
1307
1307
|
|
|
1308
1308
|
<pre style="white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><span style="font-weight: bold"> </span>
|
|
1309
|
-
<span style="font-weight: bold"> </span><span style="color: #808000; text-decoration-color: #808000; font-weight: bold">Usage: </span><span style="font-weight: bold">cogames seasons [OPTIONS]
|
|
1309
|
+
<span style="font-weight: bold"> </span><span style="color: #808000; text-decoration-color: #808000; font-weight: bold">Usage: </span><span style="font-weight: bold">cogames seasons [OPTIONS] [SEASON_NAME] </span>
|
|
1310
1310
|
<span style="font-weight: bold"> </span>
|
|
1311
1311
|
</pre>
|
|
1312
1312
|
|
|
@@ -1320,6 +1320,22 @@ cogames [COMMAND] --help
|
|
|
1320
1320
|
|
|
1321
1321
|
|
|
1322
1322
|
|
|
1323
|
+
<pre style="white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><span style="color: #7f7f7f; text-decoration-color: #7f7f7f">╭─ Arguments ─────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>
|
|
1324
|
+
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span> season_name <span style="color: #bfbf7f; text-decoration-color: #bfbf7f; font-weight: bold">[</span><span style="color: #808000; text-decoration-color: #808000; font-weight: bold">SEASON_NAME</span><span style="color: #bfbf7f; text-decoration-color: #bfbf7f; font-weight: bold">]</span> Show versions of a specific season <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span>
|
|
1325
|
+
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>
|
|
1326
|
+
</pre>
|
|
1327
|
+
|
|
1328
|
+
|
|
1329
|
+
|
|
1330
|
+
|
|
1331
|
+
<pre style="white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><span style="color: #7f7f7f; text-decoration-color: #7f7f7f">╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>
|
|
1332
|
+
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span> <span style="color: #008080; text-decoration-color: #008080; font-weight: bold">--versions</span> <span style="color: #008000; text-decoration-color: #008000; font-weight: bold">-v</span> List all versions of the season <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span>
|
|
1333
|
+
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>
|
|
1334
|
+
</pre>
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1323
1339
|
<pre style="white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace"><span style="color: #7f7f7f; text-decoration-color: #7f7f7f">╭─ Server ────────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>
|
|
1324
1340
|
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span> <span style="color: #008080; text-decoration-color: #008080; font-weight: bold">--login-server</span> <span style="color: #808000; text-decoration-color: #808000; font-weight: bold">URL</span> Authentication server URL <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">[default: https://softmax.com/api]</span> <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span>
|
|
1325
1341
|
<span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span> <span style="color: #008080; text-decoration-color: #008080; font-weight: bold">--server</span> <span style="color: #008000; text-decoration-color: #008000; font-weight: bold">-s</span> <span style="color: #808000; text-decoration-color: #808000; font-weight: bold">URL</span> Tournament server URL <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">[default: https://api.observatory.softmax-research.net]</span> <span style="color: #7f7f7f; text-decoration-color: #7f7f7f">│</span>
|
|
@@ -4,17 +4,17 @@ cogames/curricula.py,sha256=a7Nd-av4epAjmoqlefyU4q5eAitpYjCEGDCF_tS_iaY,825
|
|
|
4
4
|
cogames/device.py,sha256=GVC7g4tNVySn_rSbHJB0jGKvpYBL8-VmeYEQXWXtvy0,1680
|
|
5
5
|
cogames/evaluate.py,sha256=xm4dCLAXZFhfygDeC_617QXRa5DQYB_6EENEeeDAiWQ,9287
|
|
6
6
|
cogames/game.py,sha256=Qpyd4UOv97S-PCcEb422XFVbuXk46qhEx7_FlAr8ayA,3331
|
|
7
|
-
cogames/main.py,sha256=
|
|
7
|
+
cogames/main.py,sha256=zYiY_cB0kiRproN4-Xa6MSwlff3-9hpFZLOZ-YfSwEg,79367
|
|
8
8
|
cogames/pickup.py,sha256=gCm-BLMSKN4iflyn2EdsxE7ywKYzMgjozep5o_306yE,6545
|
|
9
9
|
cogames/play.py,sha256=SV_gKg5kNj68m7bavmEYomLmmWxVGbc50ZhwAEMDy5E,8014
|
|
10
10
|
cogames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
cogames/train.py,sha256=C4ZP00fxHspiQK-p00EPXyfcwiFKNIBUF1iBe2EE0GE,17894
|
|
12
12
|
cogames/verbose.py,sha256=WcbVMpB43YpNJxZcwEkFtIqiIIxPLMZMu_3XQmeY59w,2916
|
|
13
13
|
cogames/cli/base.py,sha256=UpMqeJ0C8i0pkue1AHnnyyX0bFJ9zZeJ7HBR6yhuA8A,54
|
|
14
|
-
cogames/cli/client.py,sha256=
|
|
15
|
-
cogames/cli/leaderboard.py,sha256=
|
|
14
|
+
cogames/cli/client.py,sha256=UFWn6Kjbp6nCYjeC5wMwIJAM5o_hngNdZ_yv24aeiOI,9025
|
|
15
|
+
cogames/cli/leaderboard.py,sha256=eIbiSBOkvoi5IL2weiKBOJAjWGHquDk1PWoHKA8uu3g,13941
|
|
16
16
|
cogames/cli/login.py,sha256=_i1Hdbp_wAMsX0NLbCTSr7GmOFbzSqwyNP79OqLOg40,1237
|
|
17
|
-
cogames/cli/mission.py,sha256=
|
|
17
|
+
cogames/cli/mission.py,sha256=Shd7wivVdRbWTZ02yH334QZfwAqNy6mvRzLvU01iJrA,21674
|
|
18
18
|
cogames/cli/policy.py,sha256=JI_aX0lcY-kaZWl-RhUfFu0vknF2mXHS8y0CQRRhpao,8743
|
|
19
19
|
cogames/cli/submit.py,sha256=vB8EhB1z-SOUIdRhIkMEm_sbjFXbarVUn5BuiPa7SMI,20927
|
|
20
20
|
cogames/cli/utils.py,sha256=K4eb-RL73HtavNGxZjn_SVDLAwfFamLCEQNTCNVdmPU,895
|
|
@@ -28,17 +28,18 @@ cogames/cli/docsync/docsync.py,sha256=dtGG91Co89VdiwRwKk57kYd-qnHiFIgIkS1OI12AYy
|
|
|
28
28
|
cogames/cogs_vs_clips/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
29
|
cogames/cogs_vs_clips/cog.py,sha256=P6T9y6iZ4aAXATqmQ3ooRLvP5K60r3o-viX4eoiaZq4,3201
|
|
30
30
|
cogames/cogs_vs_clips/cogs_vs_clips_mapgen.md,sha256=Tof8NFILYAj4nTYXFXgbGlLaryHj0Zvjdm-lBGKP5dE,13378
|
|
31
|
-
cogames/cogs_vs_clips/cogsguard_reward_variants.py,sha256=
|
|
31
|
+
cogames/cogs_vs_clips/cogsguard_reward_variants.py,sha256=V54Ly7T84cRfBoHv7Am7tv2OpL43Ksm95Fqkwy_TWAk,5819
|
|
32
32
|
cogames/cogs_vs_clips/cogsguard_tutorial.py,sha256=_J4yCpf4783Cp4Z0dV6aRY0DCWDxQ4P4PBVhePRMQIw,1623
|
|
33
33
|
cogames/cogs_vs_clips/mission.py,sha256=KTpfBPiwzAxobmnQ-WqPn0dLiAR4goFeHUAeyO4ahgA,12480
|
|
34
34
|
cogames/cogs_vs_clips/mission_utils.py,sha256=-tB8JclTaq8Zfh8V5DPor1A3Ncuq8ndsTjgVnIxUV7s,671
|
|
35
|
-
cogames/cogs_vs_clips/missions.py,sha256=
|
|
35
|
+
cogames/cogs_vs_clips/missions.py,sha256=ZAmS7qYViKwF4XazyqE7BE5HEhgBhwWhWCCYBfUCU7Y,2430
|
|
36
36
|
cogames/cogs_vs_clips/procedural.py,sha256=M_a6uRsHzatVSW8PrVTAupv2u1M_ehOgM6XnEB3_Gbk,25947
|
|
37
37
|
cogames/cogs_vs_clips/sites.py,sha256=Mq10ammCu49-xngQtJy8UwfRR6d78FN2dzxxi7HZy04,4916
|
|
38
38
|
cogames/cogs_vs_clips/stations.py,sha256=HxTPQnY2Y8kqK42OnaSAg8S69yO7g2pr-WkGiaL967I,9174
|
|
39
39
|
cogames/cogs_vs_clips/tutorial_missions.py,sha256=p2ds5t_cfD9xyFLSq8A9xw-zO4-OHi9LSGdocl4JDC4,712
|
|
40
40
|
cogames/cogs_vs_clips/variants.py,sha256=zU32g8Hy2GEBgOMjf6VU6Phn4X7wVvfV4_shjtddOc0,11783
|
|
41
41
|
cogames/cogs_vs_clips/evals/README.md,sha256=aglXp04_1AXwxk-zfYsqOi3qbVpSRvOVJY3j5I_yCSA,7048
|
|
42
|
+
cogames/cogs_vs_clips/evals/cogsguard_evals.py,sha256=OgIFjQIUbEbjyWxalr4_eRPYoi3bkgvFNsZfW9kKu7I,2510
|
|
42
43
|
cogames/cogs_vs_clips/evals/diagnostic_evals.py,sha256=RakNmoy8I5lgYqlUT38sctIszaLWLQmnekaNjg---Ck,13626
|
|
43
44
|
cogames/cogs_vs_clips/evals/difficulty_variants.py,sha256=SCUAbbOCCYuK2gEcuJMWA-qAlQfme9AjEOIESFj6DBY,4319
|
|
44
45
|
cogames/cogs_vs_clips/evals/integrated_evals.py,sha256=wTq2JOeF4pxU59TFn0VLs7atNiVG4VFfmF-z8sFuERY,2784
|
|
@@ -98,21 +99,21 @@ cogames/maps/diagnostic_evals/diagnostic_radial.map,sha256=RxVoYmm6U_qUwmmgXZqB2
|
|
|
98
99
|
cogames/maps/diagnostic_evals/diagnostic_radial_hard.map,sha256=PPAxa97Eb5LQaDlKaPhJoWxnw31ADLh_soXhOTJ-zlA,24525
|
|
99
100
|
cogames/maps/diagnostic_evals/diagnostic_resource_lab.map,sha256=CEZlD1OGnOP9VEksGbxnfSWAZ-JV1hrGF16FtDJTRY0,1798
|
|
100
101
|
cogames/maps/diagnostic_evals/diagnostic_unclip.map,sha256=Qj3Slpl7hCP5Xa84A1Ek6wWl0dI_8U7Etm1DMitDyxs,1798
|
|
101
|
-
cogames/maps/evals/eval_balanced_spread.map,sha256=
|
|
102
|
-
cogames/maps/evals/eval_clip_oxygen.map,sha256=
|
|
103
|
-
cogames/maps/evals/eval_collect_resources.map,sha256=
|
|
104
|
-
cogames/maps/evals/eval_collect_resources_hard.map,sha256=
|
|
105
|
-
cogames/maps/evals/eval_collect_resources_medium.map,sha256=
|
|
106
|
-
cogames/maps/evals/eval_divide_and_conquer.map,sha256=
|
|
107
|
-
cogames/maps/evals/eval_energy_starved.map,sha256=
|
|
108
|
-
cogames/maps/evals/eval_multi_coordinated_collect_hard.map,sha256=
|
|
109
|
-
cogames/maps/evals/eval_oxygen_bottleneck.map,sha256=
|
|
110
|
-
cogames/maps/evals/eval_single_use_world.map,sha256
|
|
111
|
-
cogames/maps/evals/extractor_hub_100x100.map,sha256=
|
|
112
|
-
cogames/maps/evals/extractor_hub_30x30.map,sha256=
|
|
113
|
-
cogames/maps/evals/extractor_hub_50x50.map,sha256=
|
|
114
|
-
cogames/maps/evals/extractor_hub_70x70.map,sha256=
|
|
115
|
-
cogames/maps/evals/extractor_hub_80x80.map,sha256=
|
|
102
|
+
cogames/maps/evals/eval_balanced_spread.map,sha256=Ix-NFCndwvJds3JTSam7HtYJjiuXJRoR8c33SDwUdZc,2162
|
|
103
|
+
cogames/maps/evals/eval_clip_oxygen.map,sha256=a3RqOglzbNScOhsN-WDBuZY0CgmgFwKgSwTginmpbT4,2164
|
|
104
|
+
cogames/maps/evals/eval_collect_resources.map,sha256=6rQpYwqDHR-bmA3sW-XHBDP9n09uorv8yQLTaBUWmfA,2164
|
|
105
|
+
cogames/maps/evals/eval_collect_resources_hard.map,sha256=6LLWYSvdByGqqi-x9-w-akbpz_I--upLTTfmy7uXRvU,2164
|
|
106
|
+
cogames/maps/evals/eval_collect_resources_medium.map,sha256=avNWaX3TfSxyKveRb6dfymUKq390PXzGvP1D0c4GlN8,2164
|
|
107
|
+
cogames/maps/evals/eval_divide_and_conquer.map,sha256=p_Aw_g2GoAD1zlf45FR4fNjvBAdngpaqV6KZmEiFxxk,2162
|
|
108
|
+
cogames/maps/evals/eval_energy_starved.map,sha256=1R5K0XHFHG_sJF3jgDQt5vkEd2S0Xoqc5H3iSq_4QVQ,2162
|
|
109
|
+
cogames/maps/evals/eval_multi_coordinated_collect_hard.map,sha256=2ED8sqV9RHPdFEo5F3DBUwC9T0DqcGNTmJbF9iprMLY,2165
|
|
110
|
+
cogames/maps/evals/eval_oxygen_bottleneck.map,sha256=XlUTquPT4V3YpbVc5sLpQBm8HVTeeq0W6pRX-dTpXEU,2164
|
|
111
|
+
cogames/maps/evals/eval_single_use_world.map,sha256=Hj1KX5Fa4FAmhI8wIR2opRXqn5uUFbDLRthkiZA0ie4,2164
|
|
112
|
+
cogames/maps/evals/extractor_hub_100x100.map,sha256=knCtQaQjHV5hwOn95JEfXbusB9NvODGG2u6lIHKZmSY,12792
|
|
113
|
+
cogames/maps/evals/extractor_hub_30x30.map,sha256=RM4ZDkThW1emXOPwyKBr_3TB1JsQ0_NVSr7Ma8AHLdQ,2082
|
|
114
|
+
cogames/maps/evals/extractor_hub_50x50.map,sha256=Y3BhaSqUNXmas-5ESWVmceeKIX4tbHdbCHG5UkWLvy0,4142
|
|
115
|
+
cogames/maps/evals/extractor_hub_70x70.map,sha256=nB-GV-DDDZcUZLciCga5WJJYh932M8xgL7aZiU1OwmI,7002
|
|
116
|
+
cogames/maps/evals/extractor_hub_80x80.map,sha256=hPL2bjISsayK7slBPQkGyQBvkDkWFrxd7jbNSNupXE8,8732
|
|
116
117
|
cogames/maps/planky_evals/aligner_avoid_aoe.map,sha256=9C2pJsASv7rVUfqpLdoMTA1K01wGRJrBXBvbRRXaGqE,648
|
|
117
118
|
cogames/maps/planky_evals/aligner_full_cycle.map,sha256=0ONRKlUI7XSI3L6PhglzNHup_SuNHzsHxl9bNYdmxUw,604
|
|
118
119
|
cogames/maps/planky_evals/aligner_gear.map,sha256=5bK9MwJ3HGzB1sWmRol5AdxZ9rwjPp6-OsfFPPQSdDw,460
|
|
@@ -143,7 +144,7 @@ cogames/policy/trainable_policy_template.py,sha256=GbB4vi0wsIiuh_APtfjnavvh9ZVUx
|
|
|
143
144
|
cogames/policy/nim_agents/__init__.py,sha256=q22rmDMKHMO2A4Cqt0P-kuH3f6yaldlaBaRuGydeEKM,1247
|
|
144
145
|
cogames/policy/nim_agents/agents.py,sha256=2uxzs8yxcz3obdA_gaWf0qgojFbXSIU0W3cS-9XD0AI,5038
|
|
145
146
|
cogames/policy/nim_agents/thinky_eval.py,sha256=NqIZng30MpyZD5hF03uoje4potd873hWyHOb3AZdeZk,1154
|
|
146
|
-
cogames-0.3.
|
|
147
|
+
cogames-0.3.64.dist-info/licenses/LICENSE,sha256=NG4hf0NHdGZhkabVCK1MKX8RAJmWaEm4eaGcUsONZ_E,1065
|
|
147
148
|
metta_alo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
149
|
metta_alo/job_specs.py,sha256=_QT23tGb7V8W1jqiUijeQUQh6ZvKfW5-KYiYSuNTdVI,450
|
|
149
150
|
metta_alo/policy.py,sha256=RnBwDzQ7abFiQSJe6MYr_JtsyHlKBES1CkDN6mZuvQI,613
|
|
@@ -151,8 +152,8 @@ metta_alo/pure_single_episode_runner.py,sha256=VsSBEn2BVWWHtiZ0SdL9_QMTom_vbbIyP
|
|
|
151
152
|
metta_alo/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
153
|
metta_alo/rollout.py,sha256=hc7JRQD4ilfqTO57BvKav2v_JW1Vbcc-oYcEmoWVlB4,10192
|
|
153
154
|
metta_alo/scoring.py,sha256=7ikuP6Vnvv57bAc_ARbTadDSf6wm5dCY49xX9QjD_fs,5809
|
|
154
|
-
cogames-0.3.
|
|
155
|
-
cogames-0.3.
|
|
156
|
-
cogames-0.3.
|
|
157
|
-
cogames-0.3.
|
|
158
|
-
cogames-0.3.
|
|
155
|
+
cogames-0.3.64.dist-info/METADATA,sha256=Vnhu2_9kNcq7ALn4VF4VFMP8j25Mj6ZE1f-d1p7zBU4,234991
|
|
156
|
+
cogames-0.3.64.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
157
|
+
cogames-0.3.64.dist-info/entry_points.txt,sha256=GTHdgj-RC2hQYmjUMSp9RHX8kbru19k0LS2lAj8DnLE,45
|
|
158
|
+
cogames-0.3.64.dist-info/top_level.txt,sha256=YErBkYWJd3-eksLpbgbMrETni1MPBNL4mqEyhZUa0UE,18
|
|
159
|
+
cogames-0.3.64.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|