class_docstr: Tests that run through a game, then verify it still works in a replay.
docstr: Switch from the game to a replay.
docstr_tok: ["Switch","from","the","game","to","a","replay","."]
code: def start_replay(self):
      """Switch from the game to a replay."""
      self.step(300)
      replay_data = self._controllers[0].save_replay()
      self._parallel.run(c.leave for c in self._controllers)
      for player_id, controller in enumerate(self._controllers):
          controller.start_replay(
              sc_pb.RequestStartReplay(
                  replay_data=replay_data,
                  map_data=self._map_data,
                  options=self._interface,
                  disable_fog=self._disable_fog,
                  observed_player_id=player_id + 1,
              )
          )
      self.in_game = False
      self.step()
  
imports: import functools
  from absl import logging
  from absl.testing import absltest
  from pysc2 import maps
  from pysc2 import run_configs
  from pysc2.lib import actions
  from pysc2.lib import features
  from pysc2.lib import point
  from pysc2.lib import portspicker
  from pysc2.lib import run_parallel
  from pysc2.lib import stopwatch
  from s2clientprotocol import common_pb2
  from s2clientprotocol import debug_pb2
  from s2clientprotocol import error_pb2
  from s2clientprotocol import raw_pb2
  from s2clientprotocol import sc2api_pb2
label_desc: Use image node_id 3 for calling the GameReplayTestCase obj's underlying member method code with example usage: obj.start_replay() without return types