Идея:
1) собирать информацию о часовом поясе участника
2) распределить участников в группы согласно например следующему правилу:
Модуль разницы часовых поясов любых двух участников в группе не превышает 3 (цифру можно проголосовать перед стартом турнира, или подобрать организатором чтобы группы были нужного количества)
3) Тех кто образует группы недостаточного количества, объединить в одну группу и попросить предоставить информацию об возможных для каждого интервалах времени для проведения игр
4) из групп определенных во втором пункте сформировать игровые группы рандомайзом, если количество в группах все же не позволяет делить их ровно, то попавших в неполные группы отнести к группе из 3 пункта и попросить их расширенную информацию о возможном времени игры как и участников 3 группы
5) из участников 3 группы сформировать группы вручную используя расширенную информацию, возможно придется исключить часть участников из-за не возможности принятия ими участия в турнире
6) добрать группы сформированные в 5 пункте
В результате получим несколько пулов групп можно назвать их конференциями (по аналогии с НБА ...), соответственно игры проходят сначала в рамках конференции пока там не определится пара в ветках победителей и проигравших после чего они участвуют в игре большей и ближайшей по времени конференции.
Ну как то так
