def METHOD_NAME(self, suppress_events: bool = False) -> None:
    if not self.started:
        raise RuntimeError("Attempted to tick game loop before initialization")
    try:
        self.sim.METHOD_NAME(self.events)
        self.completed = self.events.simulation_complete
        if not suppress_events:
            self.send_update(rate_limit=True)
        if self.completed:
            self.pause()
            self.send_update(rate_limit=False)
            logging.info(f"Simulation completed at {self.sim.time}")
            self.callbacks.on_simulation_complete()
    except SimulationAlreadyCompletedError:
        logging.exception("Attempted to tick already completed sim")