public ArrayList<AntBrain> runTournament(GUI gui) {
        int numCompetitors = antBrains.size();
        scores = new int[numCompetitors]; //can init scores[] now that we know how many brains there are

        for (World wo : worlds) {
            wo.checkValidForTournament();
        }

        int gameCounter = 0;
        int totalMatches = (numCompetitors * (numCompetitors - 1) * worlds.size());

        if (numCompetitors > 1) {
            ArrayList<AntBrain> winnersList = new ArrayList<>();
            for (int i = 0; i < numCompetitors; i++) {
                for (int j = 0; j < numCompetitors; j++) {
                    for (World w : worlds) {
                        if (i != j) {
                            System.out.println("Playing game " + (++gameCounter) + " of " + totalMatches);
                            playMatch(i, j, w, gui, gameCounter, totalMatches);
                            //System.out.println("Playing game " + (gameCounter++ + 1) + "b");
                            //playMatch(j, i, copy, gui);
                        }
                    }
                }
            }
            return winnersList = declareWinner(); //then give this to the user somehow (GUI?)
        } else {
            //return error or throw exception etc. need at least 2 brains for competition
            System.out.println("Must have at least 2 ant brains to start a tournament!");
            return null;
        }
    }