def _default_observation(self, obs_spec, agent_index): """Returns a mock observation from an SC2Env.""" builder = dummy_observation.Builder(obs_spec).game_loop(0) aif = self._agent_interface_formats[agent_index] if aif.use_feature_units or aif.use_raw_units: feature_units = [ dummy_observation.FeatureUnit( units.Neutral.LabBot, features.PlayerRelative.NEUTRAL, owner=16, pos=common_pb2.Point(x=10, y=10, z=0), radius=1.0, health=5, health_max=5, is_on_screen=True, ) ] builder.feature_units(feature_units) response_observation = builder.build() features_ = self._features[agent_index] observation = features_.transform_obs(response_observation) # Add bounding box for the minimap camera in top left of feature screen. if 'feature_minimap' in observation: minimap_camera = observation.feature_minimap.camera minimap_camera.fill(0) height, width = [dim // 2 for dim in minimap_camera.shape] minimap_camera[:height, :width].fill(1) return observation
def setUp(self): self._features = features.Features(features.AgentInterfaceFormat( feature_dimensions=features.Dimensions(screen=(64, 60), minimap=(32, 28)), rgb_dimensions=features.Dimensions(screen=(128, 124), minimap=(64, 60)), action_space=actions.ActionSpace.FEATURES, use_feature_units=True), map_size=point.Point(256, 256)) self._obs_spec = self._features.observation_spec() self._builder = dummy_observation.Builder(self._obs_spec)
def _default_observation(self, obs_spec, agent_index): """Returns a mock observation from an SC2Env.""" response_observation = dummy_observation.Builder(obs_spec).build() features_ = self._features[agent_index] observation = features_.transform_obs(response_observation) # Add bounding box for the minimap camera in top left of feature screen. if 'feature_minimap' in observation: minimap_camera = observation.feature_minimap.camera minimap_camera.fill(0) height, width = [dim // 2 for dim in minimap_camera.shape] minimap_camera[:height, :width].fill(1) return observation