docs: def draw_base_map(self, surf):
      """Draw the base map."""
      hmap_feature = features.SCREEN_FEATURES.height_map
      hmap = hmap_feature.unpack(self._obs.observation)
      if not hmap.any():
        hmap = hmap + 100  # pylint: disable=g-no-augmented-assignment
      hmap_color = hmap_feature.color(hmap)
  
      creep_feature = features.SCREEN_FEATURES.creep
      creep = creep_feature.unpack(self._obs.observation)
      creep_mask = creep > 0
      creep_color = creep_feature.color(creep)
  
      power_feature = features.SCREEN_FEATURES.power
      power = power_feature.unpack(self._obs.observation)
      power_mask = power > 0
      power_color = power_feature.color(power)
  
      visibility = features.SCREEN_FEATURES.visibility_map.unpack(
          self._obs.observation)
      visibility_fade = np.array([[0.5] * 3, [0.75]*3, [1]*3])
  
      out = hmap_color * 0.6
      out[creep_mask, :] = (0.4 * out[creep_mask, :] +
                            0.6 * creep_color[creep_mask, :])
      out[power_mask, :] = (0.7 * out[power_mask, :] +
                            0.3 * power_color[power_mask, :])
      out *= visibility_fade[visibility]
  
      surf.blit_np_array(out)