docs: def close(self):
      """Shut down the game and clean up."""
      if hasattr(self, "_controller") and self._controller:
        self._controller.quit()
        self._controller.close()
        self._controller = None
      self._shutdown()
      if hasattr(self, "_port") and self._port:
        portpicker.return_port(self._port)
        self._port = None
      if hasattr(self, "_tmp_dir") and os.path.exists(self._tmp_dir):
        shutil.rmtree(self._tmp_dir)