Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to handle multiple stages (round robin then elimination stage) #206

Open
AnthonyCouval opened this issue Apr 1, 2024 · 4 comments
Open

Comments

@AnthonyCouval
Copy link

AnthonyCouval commented Apr 1, 2024

Hello !

I need to create a tournament with two stages, it's a tournament like a football world cup you know. Groups then elimination stage where the two first of each group are qualified.
So I have few questions because I've seen that the documentation isn't finished yet and I didn't have time to look at the code in detail.

Should I create the two stages at the same time or should I wait the end of the round robin stage then create the second stage ?
How do I create the second stage and tell it to take the first two in each group for the seeding ?
How set that the two first (or other number) of each group will be qualified when I create the first round robin stage ?
How get the qualified teams of a round robin stage when all matchs are over ?

Keep up the good work, I like your library !

@Drarig29
Copy link
Owner

Drarig29 commented Apr 3, 2024

Hey @AnthonyCouval! Thank you 🙇

I think the transition from a round-robin stage to an elimination stage can be made in a lot of different ways. So I fear it would be too complex to have a one-size-fits-all solution.

And I prefer not to add new features to the library... for now I try to maintain what's existing when I have the time.

What I did in another project is that whenever you mark a match as completed by setting its results (in round-robin), you also check if no matches are remaining.

If no tests are remaining, then you are at the end of the first stage, and you can create a - or fill an existing - second stage.

@AnthonyCouval
Copy link
Author

AnthonyCouval commented Apr 3, 2024

Ok thanks !
But there is still one problem to solve 😏
When the first stage is over, how I get the qualified teams of the round-robin stage ? I see the get.finalStandings() method but when I try to use it I have this error "A round-robin stage does not have standings."

@Drarig29
Copy link
Owner

Drarig29 commented Apr 4, 2024

Yes, by standings, I mean 1st, 2nd and 3rd place. What you want is something I'd call a ranking.

And the issue is that you can compute a ranking in very different ways: do you want to sort by win - loss? Or only by win? Or by some average?

I actually have a github issue already open for that, but I never did because of this exact difficulty:

So you'll probably have to implement it yourself 😕

@AnthonyCouval
Copy link
Author

Yes, last night I did the ranking for the round robin, it gives me the n-first of each group.

There should be many options for the round robin, to choose how many qualifiers you want per group or like you said others differents ways to get qualified teams.

Fortunately, it's quite easy to add things by my own because the library is well coded, so it's to bad you not continue the dev.
By the way having a busy job myself, I completely understand.

We are developping many tools for Counter Strike 2, be sure you will be mentionned as a contributor.

Thanks for your precious help Drarig !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants