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

Double elimination #2

Open
baldvinhansson opened this issue Aug 2, 2024 · 3 comments
Open

Double elimination #2

baldvinhansson opened this issue Aug 2, 2024 · 3 comments

Comments

@baldvinhansson
Copy link

First of all, thank you for the amazing work done so far! Have you ever considered rendering a double elimination bracket? Or is this perhaps already implemented? I'm fiddling with this library, which I have to say is the most promising implementation of brackets I've seen, but am somewhat lost in getting this to work for double elimination. Any hints or comments are very welcome.

@sbachinin
Copy link
Owner

At the moment bracketry has no built-in solution for double elimination.
Also I believe there are different kinds of dbl elimination tournaments so it will be difficult to handle all such cases.
The only thinkable solution now I think is to create lots of empty branches before the losers' slots.
Though I doubt that the result will be very beautiful.
I'll think if it's possible to gracefully hide such empty branches but I'm afraid it's very unlikely.
As for the single elimination tournaments, I can assure you that bracketry is indeed the most (and perhaps the only) robust solution.

@sbachinin
Copy link
Owner

Here is what can be done relatively easily for double elimination:
A separate losers bracket that is visualized as a normal symmetrical tree but where branches join not after every match but after every second match:
dbl elim1

This is based on the bracket from wikipedia article about dbl elimination:

NSB-doubleelim-draw-2004

As displayed in the second image, losers bracket is tricky to implement because it's asymmetrical (new losers arrive "from nowhere"). The first image reflects the same tournament structure in a more programmable way. Such bracket hopefully can be easily derived from what we already have in Bracketry.

So this can be implemented but first I'd like to understand how much value will it bring.
Problems are:

  1. I have yet no idea how to join such losers bracket to winners without much complexity. So for now I'm only talking about a separate losers bracket. Therefore to visualize such tournament you will need 2 brackets, 1 for winners and 1 for losers, and then somehow show 2 final matches (perhaps without using Bracketry). Does it sound like a viable solution?
  2. AFAIK there are many kinds of dbl elimination tournaments. Is this one from wikipedia picture the most common type of dbl elimination? How much tournaments have this structure?

@baldvinhansson
Copy link
Author

Thank you for the interesting observations and ideas! I'll look into this and see how we might be able to take this further. As for how to join the two, the solutions we've considered so far rely on a third bracket which is used as a destination from both the winners and losers brackets. Regarding different types of double elimination, we almost always use this type: https://www.printyourbrackets.com/16seededdouble.html which has so far been universally accepted by the competitors. It's seeded with results from qualifying in our case.

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