fig, ax = plt.subplots(figsize=(8, 8))
        fig.canvas.set_window_title('AV Swarm Simulator')
        plt.show()

    s = Sim(NUM_RL_CARS, MAP_FILES[args.task], save_video=args.save_video)

    returns = []
    collisions = []
    goals = []
    for i in range(args.num_episodes):
        done = False
        ep_return = 0
        obs = s.reset()  # Do this BEFORE adding a manual or random car

        if args.control_car_type == "human":
            s.add_manual_car(fig)
        elif args.control_car_type == "random":
            s.add_random_car()

        obs = s.get_obs()

        if not args.nogui:
            s.render(ax=ax)
            plt.pause(0.01)

        while not done:
            obs, reward, done, info = s.step(get_car_actions(obs))
            ep_return += reward
            if not args.nogui:
                s.render(ax=ax)
                plt.pause(0.01)