tournament-js / tournament

A tournament base class for static tournament types
MIT License
64 stars 13 forks source link

Custom limits and crossover matches #6

Closed clux closed 11 years ago

clux commented 11 years ago

The limit option, regarding how we plan to do multi-stage tournaments is a bit problematic.

One one hand, it allows us to disallow certain final match scores by saying that we NEED to determine a top X here (if we allowed X and X+1 to ties then we would be picking top X a bit randomly). So we will simply say that you HAVE to score it this way, either by setting this match condition yourself (somehow) or by having tiebreakers outside the actual match structure.

The second is a bit annoying, but at least we have made it a little better for the people who can apply such constraints to their final matches.

Unfortunately, limit cannot (in current state) be set to any number. For FFA we need to pick a top X where X can only be a multiple of the number of games in the final round so we don't have to choose only some of the people placing 2nd for instance as there is no (good) way of judging whether one 2nd placer is better than another when they are in different matches (match score is not sufficient if the matches are differently skilled). Thus, if there was 2 final round matches, and you want top 5 (say) then this would not work because we'd have to pick one of the 3rd placers.

Now we could generate automatic crossover matches and let the two 3rd placers duel (whether or not this is actually carried out is up to the organizer, but at least the match shell is there). But this is actually a bit problematic with the current philosophy that we can rewrite history.

If we allow history rewrites, it would now change who's in the crossover match (or group if there's more than 2 to fight for the spot), so this seems really difficult to me right now.

Anyone with some bright ideas?

clux commented 11 years ago

Since GroupStage preferred going down the route of having a separate entity wrapped around the tournament instead of coupling everything suboptimally, I think the same is going to be true for FFA.

That is, limits in FFA are perfect for 99% of use cases, and at the moment there is no-one to do the work to get cross-over (Double Elimination like functionality for FFA) to work. And to make it work nicely may ultimately be a nightmare.