gitextract_2o40zztk/ ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── WORKSPACE ├── bazel/ │ ├── BUILD │ ├── BUILD.dm_env │ ├── BUILD.dm_env_rpc │ ├── BUILD.s2protocol │ ├── create_external_repos.bzl │ ├── protobuf.patch │ ├── requirements.txt │ ├── s2clientprotocol.patch │ └── setup_external_repos.bzl ├── docs/ │ ├── bazel.md │ ├── converters.md │ ├── environment.md │ ├── maps.md │ └── mini_games.md ├── pysc2/ │ ├── BUILD │ ├── __init__.py │ ├── agents/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── base_agent.py │ │ ├── no_op_agent.py │ │ ├── random_agent.py │ │ └── scripted_agent.py │ ├── bin/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── agent.py │ │ ├── agent_remote.py │ │ ├── battle_net_maps.py │ │ ├── benchmark_observe.py │ │ ├── benchmark_replay.py │ │ ├── check_apm.py │ │ ├── compare_binaries.py │ │ ├── gen_actions.py │ │ ├── gen_data.py │ │ ├── gen_versions.py │ │ ├── map_list.py │ │ ├── mem_leak_check.py │ │ ├── play.py │ │ ├── play_vs_agent.py │ │ ├── reencode_replays.py │ │ ├── replay_actions.py │ │ ├── replay_info.py │ │ ├── replay_version.py │ │ ├── run_tests.py │ │ ├── update_battle_net_cache.py │ │ └── valid_actions.py │ ├── build_defs.bzl │ ├── env/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── available_actions_printer.py │ │ ├── base_env_wrapper.py │ │ ├── converted_env.py │ │ ├── converted_env_test.py │ │ ├── converter/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ ├── cc/ │ │ │ │ ├── BUILD │ │ │ │ ├── __init__.py │ │ │ │ ├── castops.h │ │ │ │ ├── check_protos_equal.h │ │ │ │ ├── convert_obs.cc │ │ │ │ ├── convert_obs.h │ │ │ │ ├── convert_obs_test.cc │ │ │ │ ├── converter.cc │ │ │ │ ├── converter.h │ │ │ │ ├── converter_test.cc │ │ │ │ ├── encode_image_data.h │ │ │ │ ├── features.cc │ │ │ │ ├── features.h │ │ │ │ ├── file_util.cc │ │ │ │ ├── file_util.h │ │ │ │ ├── game_data/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── proto/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── buffs.proto │ │ │ │ │ │ ├── units.proto │ │ │ │ │ │ └── upgrades.proto │ │ │ │ │ ├── python/ │ │ │ │ │ │ ├── BUILD │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── uint8_lookup.cc │ │ │ │ │ │ └── uint8_lookup_test.py │ │ │ │ │ ├── raw_actions.cc │ │ │ │ │ ├── raw_actions.h │ │ │ │ │ ├── uint8_lookup.cc │ │ │ │ │ ├── uint8_lookup.h │ │ │ │ │ ├── visual_actions.cc │ │ │ │ │ └── visual_actions.h │ │ │ │ ├── general_order_ids.cc │ │ │ │ ├── general_order_ids.h │ │ │ │ ├── map_util.cc │ │ │ │ ├── map_util.h │ │ │ │ ├── python/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── converter.cc │ │ │ │ ├── raw_actions_encoder.cc │ │ │ │ ├── raw_actions_encoder.h │ │ │ │ ├── raw_actions_encoder_test.cc │ │ │ │ ├── raw_camera.cc │ │ │ │ ├── raw_camera.h │ │ │ │ ├── raw_converter.cc │ │ │ │ ├── raw_converter.h │ │ │ │ ├── tensor_util.cc │ │ │ │ ├── tensor_util.h │ │ │ │ ├── test_data/ │ │ │ │ │ ├── BUILD │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── feature_camera_move.pbtxt │ │ │ │ │ │ ├── feature_unit_command.pbtxt │ │ │ │ │ │ ├── feature_unit_selection_point.pbtxt │ │ │ │ │ │ ├── ui_control_group_append.pbtxt │ │ │ │ │ │ └── ui_control_group_recall.pbtxt │ │ │ │ │ ├── obs_data1.pbtxt │ │ │ │ │ └── recordings/ │ │ │ │ │ └── tvt_trunk.pb │ │ │ │ ├── unit_lookups.cc │ │ │ │ ├── unit_lookups.h │ │ │ │ ├── unit_lookups_test.cc │ │ │ │ ├── visual_actions.cc │ │ │ │ ├── visual_actions.h │ │ │ │ ├── visual_actions_test.cc │ │ │ │ ├── visual_converter.cc │ │ │ │ ├── visual_converter.h │ │ │ │ └── visual_converter_test.cc │ │ │ ├── converter.py │ │ │ ├── converter_test.py │ │ │ ├── derive_interface_options.py │ │ │ └── proto/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ └── converter.proto │ │ ├── enums.py │ │ ├── environment.py │ │ ├── host_remote_agent.py │ │ ├── lan_sc2_env.py │ │ ├── mock_sc2_env.py │ │ ├── mock_sc2_env_comparison_test.py │ │ ├── mock_sc2_env_test.py │ │ ├── remote_sc2_env.py │ │ ├── run_loop.py │ │ ├── sc2_env.py │ │ └── sc2_env_test.py │ ├── lib/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── actions.py │ │ ├── buffs.py │ │ ├── colors.py │ │ ├── features.py │ │ ├── features_test.py │ │ ├── gfile.py │ │ ├── image_differencer.py │ │ ├── image_differencer_test.py │ │ ├── memoize.py │ │ ├── metrics.py │ │ ├── named_array.py │ │ ├── named_array_test.py │ │ ├── np_util.py │ │ ├── np_util_test.py │ │ ├── point.py │ │ ├── point_flag.py │ │ ├── point_test.py │ │ ├── portspicker.py │ │ ├── portspicker_test.py │ │ ├── proto_diff.py │ │ ├── proto_diff_test.py │ │ ├── protocol.py │ │ ├── remote_controller.py │ │ ├── renderer_ascii.py │ │ ├── renderer_human.py │ │ ├── replay/ │ │ │ ├── BUILD │ │ │ ├── __init__.py │ │ │ ├── replay_converter.py │ │ │ ├── replay_observation_stream.py │ │ │ ├── sc2_replay.py │ │ │ ├── sc2_replay_test.py │ │ │ ├── sc2_replay_utils.py │ │ │ ├── sc2_replay_utils_test.py │ │ │ └── test_data/ │ │ │ ├── replay_01.SC2Replay │ │ │ ├── replay_01.skips.txt │ │ │ ├── replay_02.SC2Replay │ │ │ ├── replay_02.skips.txt │ │ │ ├── replay_03.SC2Replay │ │ │ ├── replay_03.skips.txt │ │ │ ├── replay_04.SC2Replay │ │ │ ├── replay_04.skips.txt │ │ │ ├── replay_05.SC2Replay │ │ │ ├── replay_05.skips.txt │ │ │ ├── replay_06.SC2Replay │ │ │ ├── replay_06.skips.txt │ │ │ ├── replay_07.SC2Replay │ │ │ ├── replay_07.skips.txt │ │ │ ├── replay_08.SC2Replay │ │ │ ├── replay_08.skips.txt │ │ │ ├── replay_09.SC2Replay │ │ │ └── replay_09.skips.txt │ │ ├── replay.py │ │ ├── resources.py │ │ ├── run_parallel.py │ │ ├── run_parallel_test.py │ │ ├── sc_process.py │ │ ├── static_data.py │ │ ├── stopwatch.py │ │ ├── stopwatch_test.py │ │ ├── transform.py │ │ ├── units.py │ │ ├── upgrades.py │ │ └── video_writer.py │ ├── maps/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── ladder.py │ │ ├── lib.py │ │ ├── melee.py │ │ ├── mini_games/ │ │ │ ├── BuildMarines.SC2Map │ │ │ ├── CollectMineralShards.SC2Map │ │ │ ├── CollectMineralsAndGas.SC2Map │ │ │ ├── DefeatRoaches.SC2Map │ │ │ ├── DefeatZerglingsAndBanelings.SC2Map │ │ │ ├── FindAndDefeatZerglings.SC2Map │ │ │ └── MoveToBeacon.SC2Map │ │ └── mini_games.py │ ├── run_configs/ │ │ ├── BUILD │ │ ├── __init__.py │ │ ├── lib.py │ │ └── platforms.py │ └── tests/ │ ├── BUILD │ ├── __init__.py │ ├── actions_test.py │ ├── debug_test.py │ ├── dummy_observation.py │ ├── dummy_observation_test.py │ ├── easy_scripted_test.py │ ├── general_actions_test.py │ ├── host_remote_agent_test.py │ ├── multi_player_env_test.py │ ├── multi_player_test.py │ ├── obs_spec_test.py │ ├── obs_test.py │ ├── observer_test.py │ ├── ping_test.py │ ├── protocol_error_test.py │ ├── random_agent_test.py │ ├── render_test.py │ ├── replay_obs_test.py │ ├── step_mul_override_test.py │ ├── utils.py │ └── versions_test.py └── setup.py