So for a single bracket, rematches are avoided using a cycle of drop down orders. This has always been the case on smashgg. We’ll start to see some actual changes when we start considering more complicated events.

Multi-Phase Events

Now that we’ve seen the simplest possible case for an event, let’s go a little deeper and build out the event shown in the example diagram at the top of this section — 4 Pools into a top 32 into a top 8.

Preserving Seeding Across Phases

Seeds placed in different pools in a phase are snaked throughout those pools. The following graphic explains the concept using the “Pools” phase.

Seeds snaking across the four pools in the “Pools” phase

In the above example, the top seed in the phase (Seed1) starts in the top left and the seeds progress to the right along the orange arrow. When the last pool is reached, the seeds then continue to the left along the blue arrow.

Snaking seeds across pools creates the most balanced pools, but how does it interact with progressions?

Previously, pool snaking, progressions, and seeding for the next phase did not play together all too well. Let’s look at the before and after.

Old progressions — Projected top 32 seeding from “Pools” phase. Showcases seed mismatches

The above image shows the old method of moving seeds from one phase to the next. As can be seen, the snaking order is lost in translation. The phases are iterated through sequentially and the previous seed ordering is not maintained.

Please note that in our old system this did not necessarily translate to bad brackets. There was logic during bracket generation that made it so that previous matchups would be maintained and although the seeds were wrong, the matchups may have been correct. That said, it was definitely an issue and needed fixing.

New progressions — Projected top 32 seeding from “Pools” phase

The above image shows the new method of moving seeds from one phase to the next. The result this time is the exact same seed ordering as in the previous phase.

From now on, when setting up an event, the projected seeding for future phases progressed into should always follow the same order as the seeding of the previous phase.

Losers Bracket Generation

Another change made in the recent bracket release is how losers brackets are generated. Previously when players started in losers bracket, the losers and winners brackets would be generated individually and the losers drop order described in an earlier section would be carried over from the previous bracket. This method was not only complicated, but was also prone to creating double jeopardy.

Losers bracket generation has been greatly simplified by initially starting everyone in winners according to their seed. In other words, a standardly seeded winners bracket is generated with a normal losers bracket initially containing no players. From there the sets are visited in order and players that are supposed to start in losers are dropped down to losers in the same manner as a set loss. The result of this is a bracket that is always “normalized” in terms of seeding. And for a standard power of 2 pools feeding into a single bracket, this will always generate what is known as a continued bracket.

Assuming no upsets, the above bracket avoids rematches. Even though the pools continue playing each other, the matches should not cause rematches because the winners will be dropping into losers in such a way that they are matched up against players from other pools.

Unfortunately, this was not good enough for a few reasons:

In the case of round-robin to double-elimination, people playing each other again in winners bracket feels a bit silly. Example In the case where there are floated entrants, generating a normalized bracket can in fact create early rematches. Example In the case of upsets, continued brackets can cause very early double-jeopardy. Example

Clearly something else was required.

Same-Pool Avoidance

Really the only solution to the problems described at the end of the previous section is to de-normalize the bracket. In other words, either the seeding needs to change to avoid potential conflicts or the locations where the seeds go needs to change to accomplish the same. There are some benefits in keeping the seeding intact so we opted to go with the latter. The players maintain the same seeds but are placed in non-normal locations. The question remained though — how do the players get moved?

It wasn’t until a tweet to @killahertz_ that this part of the system was really unblocked. Jesse, ex-tournament organizer and the head behind the Nebulous tournament series, spoke of splitting brackets into clusters and swapping players. The discussion helped kick off the following algorithm.