Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ precommit-uninstall = "pre-commit uninstall"
robosim = { features = ["robosim"], no-default-feature = true }

[target.linux-64.tasks]
main = "setsid python -m main"
main = "python -m main"
50 changes: 38 additions & 12 deletions utama_core/run/strategy_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -901,12 +901,18 @@ def _load_game(self):

Side effect: Populates game, game_history and current_game_frame on self.my (and self.opp if present).
"""
my_mapping = self.yellow_vision_to_cmd_mapping if self.my_team_is_yellow else self.blue_vision_to_cmd_mapping
opp_mapping = (
(self.blue_vision_to_cmd_mapping if self.my_team_is_yellow else self.yellow_vision_to_cmd_mapping)
if self.opp
else None
)
if self.mode == Mode.REAL:
my_mapping = (
self.yellow_vision_to_cmd_mapping if self.my_team_is_yellow else self.blue_vision_to_cmd_mapping
)
opp_mapping = (
(self.blue_vision_to_cmd_mapping if self.my_team_is_yellow else self.yellow_vision_to_cmd_mapping)
if self.opp
else {}
)
else:
my_mapping = None
opp_mapping = None

my_current_game_frame, opp_current_game_frame = GameGater.wait_until_game_valid(
self.my_team_is_yellow,
Expand All @@ -918,8 +924,8 @@ def _load_game(self):
self.my.position_refiner,
is_pvp=self.opp is not None,
rsim_env=self.rsim_env,
my_vision_to_cmd_mapping=my_mapping if self.mode == Mode.REAL else None,
opp_vision_to_cmd_mapping=opp_mapping if self.mode == Mode.REAL else None,
my_vision_to_cmd_mapping=my_mapping,
opp_vision_to_cmd_mapping=opp_mapping,
)

self.my.position_refiner.start_filtering()
Expand Down Expand Up @@ -1190,12 +1196,32 @@ def _run_step(self):
real = self.mode == Mode.REAL
if self.toggle_opp_first:
if self.opp:
self._step_game(vision_frames, referee_data, True, real_responses=opp_res if real else None)
self._step_game(vision_frames, referee_data, False, real_responses=friendly_res if real else None)
self._step_game(
vision_frames,
referee_data,
True,
real_responses=opp_res if real else None,
)
self._step_game(
vision_frames,
referee_data,
False,
real_responses=friendly_res if real else None,
)
else:
self._step_game(vision_frames, referee_data, False, real_responses=friendly_res if real else None)
self._step_game(
vision_frames,
referee_data,
False,
real_responses=friendly_res if real else None,
)
if self.opp:
self._step_game(vision_frames, referee_data, True, real_responses=opp_res if real else None)
self._step_game(
vision_frames,
referee_data,
True,
real_responses=opp_res if real else None,
)
self.toggle_opp_first = not self.toggle_opp_first

# --- rate limiting ---
Expand Down
Loading